Hi,
Before we go digging down this path, did you try simplifying your
No, because I could built mpich-3.1.1 with "Sun C 5.12" on all platforms and with "gcc" on Linux with the same options. "make check" didn't report any failures for mpich, although "make testing" reported some problems. mpich-3.1.1-SunOS.sparc.64_cc: 60 tests failed out of 825 mpich-3.1.1-SunOS.x86_64.64_cc: 32 tests failed out of 825 mpich-3.1.1-Linux.x86_64.64_cc: 62 tests failed out of 825 mpich-3.1.1-Linux.x86_64.64_gcc: 35 tests failed out of 825 Which options shall I use/remove for/from "configure"?
../mpich-3.1.1/configure --prefix=/usr/local/mpich-3.1.1_64_gcc \ --libdir=/usr/local/mpich-3.1.1_64_gcc/lib64 \ --includedir=/usr/local/mpich-3.1.1_64_gcc/include64 \ CC="gcc" CXX="g++" F77="gfortran" FC="gfortran" \ CFLAGS="-m64" CXXFLAGS="-m64" FFLAGS="-m64" FCFLAGS="-m64" \ LDFLAGS="-m64 -L/usr/lib/sparcv9 -Wl,-rpath /usr/lib/sparcv9" \ --enable-f77 --enable-fc --enable-cxx --enable-romio \ --enable-debuginfo --enable-smpcoll \ --enable-threads=runtime --with-thread-package=posix \ --enable-shared \ |& tee log.configure.$SYSTEM_ENV.$MACHINE_ENV.64_gcc
Why do you need the rpath settings?
Solaris uses LD_LIBRARY_PATH for 32-bit libraries/executables and LD_LIBRARY_PATH_64 for 64-bit ones. When I build "mpich" as 64-bit version, the 32-bit library for "libxml2.so" will be used without rpath. I don't know if that is a problem of our gcc-installation or your Makefile, but I could solve the problem with rpath.
Why is -m64 needed? Are you trying to use a 32-bit compiler on a 64-bit machine?
Yes, and it works as you can see below. I create 32-bit executables with "-m32" and 64-bit ones with "-m64". tyr mpich-3.1.1-SunOS.sparc.64_gcc 33 which gcc /usr/local/gcc-4.9.0/bin/gcc tyr mpich-3.1.1-SunOS.sparc.64_gcc 34 file /usr/local/gcc-4.9.0/bin/gcc /usr/local/gcc-4.9.0/bin/gcc: ELF 32-bit MSB executable SPARC32PLUS Version 1, V8+ Required, dynamically linked, not stripped tyr mpich-3.1.1-SunOS.sparc.64_gcc 35 gcc -m32 -o hello_32 hello.c tyr mpich-3.1.1-SunOS.sparc.64_gcc 36 gcc -m64 -o hello_64 hello.c tyr mpich-3.1.1-SunOS.sparc.64_gcc 37 file hello_* hello_32: ELF 32-bit MSB executable SPARC32PLUS Version 1, V8+ Required, dynamically linked, not stripped, no debugging information available hello_64: ELF 64-bit MSB executable SPARCV9 Version 1, dynamically linked, not stripped, no debugging information available tyr mpich-3.1.1-SunOS.sparc.64_gcc 38 hello_32 Alles klar. tyr mpich-3.1.1-SunOS.sparc.64_gcc 39 hello_64 Alles klar. tyr mpich-3.1.1-SunOS.sparc.64_gcc 40 Thank you very much for your help in advance. Kind regards Siegmar
On Jun 20, 2014, at 8:37 AM, Siegmar Gross <[email protected]> wrote:
Hi,
today I tried to install mpich-3.1.1 on my platforms (Solaris 10 sparc, Solaris 10 x86_64, and openSUSE Linux 12.1) with gcc-4.9.0 and Sun C 5.12. Unfortunately I couldn't build it with gcc-4.9.0 on my Solaris platforms (everything else succeeded).
tyr mpich-3.1.1 110 grep Error mpich-3.1.1-SunOS.x86_64.64_cc/log.make.* tyr mpich-3.1.1 111 grep Error mpich-3.1.1-SunOS.x86_64.64_gcc/log.make.* make[2]: *** [lib/libmpicxx.la] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 tyr mpich-3.1.1 112 tyr mpich-3.1.1 112 grep Error mpich-3.1.1-SunOS.sparc.64_cc/log.make.* tyr mpich-3.1.1 113 grep Error mpich-3.1.1-SunOS.sparc.64_gcc/log.make.* make[2]: *** [lib/libmpicxx.la] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 tyr mpich-3.1.1 114
tyr mpich-3.1.1 123 tail mpich-3.1.1-SunOS.x86_64.64_gcc/log.make.* CXX src/binding/cxx/initcxx.lo CXXLD lib/libmpicxx.la ld: fatal: file libmpicxx.so.12: open failed: No such file or directory ld: fatal: file processing errors. No output written to lib/.libs/libmpicxx.so.12.0.1 collect2: error: ld returned 1 exit status make[2]: *** [lib/libmpicxx.la] Error 1 make[2]: Leaving directory `/export2/src/mpich-3.1.1/mpich-3.1.1-SunOS.x86_64.64_gcc' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/export2/src/mpich-3.1.1/mpich-3.1.1-SunOS.x86_64.64_gcc' make: *** [all] Error 2 tyr mpich-3.1.1 124
I used the following command to configure the system. "ld" reports an error for "libxml2.so" without "/usr/lib/sparcv9" in LDFLAGS (wrong ELF class). The command is similar for Solaris 10 x86_64. Solaris uses LD_LIBRARY_PATH_64 to find 64-bit libraries and LD_LIBRARY_PATH for 32-bit ones. Perhaps that's the reason why I had to add the directories to LDFLAGS.
../mpich-3.1.1/configure --prefix=/usr/local/mpich-3.1.1_64_gcc \ --libdir=/usr/local/mpich-3.1.1_64_gcc/lib64 \ --includedir=/usr/local/mpich-3.1.1_64_gcc/include64 \ CC="gcc" CXX="g++" F77="gfortran" FC="gfortran" \ CFLAGS="-m64" CXXFLAGS="-m64" FFLAGS="-m64" FCFLAGS="-m64" \ LDFLAGS="-m64 -L/usr/lib/sparcv9 -Wl,-rpath /usr/lib/sparcv9" \ --enable-f77 --enable-fc --enable-cxx --enable-romio \ --enable-debuginfo --enable-smpcoll \ --enable-threads=runtime --with-thread-package=posix \ --enable-shared \ |& tee log.configure.$SYSTEM_ENV.$MACHINE_ENV.64_gcc
I would be grateful if somebody can provide a solution for my problem. I have attached some config.log files. Do you need anything else?
Kind regards
Siegmar
<mpich-3.1.1-SunOS.sparc.64_gcc.tar.gz>_________________________________________
discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss