Denis Onischenko <denis.onischenko@xxxxxxxxx> writes: >> What version of gcc are you using? > > I am trying to compile version 4.4.1. Host gcc has the same version. > >> Exactly how did you run the configure script? > > I run the configure script as follows: > ../src/configure --build=x86_64-unknown-linux-gnu > --host=x86_64-unknown-linux-gnu --target=powerpc64-unknown-linux-gnu > --prefix=$(BUILDDIR)/cross-tools --disable-werror --disable-checking > --with-sysroot=$(SYSROOT) --enable-languages=c,c++ --disable-multilib > --disable-nls >> The -B option tells gcc where to find passes, but it does not normally >> tell the dynamic linker where to find shared libraries. Something is >> causing the dynamic linker to think that it should use >> /a/linux/.powerpc/gcc/obj/./gcc/libgcc_s.so.1 rather than >> /lib/libgcc_s.so.1. Is it possible that you have LD_LIBRARY_PATH set >> in the environment? >> > > No, I checked, LD_LIBRARY_PATH is not set in the environment. > > It seems that this error occurs when the host gcc has same version as > version of compiled cross-gcc, because I have also tried the > following: > - compile sysroot cross compiler (x86_64 -> x86_64) version 4.5. > - compile minimum linux system (including gcc) using that compiler > - when in this new system I am trying to compile another cross > compiler (x86_64->powerpc64) the same error is occurs, but caused by > /bin/sh instead cc1, because bash was linked with same version of > libgcc_s.so.1. As in the first case, the error occurs immediately > after the appearance libgcc_s.so.1 in the obj/gcc directory. > > I've successfuly compiled cross-gcc by adding the -disable-shared > option, but I would not want to abandon the shared gcc libraries There is something peculiar going on, because a x86_64-unknown-linux-gnu hosted compiler would not normally refer to libgcc_s.so.1 at all. Even if it did, nothing would normally direct the dynamic linker to look in the gcc build directory. Something is wrong but I don't know what it is. Ian