[mpich-discuss] couldn't build mpich-3.1.1 on Solaris 10 withgcc-4.9.0

Siegmar Gross Siegmar.Gross at informatik.hs-fulda.de
Wed Jun 25 01:26:51 CDT 2014


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 
<Siegmar.Gross at informatik.hs-fulda.de> 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     discuss at mpich.org
> > To manage subscription options or unsubscribe:
> > https://lists.mpich.org/mailman/listinfo/discuss
> 
> 




More information about the discuss mailing list