delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1999/09/14/12:43:08

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT sourceware DOT cygnus DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT sourceware DOT cygnus DOT com>
List-Archive: <http://sourceware.cygnus.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sourceware DOT cygnus DOT com>
List-Help: <mailto:cygwin-help AT sourceware DOT cygnus DOT com>, <http://sourceware.cygnus.com/ml/#faqs>
Sender: cygwin-owner AT sourceware DOT cygnus DOT com
Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com
X-Authentication-Warning: pluto.xraylith.wisc.edu: khan owned process doing -bs
Date: Tue, 14 Sep 1999 10:33:47 -0500 (CDT)
From: Mumit Khan <khan AT xraylith DOT wisc DOT EDU>
Reply-To: Mumit Khan <khan AT xraylith DOT wisc DOT EDU>
To: Kai Henningsen <kai AT cats DOT ms>
cc: cygwin AT sourceware DOT cygnus DOT com
Subject: Re: GCC
In-Reply-To: <E11QoD4-0006k0-00@charlotte.intern.cats.ms>
Message-ID: <Pine.HPP.3.96.990914112901.27509A-100000@hp2.xraylith.wisc.edu>
MIME-Version: 1.0

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=</path/to/my/favorite/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 AT sourceware DOT cygnus DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019