From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mumit Khan To: Kai Henningsen Cc: cygwin@sourceware.cygnus.com Subject: Re: GCC Date: Thu, 30 Sep 1999 23:42:00 -0000 Message-ID: References: X-SW-Source: 1999-09n/msg00163.html Message-ID: <19990930234200.K2-kvIM2o8GTNshriu2KDvmhzjwg0Y6C0UTo2FxYf5A@z> On Tue, 14 Sep 1999, Kai Henningsen wrote: [ fyi, I've trimmed the To: and Cc: lists ] > > Hmm. Thinking about it, one of the things I think I did shortly before > the problem was adding /bin in front of the path, which points here: > > bash-2.02$ mount > Device Directory Type Flags > f:\cygnus\cygwin-b20\H-i586-cygwin32\bin /bin user binmo > de > e: / user binmode > bash-2.02$ > > And the cpp crash I looked most into was just typing "cpp" at the > bash prompt. Thanks for this piece of information, which makes everything clear. And there's your problem. The way GCC (both Cygnus' and my versions) finds where to look for subprograms (eg., cpp.exe, cc1.exe), includes and libraries is the following: 1. find where the executable lives. eg., if you invoke gcc.exe as `gcc', it'll search through path and find /bin; if you invoke it complete pathname, it'll also find /bin. 2. Now, find everything relative to the parent directory of the bin directory, ie., /bin/.. 3. Look for specs and so on using the prefix '/bin/../' Now you see why it will fail. If you're going to mount /bin only this way, you'll (1) also either have to mount everything else symmetrically like on Unix, (2) use GCC_EXEC_PREFIX to point to the installation. Cygwin b20.1 handling of relative pathnames is broken, but good news is that it's fixed in b21 thanks to cgf's rewrite of path handling code. Here's the workaround for you: $ export PATH=/cygdrive/f/cygnus/cygwin-b20/H-i586-cygwin32/bin:/bin:$PATH Your problem shows up since your installation is on F: drive, and that's why I didn't catch it the first time. btw, a better way to run configure is not to fake it into looking into another directory for the proper shell, but the following: $ CONFIG_SHELL= /src/dir/configure [options] eg., on HP-UX, it's common to the following: $ CONFIG_SHELL=/bin/posix/sh /src/dir/configure [options] and on Cygwin: $ CONFIG_SHELL=bash /src/dir/configure [options] I also tend to use SHELL variable with make, if Makefiles don't already have it in there. $ make SHELL=bash all Regards, Mumit -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe@sourceware.cygnus.com