Re: Multiple GCC and multiple sets of shared libraries

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

 



Hi John:
 Unfortunately, I still failed.

  My gcc-2.96 is now located in /usr/local/redhat-7.3/usr/bin/gcc.
All share libraries clonned from redhat 7.3 are now in
/usr/local/redhat-7.3/lib.

Then I have a testing program named test.c:

#include <stdio.h>
#include <pthread.h>

static pthread_cond_t cond;
int main(int argc, char *argv[])
{
      pthread_cond_init(&cond, NULL);
      return 0;
}

  Then I compile test.c using the following command:
/usr/local/redhat-7.3/usr/bin/gcc -Wl,-rpath,/usr/local/redhat-7.3 -o
test test.c -lpthread

  And then this binary executable cannot be executed in a real RedHat
7.3 environment because "./test: /lib/i686/libpthread.so.0: version
`GLIBC_2.3.2' not found (required by ./test)".

  Apparently, when compiling, /lib/i686/libpthread.so.0 is used, instead
of /usr/local/redhat-7.3/lib/i686/libpthread.so.0.

  Where do I go wrong? anybody please?



2006/8/11, John Love-Jensen <eljay@xxxxxxxxx>:
Hi Joe,

"GCC 2.96" is not a GCC release.  It is a Red Hat release, and not supported
by GCC.

You may have better luck getting your question answered on a Red Hat forum
that supports 2.96.

That being said, your question does not strike me as particular to 2.96, but
rather a generic Linux linker & loader question.

You may want to investigate the linker -rpath switch (used via
-Wl,-rpath,/usr/local/gc/2.96 by the gcc toolchain driver), which can be
used to bake in the desired shared library path into your application.

Note for the paranoid:  there is potential for a security hole, especially
if using relative paths.

There may be other caveats, such as which path has precedence and such, that
you'll want to double-check.

HTH,
--Eljay




--
The sun is shinny but the ice is slippery.

[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