1.5.17: chroot-ed make adds // to ${MAKE}

2005-06-14 Thread Rolf Campbell
I'm trying to do a chroot-ed make which uses the content of the ${MAKE} 
variable.  What I'm finding is the value of ${MAKE} has two slashes '//' 
at the beginning, so any attempt to use it failes (looks like a network 
share).


I've created a directory, expanded cygwin-1.5.17-1.tar.bz2 into it, then 
copied make.exe (from the cygwin package).  And a few other dlls that 
were needed by cygwin1.dll (intl/conv).  When I run:


$ chroot . usr/bin/make.exe all
echo //usr/bin/make
make: echo: Command not found
make: *** [all] Error 127

I know that that error code has to do with echo.exe not existing, but 
I'm only concerned with the extra '/' added to ${MAKE}.  My makefiles 
that run sub-makes use it and fail.


--makefile--

all:
echo ${MAKE}

Cygwin Configuration Diagnostics
Current System Time: Tue Jun 14 14:46:07 2005

Windows XP Professional Ver 5.1 Build 2600 Service Pack 2

Path:   C:\cygwin\usr\local\bin
C:\cygwin\bin
C:\cygwin\bin
C:\cygwin\usr\X11R6\bin
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
C:\Program

Output from C:\cygwin\bin\id.exe (nontsec)
UID: 11643(rcampbell)GID: 10513(Domain Users)
0(root)  544(Administrators)  545(Users)
10513(Domain Users)

Output from C:\cygwin\bin\id.exe (ntsec)
UID: 11643(rcampbell)GID: 10513(Domain Users)
0(root)  544(Administrators)  545(Users)
10513(Domain Users)

SysDir: C:\WINDOWS\system32
WinDir: C:\WINDOWS

USER = `rcampbell'
PWD = `/tmp/cyg'
HOME = `/home/rcampbell'
MAKE_MODE = `unix'

HOMEPATH = `\Documents and Settings\rcampbell'
MANPATH = 
`/usr/local/man:/usr/man:/usr/share/man:/usr/autotool/devel/man::/usr/ssl/man'
APPDATA = `C:\Documents and Settings\rcampbell\Application Data'
HOSTNAME = `desk-rcampbell2'
TERM = `xterm'
PROCESSOR_IDENTIFIER = `x86 Family 15 Model 3 Stepping 3, GenuineIntel'
WINDIR = `C:\WINDOWS'
WINDOWID = `4819272'
OLDPWD = `/tmp'
USERDOMAIN = `TROPICNETWORKS'
OS = `Windows_NT'
ALLUSERSPROFILE = `C:\Documents and Settings\All Users'
TEMP = `/tmp'
COMMONPROGRAMFILES = `C:\Program Files\Common Files'
USERNAME = `rcampbell'
PROCESSOR_LEVEL = `15'
FP_NO_HOST_CHECK = `NO'
SYSTEMDRIVE = `C:'
USERPROFILE = `C:\Documents and Settings\rcampbell'
CLIENTNAME = `Console'
PS1 = `\[\e]0;[EMAIL PROTECTED] \[\e[33m\]\w\[\e[0m\]\n\$ '
LOGONSERVER = `\\EXCHANGE'
PROCESSOR_ARCHITECTURE = `x86'
SHLVL = `1'
COLORFGBG = `0;default;15'
TROPIC_UNIQUE_ID = `156'
USERDNSDOMAIN = `TROPICNETWORKS.COM'
PATHEXT = `.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH'
HOMEDRIVE = `C:'
COMSPEC = `C:\WINDOWS\system32\cmd.exe'
TMP = `/tmp'
SYSTEMROOT = `C:\WINDOWS'
PRINTER = `\\spooler\135MC-4th'
CVS_RSH = `/bin/ssh'
PROCESSOR_REVISION = `0303'
INFOPATH = 
`/usr/local/info:/usr/info:/usr/share/info:/usr/autotool/devel/info:/usr/autotool/stable/info:'
PROGRAMFILES = `C:\Program Files'
DISPLAY = `:0'
COSMIC = `t'
NUMBER_OF_PROCESSORS = `2'
SESSIONNAME = `Console'
P4CONFIG = `.p4config'
COMPUTERNAME = `DESK-RCAMPBELL2'
COLORTERM = `rxvt-xpm'
_ = `/usr/bin/chroot'
POSIXLY_CORRECT = `1'

HKEY_CURRENT_USER\Software\Cygnus Solutions
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\Program Options
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2
  (default) = `/cygdrive'
  cygdrive flags = 0x0022
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/
  (default) = `C:\cygwin'
  flags = 0x000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/a
  (default) = `A:'
  flags = 0x000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/bin
  (default) = `C:\cygwin\bin'
  flags = 0x004a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/bin/cygcheck
  (default) = `C:\cygwin\bin\cygcheck'
  flags = 0x001a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/bin/cygcheck.exe
  (default) = `C:\cygwin\bin\cygcheck.exe'
  flags = 0x001a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/bin/strace
  (default) = `C:\cygwin\bin\strace'
  flags = 0x001a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/bin/strace.exe
  (default) = `C:\cygwin\bin\strace.exe'
  flags = 0x001a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/c
  (default) = `C:'
  flags = 0x000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/d
  (default) = `D:'
  flags = 0x000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin
  (default) = `C:\cygwin\bin'
  flags = 0x000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin/cygcheck
  (default) = `C:\cygwin\bin\cygcheck'
  flags = 0x001a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts 
v2\/usr/bin/cygcheck.exe
  (default) = 

Re: 1.5.17: chroot-ed make adds // to ${MAKE}

2005-06-14 Thread Rolf Campbell

Rolf Campbell wrote:
 I'm trying to do a chroot-ed make which uses the content of the ${MAKE}
 variable.  What I'm finding is the value of ${MAKE} has two slashes '//'
 at the beginning, so any attempt to use it failes (looks like a network
 share).

 I've created a directory, expanded cygwin-1.5.17-1.tar.bz2 into it, then
 copied make.exe (from the cygwin package).  And a few other dlls that
 were needed by cygwin1.dll (intl/conv).  When I run:

 $ chroot . usr/bin/make.exe all
 echo //usr/bin/make
 make: echo: Command not found
 make: *** [all] Error 127

 I know that that error code has to do with echo.exe not existing, but
 I'm only concerned with the extra '/' added to ${MAKE}.  My makefiles
 that run sub-makes use it and fail.

 --makefile--

 all:
 echo ${MAKE}

I tried to over-ride the MAKE (and MAKE_COMMAND) variable from the 
command line, which fixed this specific problem, but I'm left with 
another problem.  Even if you override MAKE and MAKE_COMMAND, you still 
get an error:


$ chroot . usr/bin/make.exe -Rr all MAKE=/usr/bin/make.exe 
MAKE_COMMAND=/usr/bin/make.exe

makefile:4: m.mk: No such file or directory
echo t  m.mk
make: //usr/bin/make: Command not found

You can specify chroot . /usr/bin/make.exe ... and it will work, but 
it should also work without that leading slash.



--makefile--
all:
echo ${MAKE}

include m.mk

m.mk:
echo t  m.mk


--
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple
Problem reports:   http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ:   http://cygwin.com/faq/