On Sun, 14 Jun 1998 11:39:30 -0500 (CDT), [EMAIL PROTECTED] wrote: >On 14 Jun, Zack Weinberg wrote: >> >> It looks to me as if the gcc drivers aren't doing anything wrong. But >> this is a big fat clue: >> >>>ld: warning: libm.so.6, needed by /usr/lib/libstdc++.so, may conflict with l >ib >>>m.so.5 >>>ld: warning: libc.so.6, needed by /lib/libm.so.6, may conflict with libc.so. >5 >> >> The linker called by gcc/g++ 2.7 is attempting to link your program >> with the crt1.o from libc6 but the dynamic library from libc5. That >> implies you have strange environment variable settings or mangled >> linker config files. egcc has a wrapper for ld which is smart enough >> to straighten this out. >> > >% cat /etc/ld.so.conf
ld.so.conf is unrelated. >% ld --verbose >GNU ld version 2.9.1 (with BFD 2.9.1) > Supported emulations: > elf_i386 > i386linux >using internal linker script: >================================================== >OUTPUT_FORMAT("elf32-i386", "elf32-i386", > "elf32-i386") >OUTPUT_ARCH(i386) >ENTRY(_start) >SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR >(/ >usr/i486-linux/lib); > >Hmmm. I don't even have a /usr/i486-linux/lib directory!! It's a hook for if you want to do cross compilation. Don't worry about it. I bet you have spurious library symlinks in /lib or /usr/lib. For a normal library, like libm, the only files that should exist are /usr/lib/libm.so -> /usr/lib/libm.so.6 /usr/lib/libm.so.6 -> /usr/lib/libm-2.0.7.so /usr/lib/libm-2.0.7.so /usr/lib/libm.a The C library is a little weird, because the real thing lives in /lib and libc.so is a file. That should be set up like this: /usr/lib/libc.so /lib/libc.so.6 -> /lib/libc-2.0.7.so /lib/libc-2.0.7.so /usr/lib/libc.a Alongside this will be the files for libc5, which will be like this: /lib/libc.so.5 -> /usr/lib/libc.so.5.4.44 /usr/lib/libm.so.5 -> /usr/lib/libm.so.5.4.44 /usr/lib/libc.so.5.4.44 /usr/lib/libm.so.5.4.44 /usr/lib/libc5-compat/libc.so -> /lib/libc.so.5 /usr/lib/libc5-compat/libm.so -> /usr/lib/libm.so.5 /usr/lib/libc5-compat/libc.a /usr/lib/libc5-compat/libm.a (The shared libraries -- libc.so.5.4.44 -- may also be in libc5-compat; I don't have a debian 2.0 system here to check on.) The key thing here is that the libfoo.so links need to point to the libc6 libraries. Check that there is no /lib/libc.so link. In fact, there should probably be no xyz.so files in /lib at all, except /lib/ld.so. (xyz-2.0.7.so files are ok.) Check that /usr/lib/libm.so points at /usr/lib/libm.so.6. >% /lib/libc.so.6 >GNU C Library production release version 2.0.7, by Roland McGrath et al. >Compiled by GNU CC version 2.7.2.3. Hmf, I guess Uli backported that to the 2.0 release. Your /usr/lib/libc.so is fine then. zw -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]