booleandomain wrote: > Andi Hellmund wrote: >>> The problem is that all the binaries/libraries installed in "tools" >>> are linked against the libraries in the host system. All I want to do >>> now is to break this link and make the system contained in "tools" >>> self-sufficient. In other words, I'd like to recompile binutils and >>> gcc so that they link to the libraries installed in "tools" itself. >>> >> To accomplish your task you should use the -L and -Wl,-rpath option to >> rebuild binutils and gcc. The -L option specifies which library paths >> should be used by gcc during linking - this would then select your >> libraries in the "tools" directory when gcc/collect2/ld searches for >> unresolved symbol references. As a note: this is only used during >> compilation/linking. If you now run the ldd command on the executable, >> you'll see that the default (host) system libraries will still be used >> at runtime. To get around this, -Wl,-rpath specifies which paths should >> be searched by the runtime linker. > > First of all thanks for the answer. > > I tried to compile binutils with the following configure options: > > CC="gcc -L/tools/lib -L/tools/lib32 -L/tools/lib64 -L/tools/libexec > -Wl,-rpath /tools/lib -Wl,-rpath /tools/lib32 -Wl,-rpath /tools/lib64 > -Wl,-rpath /tools/libexec" ../binutils-2.19.1/configure > --prefix=/tools --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu > --target=x86_64-pc-linux-gnu You used an incorrect syntax: -Wl,-rpath,<your_path> The last comma is important. You should also split the CC into CC="gcc" and CFLAGS="your C flags" > > but during make it says me: > > checking size of int... configure: error: in > '/mnt/sda2/tmp/lfs/sources/binutils/binutils-build/libiberty': > configure: error: cannot compute sizeof (int), 77 > See 'config.log' for more details. > Make[1]: *** [configure-libiberty] Error 1 > > I tried compiling gcc with similar configure options, but I obtain the > very same make error message. > > What's wrong? > > Thanks. > >