Re: Libtool does not generate shared libraries when cross compiling x86/64 -> sparc64 using fujitsu compiler

2016-02-06 Thread Bob Friesenhahn

On Fri, 5 Feb 2016, Harald Servat wrote:


I'm unsure on how to interpret the libtool related information because it is 
very simplistic


configure:11699: checking if libtool supports shared libraries
configure:11701: result: no

however, at some point earlier, the following test might be related

configure:8998: checking whether the fccpx linker (sparc64-linux-ld -m 
elf64_sparc) supports shared libraries

configure:10069: result: no

Can we provide some additional info or run additional tests to improve 
libtool on this system?


The generated config.log file contains detail information regarding 
the tests performed and error messages produced.  Looking there is the 
next step.


The '-print-search-dirs' error message is because libtool attempted to 
treat the compiler like GCC and obtain its default linker search path.


It is unfortunate if Fujitsu does not care to contribute.  If that is 
indeed true, then that would be their loss since a large portion of 
free software packages use Autotools (including libtool) and these 
packages won't compile as effectively if the target is not supported. 
Fujitsu's system would be barren of commonly available software. 
Fujitsu is in the best position to support their own compiler and 
platform.


Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,http://www.GraphicsMagick.org/

___
https://lists.gnu.org/mailman/listinfo/libtool


Re: Libtool does not generate shared libraries when cross compiling x86/64 -> sparc64 using fujitsu compiler

2016-02-05 Thread Christian Rössel

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

___

Re: Libtool does not generate shared libraries when cross compiling x86/64 -> sparc64 using fujitsu compiler

2016-02-04 Thread Christian Rössel

On 2016-02-03 18:33, Mike Frysinger wrote:

On 03 Feb 2016 14:30, Harald Servat wrote:

we have found that

   ./configure --prefix=/tmp/test CC=fccpx --build=x86_64-linux-gnu
--host=sparc64-linux-gnu

did not work. See:

...
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?


i don't know what "fccpx" is, but i'd guess that libtool just doesn't
understand how it works.  please attach the config.log file from that
run.


fccpx/fcc are the Fujitsu C compiler commands: "There  are two types of 
compile commands, one is the cross compile command that is fccpx, and 
the other is the own compile command  that  is fcc."


I got in contact with them on Fujitsu supercomputer like K Computer and 
FX10 systems. With fccpx you cross-compile on a x86_64 login node for 
sparc64 compute nodes. fcc generates code for the x86_64 login node.


You are right, libtool doesn't understand neither fccpx nor fcc nor the 
C++ and Fortran variants. I talked to Fujitsu but they are not eager to 
contribute to libtool.


Christian


-mike



___
https://lists.gnu.org/mailman/listinfo/libtool




___
https://lists.gnu.org/mailman/listinfo/libtool


Re: Libtool does not generate shared libraries when cross compiling x86/64 -> sparc64 using fujitsu compiler

2016-02-03 Thread Mike Frysinger
On 03 Feb 2016 14:30, Harald Servat wrote:
>we have found that
> 
>   ./configure --prefix=/tmp/test CC=fccpx --build=x86_64-linux-gnu 
> --host=sparc64-linux-gnu
> 
>did not work. See:
> 
> ...
> 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?

i don't know what "fccpx" is, but i'd guess that libtool just doesn't
understand how it works.  please attach the config.log file from that
run.
-mike


signature.asc
Description: Digital signature
___
https://lists.gnu.org/mailman/listinfo/libtool


Re: Libtool does not generate shared libraries when cross compiling x86/64 -> sparc64 using fujitsu compiler

2016-02-03 Thread Harald Servat



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:

...
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?


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


Re: Libtool does not generate shared libraries when cross compiling x86/64 -> sparc64 using fujitsu compiler

2016-02-02 Thread Mike Frysinger
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


signature.asc
Description: Digital signature
___
https://lists.gnu.org/mailman/listinfo/libtool


Libtool does not generate shared libraries when cross compiling x86/64 -> sparc64 using fujitsu compiler

2016-02-02 Thread Harald Servat

Hello list,

  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


OUTPUT:

checking for fccpx option to produce PIC...  -DPIC
checking if fccpx PIC flag  -DPIC works... yes
checking if fccpx static flag  works... yes
checking if fccpx supports -c -o file.o... yes
checking if fccpx supports -c -o file.o... (cached) yes
checking whether the fccpx linker (/usr/bin/ld) supports shared 
libraries... yes

checking dynamic linker characteristics... no
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... no
checking whether to build shared libraries... no
checking whether to build static libraries... yes

  So, am I doing something wrong when cross-compiling? Or maybe libtool 
does not understand fccpx?


Thank you very much in advance.

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