error while loading shared libraries: cannot open shared object file: No such file or directory

Noel Yap
Tue Nov 1 01:30:00 GMT 2005

OK, I read the FAQ and it says the following:

  Yet another option, that works on a few platforms, is to hard-code
the full pathname of the library into its soname. This can only be
accomplished by modifying the appropriate .ml file within
libstdc++/config (and also libg++/config, if you are building libg++),
so that $(libdir)/ appears just before the library name in -soname or
-h options.

But I don't see any .ml files in these directories nor anything with
the text "soname".  Does anyone have any idea how to do the above?


On 10/31/05, Noel Yap <> wrote:
> First, some info:
> yapn:eng@yapn:~/proj/aoeu> g++ --verbose
> Using built-in specs.
> Target: i686-pc-linux-gnu
> Configured with: ../gcc-4.0.2/configure
> --prefix=/home/yapn/.mrm-vista/common/org/fsf/gcc/4.0.2
> --exec-prefix=/home/yapn/.mrm-vista/kernel/processor/org/fsf/gcc/4.0.2
> --enable-__cxa_atexit --enable-languages=c,c++,java
> --enable-version-specific-runtime-libs
> --with-gxx-include-dir=/home/yapn/.mrm-vista/common/org/fsf/gcc/4.0.2/include
> Thread model: posix
> gcc version 4.0.2
> When I build an executable with this g++, it's not able to load in
> libstdc++; there's no run path at all.  What do I need to do to get
> g++ to create the correct run path automatically?  Or do I need to
> specify explicitly the run path each time I use g++?
> Thanks,
> Noel

More information about the Gcc-help mailing list