From: kris AT wren DOT rpms DOT ac DOT uk (Kris Thielemans) Subject: LIBRARY_PATH problems 15 May 1998 20:41:43 -0700 Message-ID: <001301bd7fe6$ce643040$1d40b392.cygnus.gnu-win32@petnt1.rpms.ac.uk> References: Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit To: "Mumit Khan" Cc: "Gnuwin" Hi Mumit, (I forward this to the list now as I can be more specific now) I'm using egcs 1.0.2 (on Cygwin b19.1), on a NT 4.0 sp3 machine. Using the LIBRARY_PATH variable has apparently a problem when the specified directory is not on the c: drive (probably this should read "on the drive mounted as /"). I did the following: 1) - copy a library (I'll take libX11.a as example) to c:\ll - LIBRARY_PATH=/ll - gcc -lX11 finds the library correctly - remove c:\ll\*, but keep the (empty) directory 2) - copy that library to d:\ll - LIBRARY_PATH=//d/ll or d:/ll or /home/ll (as I have d:\ mounted as /home) or even or d:\ll - gcc -lX11 does not find the library in any of these 4 cases - running gcc with the -v option shows that an option -L/ll (or -L\ll in the last case) is passed to ld, that is, the drive letter is simply discarded (after some processing of mount tables and //d syntax). (Note that you'll see this only when you have c:\ll present) - gcc -lX11 -L$LIBRARY_PATH works in all 4 cases 3) I tried similar things with more complicate paths (and mountings). The result is always the same: gcc strips (only) the drive letter from the path given in LIBRARY_PATH. I hope this is reproducible (and clear enough). Kris PS: an example (where I've added the *** in the output of gcc to guide your eye, silly lines breaks are because I copy paste from an NT window). bash-2.01$ LIBRARY_PATH=//d/ll bash-2.01$ gcc -v -lX11 Reading specs from d:\Cygnus\B19\H-i386-cygwin32\lib\gcc-lib\i386-cygwin32\egcs-2.90.27\specs gcc version egcs-2.90.27 980315 (egcs-1.0.2 release) d:\Cygnus\B19\H-i386-cygwin32\lib\gcc-lib\i386-cygwin32\egcs-2.90.27\../../. ../../i386-cygwin3 2\bin\ld.exe d:\Cygnus\B19\H-i386-cygwin32\lib\gcc-lib\i386-cygwin32\egcs-2.90.27\../../. ../../ i386-cygwin32\lib\crt0.o -Ld:\Cygnus\B19\H-i386-cygwin32\lib\gcc-lib\i386-cy gwin32\egcs-2.90.2 7 -Ld:\Cygnus\B19\H-i386-cygwin32\lib\gcc-lib ***-L\ll *** -Ld:\Cygnus\B19\H-i386-cygwin32\lib\gcc-li b\i386-cygwin32\egcs-2.90.27\../../../../i386-cygwin32\lib -Ld:\Cygnus\B19\H -i386-cygwin32\lib \gcc-lib\i386-cygwin32\egcs-2.90.27\../../.. -lX11 -lgcc -lcygwin -lkernel32 -ladvapi32 -lshel l32 -lgcc /usr/H-i386-cygwin32/i386-cygwin32/bin/ld.exe: cannot open -lX11: No such file or directory bash-2.01$ mount Device Directory Type Flags d:\Cygnus\B19 /usr native text=binary d: /home native text!=binary \\.\tape1: /dev/st1 native text!=binary \\.\tape0: /dev/st0 native text!=binary \\.\b: /dev/fd1 native text!=binary \\.\a: /dev/fd0 native text!=binary c: / native text!=binary - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".