Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Help building/installing a working Open MPI 1.7.4 on OS X 10.9.2 with Free PGI Fortran
From: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2014-03-25 10:30:06


Got your output -- thanks. I'm pretty sure this is pointing to a Libtool bug.

Here's the interesting part -- it looks like Libtool simply isn't issuing the command to create the library (!). Check out this (annotated) output from "make V=1" on a Linux/gfortran box:

----
Making all in src
make[1]: Entering directory `/home/jsquyres/git/pgi-autotool-bug/src'
# Compile the fortran_foo.f90 file
/bin/sh ../libtool  --tag=FC   --mode=compile gfortran  -g -O2 -c -o fortran_foo.lo fortran_foo.f90
libtool: compile:  gfortran -g -O2 -c fortran_foo.f90  -fPIC -o .libs/fortran_foo.o
# Compile the fortran_bar.f90 file
/bin/sh ../libtool  --tag=FC   --mode=compile gfortran  -g -O2 -c -o fortran_bar.lo fortran_bar.f90
libtool: compile:  gfortran -g -O2 -c fortran_bar.f90  -fPIC -o .libs/fortran_bar.o
# Link the two into the libfortran_stuff.so library
/bin/sh ../libtool  --tag=FC   --mode=link gfortran  -g -O2   -o libfortran_stuff.la -rpath /usr/local/lib fortran_foo.lo fortran_bar.lo  
libtool: link: gfortran -shared  -fPIC  .libs/fortran_foo.o .libs/fortran_bar.o    -O2   -Wl,-soname -Wl,libfortran_stuff.so.0 -o .libs/libfortran_stuff.so.0.0.0
# Make some handy sym links
libtool: link: (cd ".libs" && rm -f "libfortran_stuff.so.0" && ln -s "libfortran_stuff.so.0.0.0" "libfortran_stuff.so.0")
libtool: link: (cd ".libs" && rm -f "libfortran_stuff.so" && ln -s "libfortran_stuff.so.0.0.0" "libfortran_stuff.so")
libtool: link: ( cd ".libs" && rm -f "libfortran_stuff.la" && ln -s "../libfortran_stuff.la" "libfortran_stuff.la" )
-----
Compare this to your "make V=1" output:
-----
Making install in src
# Compile the fortran_foo.f90 file
/bin/sh ../libtool  --tag=FC   --mode=compile pgfortran  -m64 -c -o fortran_foo.lo fortran_foo.f90
libtool: compile:  pgfortran -m64 -c fortran_foo.f90  -o .libs/fortran_foo.o
# Compile the fortran_bar.f90 file
/bin/sh ../libtool  --tag=FC   --mode=compile pgfortran  -m64 -c -o fortran_bar.lo fortran_bar.f90
libtool: compile:  pgfortran -m64 -c fortran_bar.f90  -o .libs/fortran_bar.o
# Link the two into the libfortran_stuff.so library
/bin/sh ../libtool  --tag=FC   --mode=link pgfortran  -m64  -m64 -o libfortran_stuff.la -rpath /Users/fortran/AutomakeBug/autobug14/lib fortran_foo.lo fortran_bar.lo  
******* NOTICE THAT THERE'S NO COMMAND HERE TO MAKE THE LIBRARY!
# Make some handy sym links
libtool: link: (cd ".libs" && rm -f "libfortran_stuff.dylib" && ln -s "libfortran_stuff.0.dylib" "libfortran_stuff.dylib")
libtool: link: ( cd ".libs" && rm -f "libfortran_stuff.la" && ln -s "../libfortran_stuff.la" "libfortran_stuff.la" )
-----
Time to send this bug report upstream.
On Mar 24, 2014, at 7:27 PM, Matt Thompson <fortran_at_[hidden]> wrote:
> Jeff,
> 
> I ran these commands:
> 
> $ make clean
> $ make distclean
> 
> (wanted to be extra sure!)
> 
> $ ./configure CC=gcc CXX=g++ F77=pgfortran FC=pgfortran CFLAGS='-m64' CXXFLAGS='-m64' LDFLAGS='-m64' FCFLAGS='-m64' FFLAGS='-m64' --prefix=/Users/fortran/AutomakeBug/autobug14 | & tee configure.log
> $ make V=1 install |& tee makeV1install.log
> 
> So find attached the config.log, configure.log, and makeV1install.log which should have all the info you asked about.
> 
> Matt
> 
> PS: I just tried configure/make/make install with Open MPI 1.7.5, but the same error occurs as expected. Hope springs eternal, you know?
> 
> 
> On Mon, Mar 24, 2014 at 6:48 PM, Jeff Squyres (jsquyres) <jsquyres_at_[hidden]> wrote:
> On Mar 24, 2014, at 6:34 PM, Matt Thompson <fortran_at_[hidden]> wrote:
> 
> > Sorry for the late reply. The answer is: No, 1.14.1 has not fixed the problem (and indeed, that's what my Mac is running):
> >
> > (28) $ make install | & tee makeinstall.log
> > Making install in src
> >  ../config/install-sh -c -d '/Users/fortran/AutomakeBug/autobug14/lib'
> >  /bin/sh ../libtool   --mode=install /usr/bin/install -c   libfortran_stuff.la '/Users/fortran/AutomakeBug/autobug14/lib'
> > libtool: install: /usr/bin/install -c .libs/libfortran_stuff.0.dylib /Users/fortran/AutomakeBug/autobug14/lib/libfortran_stuff.0.dylib
> > install: .libs/libfortran_stuff.0.dylib: No such file or directory
> > make[2]: *** [install-libLTLIBRARIES] Error 71
> > make[1]: *** [install-am] Error 2
> > make: *** [install-recursive] Error 1
> >
> > This is the output from either the am12 or am14 test. If you have any options you'd like me to try with this, let me know. (For example, is there a way to make autotools *more* verbose? I've always tried to make it less so!)
> 
> Ok.  With the am14 tarball, please run:
> 
> make clean
> 
> And then run this:
> 
> make V=1 install
> 
> And then send the following:
> 
> - configure stdout
> - config.log file
> - stdout/stderr from "make V=1 install"
> 
> --
> Jeff Squyres
> jsquyres_at_[hidden]
> For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 
> 
> 
> -- 
> "And, isn't sanity really just a one-trick pony anyway? I mean all you
>  get is one trick: rational thinking. But when you're good and crazy, 
>  oooh, oooh, oooh, the sky is the limit!" -- The Tick
> 
> <config.log><configure.log><makeV1install.log>_______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/