Re: [mpich-discuss] mpich-master: couldn't build libmpicxx.la with Sun C on Linux
Hi, I still get the error that I reported last month. Do you know if and when you can fix the problem? Thank you very much your answer in advance. Kind regards Siegmar On 08/24/17 07:53, Siegmar Gross wrote:
Hi Halim,
Am 23.08.2017 um 22:12 schrieb Halim Amer:
Hi Siegmar,
I can see some workarounds, for example, by passing -std=sun03, but I don't understand why the linker is passing -library=Cstd -library=Crun.
My guess is that CC does not use the GNU linker. We had issues with the Sun Studio linker few years ago, so we worked-around the issue by sym-liking the Sun Studio linker to GNU ld.
Before we go that route, could you add -v to the linker line? I.e.:
CC -G -hlibmpicxx.so.0 -o lib/.libs/libmpicxx.so.0.0.0 src/binding/cxx/.libs/initcxx.o -R/export2/src/mpich-master/mpich-master_2017-08-23_Linux.x86_64.64_cc/lib/.libs -R/usr/local/mpich-master_64_cc/lib64 -R/usr/lib64 -L/usr/lib64 lib/.libs/libmpi.so -lunwind -lpthread -lrt -library=Cstd -library=Crun -m64 -O2 -m64 -v
This should show which linker is being used. Meanwhile, you can try the above workarounds as well.
loki mpich-master_2017-08-23_Linux.x86_64.64_cc 125 CC -G -hlibmpicxx.so.0 -o lib/.libs/libmpicxx.so.0.0.0 src/binding/cxx/.libs/initcxx.o -R/export2/src/mpich-master/mpich-master_2017-08-23_Linux.x86_64.64_cc/lib/.libs -R/usr/local/mpich-master_64_cc/lib64 -R/usr/lib64 -L/usr/lib64 lib/.libs/libmpi.so -lunwind -lpthread -lrt -library=Cstd -library=Crun -m64 -O2 -m64 -v CC: -library=Crun cannot be used with -std=c++03. To use this library you need to switch to -std=sun03 CC: -library=Cstd cannot be used with -std=c++03. To use this library you need to switch to -std=sun03 ### command line files and options (expanded): ### -G -hlibmpicxx.so.0 -olib/.libs/libmpicxx.so.0.0.0 src/binding/cxx/.libs/initcxx.o -R/export2/src/mpich-master/mpich-master_2017-08-23_Linux.x86_64.64_cc/lib/.libs -R/usr/local/mpich-master_64_cc/lib64 -R/usr/lib64 -L/usr/lib64 lib/.libs/libmpi.so -lunwind -lpthread -lrt -library=Cstd,Crun -O2 -m64 -v
loki mpich-master_2017-08-23_Linux.x86_64.64_cc 126 echo $PATH /usr/local/valgrind-3.12.0/bin:/usr/local/eclipse-4.5.1:/usr/local/netbeans-8.1/bin:/usr/local/jdk1.8.0_66/bin:/usr/local/jdk1.8.0_66/db/bin:/usr/local/llvm-trunk/bin:/usr/local/pgi/linux86-64/16.10/bin:/usr/local/intel_xe_2018_beta/compilers_and_libraries_2018.0.082/linux/bin/intel64:/usr/local/intel_xe_2018_beta/compilers_and_libraries_2018.0.082/linux/mpi/intel64/bin:/opt/solstudio12.6/bin:/usr/local/gcc-7.1.0/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/cuda-8.0/bin:/usr/local/intel/opencl-1.2-sdk-6.3.0.1904/bin:/usr/local/hwloc-1.11.5/bin:/usr/local/haskell/ghc-8.0.1-x86_64/bin:/usr/local/swipl-7.2.3/bin/x86_64-linux:/home/fd1026/Linux/x86_64/bin:.:/usr/sbin
loki mpich-master_2017-08-23_Linux.x86_64.64_cc 127
/opt/solstudio12.6/bin is specified before /usr/local/gcc-7.1.0/bin in PATH and the directories for pgcc and icc are even specified before Sun C. Would it be helpful to build lld from the llvm project? Unfortunately, I wasn't able to build it in the past. I have no access to my machine before September 4th, so that I cannot try anything in the next days. Perhaps I will not even read emails.
Kind regards and thank you very much for your help once more
Siegmar
Halim www.mcs.anl.gov/~aamer
On 8/23/17 3:44 AM, Siegmar Gross wrote:
Hi Halim,
Thanks for the details. I don't see anything unusual from your logs. Can you paste here the output of "make V=1" at the step: "CXXLD lib/libmpicxx.la"?
loki mpich-master_2017-08-23_Linux.x86_64.64_cc 122 tail -15 log.make.Linux.x86_64.64_cc "./src/include/mpichconf.h", line 1132: Warning (Anachronism): Attempt to redefine __restrict__ without using #undef. 1 Warning(s) detected. libtool: compile: CC -DHAVE_CONFIG_H -I. -I../mpich -I./src/include -I../mpich/src/include -I../mpich/src/mpi/datatype -I../mpich/src/mpi/datatype -I../mpich/src/mpi/spawn -I../mpich/src/util/logging/common -I../mpich/src/util/mem -I../mpich/src/util/nodemap -I../mpich/src/util/wrappers -I./src/util/wrappers -I./src/binding/cxx -I../mpich/src/mpid/include -I../mpich/src/mpid/ch3/include -I./src/mpid/ch3/include -I../mpich/src/mpid/ch3/channels/nemesis/include -I./src/mpid/ch3/channels/nemesis/include -I../mpich/src/mpid/ch3/channels/nemesis/utils/monitor -I../mpich/src/mpid/common/sched -I../mpich/src/mpid/common/thread -I../mpich/src/mpid/common/timers -I../mpich/src/mpid/common/shm -I../mpich/src/pmi/simple -I../mpich/src/pmi/include -I/export2/src/mpich-master/mpich-master_2017-08-23_Linux.x86_64.64_cc/src/mpl/include -I/export2/src/mpich-master/mpich/src/mpl/include -I/export2/src/mpich-master/mpich/src/openpa/src -I/export2/src/mpich-master/mpich-master_2017-08-23_Linux.x86_64.64_cc/src/openpa/src -D_REENTRANT -I/export2/src/mpich-master/mpich-master_2017-08-23_Linux.x86_64.64_cc/src/mpi/romio/include -m64 -O2 -c ../mpich/src/binding/cxx/initcxx.cxx -o src/binding/cxx/initcxx.o
/dev/null 2>&1 /bin/sh ./libtool --tag=CXX --mode=link CC -m64 -O2 -version-info 0:0:0 -m64 -L/usr/lib64 -R/usr/lib64 -o lib/libmpicxx.la -rpath /usr/local/mpich-master_64_cc/lib64 src/binding/cxx/initcxx.lo lib/libmpi.la libtool: link: CC -G -hlibmpicxx.so.0 -o lib/.libs/libmpicxx.so.0.0.0 src/binding/cxx/.libs/initcxx.o -R/export2/src/mpich-master/mpich-master_2017-08-23_Linux.x86_64.64_cc/lib/.libs -R/usr/local/mpich-master_64_cc/lib64 -R/usr/lib64 -L/usr/lib64 lib/.libs/libmpi.so -lunwind -lpthread -lrt -library=Cstd -library=Crun -m64 -O2 -m64 CC: -library=Crun cannot be used with -std=c++03. To use this library you need to switch to -std=sun03 CC: -library=Cstd cannot be used with -std=c++03. To use this library you need to switch to -std=sun03 Makefile:9429: recipe for target 'lib/libmpicxx.la' failed make[2]: *** [lib/libmpicxx.la] Error 1 make[2]: Leaving directory '/export2/src/mpich-master/mpich-master_2017-08-23_Linux.x86_64.64_cc' Makefile:34562: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/export2/src/mpich-master/mpich-master_2017-08-23_Linux.x86_64.64_cc' Makefile:9242: recipe for target 'all' failed make: *** [all] Error 2 loki mpich-master_2017-08-23_Linux.x86_64.64_cc 123
Hopefully, that helps.
Kind regards
Siegmar
We currently working on upgrading our Sun Studio compilers. I will keep you posted once I rebuild in the new environment.
Best,
Halim www.mcs.anl.gov/~aamer
On 8/22/17 7:01 AM, Siegmar Gross wrote:
Hi Halim,
I've attached the config and log files. Hopefully, you will find a solution for the problem. In the past (mid February 2017) I was able to build the last nightly snapshot from http://www.mpich.org/static/downloads/nightly/master/mpich/ with Sun C 5.14. Unfortunately, you don't provide nightly snapshots any longer. Min told me some days ago where I can find your master branch. I did the following things (SYSTEM_ENV: Linux, MACHINE_ENV: x86_64).
git clone https://github.com/pmodels/mpich.git cd mpich autogen.sh cd ..
mkdir mpich-master_`date -I'date'`_${SYSTEM_ENV}.${MACHINE_ENV}.64_gcc cd mpich-master_`date -I'date'`_${SYSTEM_ENV}.${MACHINE_ENV}.64_gcc
../mpich/configure \ --prefix=/usr/local/mpich-master_64_gcc \ --libdir=/usr/local/mpich-master_64_gcc/lib64 \ --includedir=/usr/local/mpich-master_64_gcc/include64 \ CC="gcc" CXX="g++" F77="gfortran" FC="gfortran" \ CFLAGS="-m64" CXXFLAGS="-m64" FFLAGS="-m64" FCFLAGS="-m64" \ LDFLAGS="-m64" \ --enable-fortran=yes --enable-cxx --enable-romio \ --enable-debuginfo --enable-smpcoll \ --enable-threads=multiple --with-thread-package=posix \ --enable-shared \ |& tee log.configure.$SYSTEM_ENV.$MACHINE_ENV.64_gcc
make |& tee log.make.$SYSTEM_ENV.$MACHINE_ENV.64_gcc rm -r /usr/local/mpich-master_64_gcc.old mv /usr/local/mpich-master_64_gcc /usr/local/mpich-master_64_gcc.old make install |& tee log.make-install.$SYSTEM_ENV.$MACHINE_ENV.64_gcc make check |& tee log.make-check.$SYSTEM_ENV.$MACHINE_ENV.64_gcc
Kind regards
Siegmar
On 08/21/17 18:17, Halim Amer wrote:
Hi Siegmar,
I could not reproduce the error you are seeing with Sun C 5.13. I could try to use the 5.15, but meanwhile, there is some information I would like to know.
> CC: -library=Crun cannot be used with -std=c++03
I don't understand how -std=c++03 got passed with the below configure line you gave us. Are you sure the error message corresponds to the configure setup below?
Can you attach the output and log of the configure step and the output of make?
Thanks,
Halim www.mcs.anl.gov/~aamer
On 8/21/17 7:34 AM, Siegmar Gross wrote:
Hi,
I tried to install mpich-master on my "SUSE Linux Enterprise Server 12.2 (x86_64)" with Sun C 5.15 (Oracle Developer Studio 12.6) and gcc-7.1.0. Unfortunately, I couldn't build it with Sun C due to the following error.
loki mpich-master_2017-08-20_Linux.x86_64.64_cc 276 tail -18 log.make.Linux.x86_64.64_cc "../mpich/src/include/mpir_handlemem.h", line 61: warning: null dimension: indirect "../mpich/src/include/mpir_handlemem.h", line 122: warning: null dimension: indirect CCLD src/mpi/debugger/libdbginitdummy.la GEN lib/libmpi.la CXX src/binding/cxx/initcxx.lo "./src/include/mpichconf.h", line 1132: Warning (Anachronism): Attempt to redefine __restrict__ without using #undef. 1 Warning(s) detected. CXXLD lib/libmpicxx.la CC: -library=Crun cannot be used with -std=c++03. To use this library you need to switch to -std=sun03 CC: -library=Cstd cannot be used with -std=c++03. To use this library you need to switch to -std=sun03 Makefile:9429: recipe for target 'lib/libmpicxx.la' failed make[2]: *** [lib/libmpicxx.la] Error 1 make[2]: Leaving directory '/export2/src/mpich-master/mpich-master_2017-08-20_Linux.x86_64.64_cc' Makefile:34562: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/export2/src/mpich-master/mpich-master_2017-08-20_Linux.x86_64.64_cc' Makefile:9242: recipe for target 'all' failed make: *** [all] Error 2 loki mpich-master_2017-08-20_Linux.x86_64.64_cc 277
I used the following command to configure MPICH.
../mpich/configure \ --prefix=/usr/local/mpich-master_64_cc \ --libdir=/usr/local/mpich-master_64_cc/lib64 \ --includedir=/usr/local/mpich-master_64_cc/include64 \ CC="cc" CXX="CC" F77="f77" FC="f95" \ CFLAGS="-m64" CXXFLAGS="-m64" FFLAGS="-m64" FCFLAGS="-m64" \ LDFLAGS="-m64 -L/usr/lib64 -R/usr/lib64" \ --enable-fortran=ye --enable-cxx --enable-romio \ --enable-debuginfo --enable-smpcoll \ --enable-threads=multiple --with-thread-package=posix \ --enable-shared \ |& tee log.configure.$SYSTEM_ENV.$MACHINE_ENV.64_cc
Building MPICH caused the following warning with gcc.
loki mpich-master_2017-08-20_Linux.x86_64.64_gcc 267 grep -i warning log.make.Linux.x86_64.64_gcc | sort | uniq ../mpich/src/include/mpir_mem.h:144:11: warning: argument 1 value '18446744073709551612' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=] loki mpich-master_2017-08-20_Linux.x86_64.64_gcc 268
Building MPICH caused the following warnings with cc.
loki mpich-master_2017-08-20_Linux.x86_64.64_cc 270 grep -i warning log.make.Linux.x86_64.64_cc | sort | uniq "../../../../../../../../../mpich/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-custom.c", line 88: warning: initializer will be sign-extended: -1 "../../../../../../../../../mpich/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-linux.c", line 2727: warning: initializer will be sign-extended: -1 "../../../../../../../../../mpich/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-synthetic.c", line 851: warning: initializer will be sign-extended: -1 "../../../../../../../../../mpich/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-x86.c", line 122: warning: initializer will be sign-extended: -1 "../../../../../../../../../mpich/src/pm/hydra/tools/topo/hwloc/hwloc/src/topology-xml.c", line 1783: warning: initializer will be sign-extended: -1 "../../../../mpich/src/mpi/romio/adio/common/ad_fstype.c", line 428: warning: statement not reached "../../../../mpich/src/mpi/romio/adio/common/ad_threaded_io.c", line 31: warning: statement not reached "../../../../mpich/src/openpa/src/primitives/opa_gcc_intel_32_64_ops.h", line 103: warning: parameter in inline asm statement unused: %1 "../../../../mpich/src/openpa/src/primitives/opa_gcc_intel_32_64_ops.h", line 111: warning: parameter in inline asm statement unused: %1 "../../../../mpich/src/openpa/src/primitives/opa_gcc_intel_32_64_ops.h", line 121: warning: parameter in inline asm statement unused: %2 "../../../../mpich/src/openpa/src/primitives/opa_gcc_intel_32_64_ops.h", line 129: warning: parameter in inline asm statement unused: %3 "../../../../mpich/src/openpa/src/primitives/opa_gcc_intel_32_64_ops.h", line 142: warning: parameter in inline asm statement unused: %1 "../../../../mpich/src/openpa/src/primitives/opa_gcc_intel_32_64_ops.h", line 151: warning: parameter in inline asm statement unused: %1 "../../../../mpich/src/openpa/src/primitives/opa_gcc_intel_32_64_ops.h", line 159: warning: parameter in inline asm statement unused: %3 "../../../../mpich/src/openpa/src/primitives/opa_gcc_intel_32_64_ops.h", line 167: warning: parameter in inline asm statement unused: %3 "../../../../mpich/src/openpa/src/primitives/opa_gcc_intel_32_64_ops.h", line 95: warning: parameter in inline asm statement unused: %2 "../../../../mpich/src/pm/hydra/pm/pmiserv/pmiserv_pmi_v1.c", line 796: warning: statement not reached "../mpich/src/include/mpir_handlemem.h", line 122: warning: null dimension: indirect "../mpich/src/include/mpir_handlemem.h", line 61: warning: null dimension: indirect "../mpich/src/mpi/datatype/dataloop/segment.c", line 658: warning: statement not reached "../mpich/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_init.c", line 194: warning: assignment type mismatch: "../mpich/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_init.c", line 195: warning: operands have incompatible pointer types: op "==" "../mpich/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_init.c", line 196: warning: operands have incompatible pointer types: op "!=" "../mpich/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_init.c", line 198: warning: argument #2 is incompatible with prototype: "../mpich/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_init.c", line 198: warning: assignment type mismatch: "../mpich/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_init.c", line 199: warning: operands have incompatible pointer types: op "==" "../mpich/src/mpid/ch3/channels/nemesis/src/ch3i_comm.c", line 36: warning: statement not reached "../mpich/src/mpid/ch3/channels/nemesis/src/ch3i_comm.c", line 99: warning: statement not reached "./src/include/mpichconf.h", line 1132: Warning (Anachronism): Attempt to redefine __restrict__ without using #undef.
I would be grateful, if somebody can fix the problem. Do you need anything else? Thank you very much for any help in advance.
Kind regards
Siegmar _______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
participants (1)
-
Siegmar Gross