Re: Inconsistent library behaviour between gcc and g++

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andrew Haley wrote:
This should have been sent to gcc-help.  I'm redirecting this reply.

nahthan writes:
 > How can a self contained gcc and g++ be created such that behaviour between
 > gcc and g++ is consistent without having to set setting LD_LIBRARY_PATH?
> > Test system: Linux 2.4.32 #1 SMP Tue Aug 8 10:17:37 PDT 2006 i686 i686
 > i386 GNU/Linux
> > g++ breaks on libstdc++.so.*
 > gcc appears to be fine.

Because you have libc but not libstdc++.so.6 installed in /lib/.

If you have a look at the man page for ld.so you will see that it
looks in a number of pre-specified places for libraries.  If you put
libstdc++ in one of those it will be found.  Otherwise you'll need
either to set LD_LIBRARY_PATH or use the -rpath linker command.

 > Why am I forced to set the library path with g++ but not gcc?
 > This is inconsistent and confusing.  Why don't the resulting binaries look in
 > --with-local-prefix or --prefix library paths at runtime?

The binaries don't look anywhere: it's ld.so that does the lookup, and
it is not part of gcc.

You can add libraries to the loader search list.

See "man ldconfig".

--
Michael Eager	 eager@xxxxxxxxxxxx
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux