Re: Libtool does not generate shared libraries when cross compiling x86/64 -> sparc64 using fujitsu compiler
Christian Rössel <[email protected]>
| Newsgroups | gmane.comp.gnu.libtool.general |
|---|---|
| Message-ID | <[email protected]> |
On 2016-02-03 14:30, Harald Servat wrote: > > > On 02/02/2016 07:02 PM, Mike Frysinger wrote: >> On 02 Feb 2016 17:51, Harald Servat wrote: >>> we want to use libtool on a system on which we have to cross-compile >>> from intel x86/64 to sparc/64 using the Fujitsu compiler (fccpx). >>> Unfortunately, I'm unable to get libtool (version 2.4.2) to generate >>> shared libraries. >>> >>> I have written a very small libtool + autotools example and run the >>> following but I'm always getting the output shown below the commands. >>> Note, that the same works fine in a linux/x86-64 and I don't have to add >>> --enable-shared in that case, so I guess I don't need --enable-shared >>> either in these tests. >>> >>> COMMANDS: >>> >>> ./configure --prefix=/tmp/test CC=fccpx --host=x86_64 >>> ./configure --prefix=/tmp/test CC=fccpx --host=x86-64 >>> --target=sparc64 >>> ./configure --prefix=/tmp/test CC=fccpx --host=x86_64 >>> --target=sparc64-linux >> >> your flags are incorrect. you want --build=x86_64-linux-gnu and >> --host=sparc64-linux-gnu. please read this doc for more info: >> https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Hosts-and-Cross_002dCompilation.html >> >> -mike >> > > Thank you for the pointer Mike. > > we have found that > > ./configure --prefix=/tmp/test CC=fccpx --build=x86_64-linux-gnu > --host=sparc64-linux-gnu > > did not work. See: I usually don't provide --build and --host on Fujitsu/IBM Blue Gene/Cray cross-compile systems but explicitly pass 'cross_compiling=yes' to prevent the execution of configure-generated programs and the cross-compiler via CC. On these systems the cross-compilers don't honor the GNU naming conventions, so I don't see a value in passing --build and --host. Is there anything that I'm missing? I made some tests on a Fujitsu PrimeHPC FX10 system for C, C++, and Fortran with vanilla autoconf 2.69, automake 1.13.4, libtool 2.4.6. I succeed in building and installing shared libraries (minimal example and real project) with following configure options: ../configure --prefix=`pwd`/_install cross_compiling=yes CC=fccpx CFLAGS="-Xg -XCClinker -Xg" CXX=FCCpx CXXFLAGS="-Xg -XCClinker -Xg" FC=frtpx The GNU compatibility flag -Xg is needed at configure time, the "-XCClinker -Xg" is needed at make time. It passes -Xg also to the link line, otherwise I got failures for C++. C worked without though. > ... > checking whether the fccpx linker (/usr/bin/ld -m elf64_sparc) supports > shared libraries... no > checking dynamic linker characteristics... GNU/Linux ld.so > checking how to hardcode library paths into programs... unsupported > checking for shl_load... no > checking for shl_load in -ldld... no > checking for dlopen... yes > checking whether a program can dlopen itself... cross > checking whether stripping libraries is possible... yes > checking if libtool supports shared libraries... no > > However, the system support suggested to add the flag -Xg into the > Fujitsu compiler and we found that the following configure did work. > > ./configure --prefix=/tmp/test CC=fccpx --host=x86-linux CFLAGS="-Xg" > > checking whether the fccpx linker (/usr/bin/ld) supports shared > libraries... yes > checking whether -lc should be explicitly linked in... no > checking dynamic linker characteristics... fccpx: warning: > -print-search-dirs is unrecognized option. This option is passed to the > linker. > usage: fccpx [options] files. > GNU/Linux ld.so > checking how to hardcode library paths into programs... immediate > checking for shl_load... no > checking for shl_load in -ldld... no > checking for dlopen... yes > checking whether a program can dlopen itself... cross > checking whether stripping libraries is possible... yes > checking if libtool supports shared libraries... yes > > So that works for the small test example I generated. However, when > passing the same flags to the application we want to build, then the > libtool still claims it does not support shared libraries. So there are > couple of questions then: any idea on why this larger case the addition > of CFLAGS and --host does allow libtool to generate shared libraries? > And, I don't have direct access to the system, but can I do something to > improve the support on this system? Harald, I have access to FX10 (pi) and K computer and I'm willing to help. Is this about the upcoming Kobe tuning workshop (http://www.vi-hps.org/training/tws/tw20.html)? Christian > Best, > > > WARNING / LEGAL TEXT: This message is intended only for the use of the > individual or entity to which it is addressed and may contain > information which is privileged, confidential, proprietary, or exempt > from disclosure under applicable law. If you are not the intended > recipient or the person responsible for delivering the message to the > intended recipient, you are strictly prohibited from disclosing, > distributing, copying, or in any way using this message. If you have > received this communication in error, please notify the sender and > destroy and delete any copies you may have received. > > http://www.bsc.es/disclaimer > > _______________________________________________ > https://lists.gnu.org/mailman/listinfo/libtool > _______________________________________________ https://lists.gnu.org/mailman/listinfo/libtool