This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See crosstool-NG for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi Titus, On 09/15/2017 04:33 AM, Titus von Boxberg wrote:
Well, I think this placement is not correct. I am not sure if they did any hacks to GCC to search /bin for libraries - but this obviously breaks any other scripts which assume /lib as the library directory.Alexey, all, on opensuse linux, I'm trying to build an arm-none toolchain for host mingw-w64 with a fairly recent crosstool-NG. As the build machine compiler I'm using gcc-7.2 from opensuse package https://build.opensuse.org/package/show/windows%3Amingw%3Awin64/mingw64-cross-gcc Everything is going smooth except that in the build step for the final gcc libtool refuses to generate the liblto_plugin-0.dll The command line is: ./libtool --tag=CC --tag=disable-static --mode=link x86_64-host_w64-mingw32-gcc -Wall -O2 -g -pipe -I/home/ELBE/titus/tmp/m32-ctng-m7/.build/HOST-x86_64-w64-mingw32/arm-m7-eabi/buildtools/complibs-host/include -Os -D__USE_MINGW_ACCESS -Wc,-static-libgcc -no-undefined -bindir "/opt/cross/arm-m7-eabi/bin" -module -bindir /opt/cross/arm-m7-eabi/libexec/gcc/arm-m7-eabi/7.2.0 -Wc,../libiberty/libiberty.a -Xcompiler '-static-libstdc++' -Xcompiler '-static-libgcc' '-L/home/ELBE/titus/tmp/m32-ctng-m7/.build/HOST-x86_64-w64-mingw32/arm-m7-eabi/buildtools/complibs-host/lib' '-lstdc++' '-lm' '-Wl,--stack,12582912' -o liblto_plugin.la -rpath /opt/cross/arm-m7-eabi/libexec/gcc/arm-m7-eabi/7.2.0 lto-plugin.lo The message is: *** Warning: linker path does not have real file for library -lstdc++. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have *** because I did check the linker path looking for a file starting *** with libstdc++ but no candidates were found. (...for file magic test) *** Warning: libtool could not satisfy all declared inter-library *** dependencies of module liblto_plugin. Therefore, libtool will create *** a static module, that should work as long as the dlopening *** application is linked with the -dlopen flag. libtool is looking into these paths: /home/ELBE/titus/tmp/m32-ctng-m7/.build/HOST-x86_64-w64-mingw32/arm-m7-eabi/buildtools/complibs-host/lib /usr/x86_64-w64-mingw32/lib /usr/x86_64-w64-mingw32/sys-root/mingw/lib I found that the opensuse c++ runtime package installs libstdc++-6.dll into the bin directory of the sysroot /usr/x86_64-w64-mingw32/sys-root/mingw/bin When manually copying libstdc++-6.dll into the sysroot's lib directory, libtool is happy. Any ideas where to look to get this fixed reliably?
I assume they did that so that the /bin directory, when copied to the host, could find this DLL. Maybe they should provide a symlink in /lib then. Anyway, it is a problem with opensuse's package and I don't see what we can do here in crosstool-NG to remediate this.
You can try the mingw compiler from crosstool-NG by the way, I think it uses conventional placement of the libraries.
Regards, Alexey.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |