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: Matt Thompson (fortran_at_[hidden])
Date: 2014-03-24 18:34:06


Jeff,

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!)

Matt

On Fri, Mar 21, 2014 at 11:02 AM, Jeff Squyres (jsquyres) <
jsquyres_at_[hidden]> wrote:

> This is starting to smell like a Libtool and/or Automake bug -- it
> created libmpi_usempi_ignore_tkr.dylib, but it tried to install
> libmpi_usempi_ignore_tkr.0.dylib (notice the extra ".0"). :-\
>
> This is both good and bad.
>
> Good: I can think of 2 ways to work around this issue off the top of my
> head:
>
> 1. "make -k install" and ignore the error as it flashes by. The rest of
> OMPI will install properly. Then cd into
> build_dir/ompi/mpi/fortran/use-mpi-ignore-tkr/.libs. Copy
> libmpi_usempi_ignore_tkr.* to $libdir (i.e.,
> /Users/fortran/MPI/openmpi_1.7.4-pgi_14.3-gcc/lib, in your example below).
> And you should be good to go.
>
> ...although you may need to do a similar thing in the
> ompi/mpi/fortran/use-mpi-f08/.libs directory.
>
> 2. Somewhere in ompi/mpi/fortran/use-mpi-ignore-tkr/Makefile will be the
> filename "libmpi_usempi_ignore_tkr.0.dylib". Edit it to remove the ".0".
> Then "make install" should work fine. (you might need to do the same in
> use-mpi-f08/Makefile)
>
> Bad: we can't really fix this error if it really is a bug in Automake
> and/or Libtool, but we can at least report it upstream.
>
> I've made a trivial Autotools test project (
> https://github.com/jsquyres/pgi-autotool-bug) to see if we can nail this
> down a little more, and possibly use the results to report upstream.
>
> Here's the versions of Autotools that we use to make the OMPI 1.7.x series:
>
> Autoconf 2.69
> Automake 1.12.2
> Libtool 2.4.2
> m4 1.4.16
>
> Attached is a tarball I made of the sample project using those versions.
> Can you try building and installing this tarball on your system with the
> same kinds of options you used with OMPI? Hopefully, you should see the
> same error. If not, I need to tweak this project a bit more to make it
> more like OMPI's build system behavior.
>
> If you can replicate the error, then also try the second attached tarball:
> it's the same project, but bootstrapped with the latest versions of GNU
> Automake (the others are already the most recent):
>
> Automake 1.14.1
>
> This will let us see if automake 1.14.1 has fixed the issue.
>
>
>
>
> On Mar 20, 2014, at 1:16 PM, Matt Thompson <fortran_at_[hidden]> wrote:
>
> > Jeff, here you go:
> >
> > (3) $ cd ompi/mpi/fortran/use-mpi-ignore-tkr
> > total 2888
> > -rw-r--r-- 1 fortran staff 1.7K Apr 13 2013 Makefile.am
> > -rw-r--r-- 1 fortran staff 215K Dec 17 21:09
> mpi-ignore-tkr-interfaces.h.in
> > -rw-r--r-- 1 fortran staff 39K Dec 17 21:09
> mpi-ignore-tkr-file-interfaces.h.in
> > -rw-r--r-- 1 fortran staff 1.5K Jan 27 19:04 mpi-ignore-tkr.F90
> > -rw-r--r-- 1 fortran staff 80K Feb 4 17:53 Makefile.in
> > -rw-r--r-- 1 fortran staff 208K Mar 18 20:37
> mpi-ignore-tkr-interfaces.h
> > -rw-r--r-- 1 fortran staff 38K Mar 18 20:37
> mpi-ignore-tkr-file-interfaces.h
> > -rw-r--r-- 1 fortran staff 75K Mar 18 20:37 Makefile
> > -rw-r--r-- 1 fortran staff 765K Mar 18 20:47 mpi.mod
> > -rw-r--r-- 1 fortran staff 280B Mar 18 20:47 mpi-ignore-tkr.lo
> > -rw-r--r-- 1 fortran staff 1.0K Mar 18 20:47
> libmpi_usempi_ignore_tkr.la
> > Directory:
> /Users/fortran/MPI/src/openmpi-1.7.4/ompi/mpi/fortran/use-mpi-ignore-tkr
> > (4) $ make clean
> > test -z "*~ .#*" || rm -f *~ .#*
> > test -z "libmpi_usempi_ignore_tkr.la" || rm -f
> libmpi_usempi_ignore_tkr.la
> > rm -f ./so_locations
> > rm -rf .libs _libs
> > rm -f *.o
> > test -z "*.mod" || rm -f *.mod
> > rm -f *.lo
> > (5) $ make V=1
> > /bin/sh ../../../../libtool --tag=FC --mode=compile pgfortran
> -DHAVE_CONFIG_H -I. -I../../../../opal/include -I../../../../orte/include
> -I../../../../ompi/include
> -I../../../../opal/mca/hwloc/hwloc172/hwloc/include/private/autogen
> -I../../../../opal/mca/hwloc/hwloc172/hwloc/include/hwloc/autogen
> -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_FORTRAN_WRAPPERS=1 -I../../../..
> -D_REENTRANT
> -I/Users/fortran/MPI/src/openmpi-1.7.4/opal/mca/hwloc/hwloc172/hwloc/include
> -I/Users/fortran/MPI/src/openmpi-1.7.4/opal/mca/event/libevent2021/libevent
> -I/Users/fortran/MPI/src/openmpi-1.7.4/opal/mca/event/libevent2021/libevent/include
> -I../../../../ompi/include -I../../../../ompi/include -I../../../..
> -I../../../.. -m64 -c -o mpi-ignore-tkr.lo mpi-ignore-tkr.F90
> > libtool: compile: pgfortran -DHAVE_CONFIG_H -I.
> -I../../../../opal/include -I../../../../orte/include
> -I../../../../ompi/include
> -I../../../../opal/mca/hwloc/hwloc172/hwloc/include/private/autogen
> -I../../../../opal/mca/hwloc/hwloc172/hwloc/include/hwloc/autogen
> -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_FORTRAN_WRAPPERS=1 -I../../../..
> -D_REENTRANT
> -I/Users/fortran/MPI/src/openmpi-1.7.4/opal/mca/hwloc/hwloc172/hwloc/include
> -I/Users/fortran/MPI/src/openmpi-1.7.4/opal/mca/event/libevent2021/libevent
> -I/Users/fortran/MPI/src/openmpi-1.7.4/opal/mca/event/libevent2021/libevent/include
> -I../../../../ompi/include -I../../../../ompi/include -I../../../..
> -I../../../.. -m64 -c mpi-ignore-tkr.F90 -o .libs/mpi-ignore-tkr.o
> > /bin/sh ../../../../libtool --tag=FC --mode=link pgfortran
> -I../../../../ompi/include -I../../../../ompi/include -I../../../..
> -I../../../.. -m64 -export-dynamic -m64 -o libmpi_usempi_ignore_tkr.la-rpath /Users/fortran/MPI/openmpi_1.7.4-pgi_14.3-gcc/lib
> mpi-ignore-tkr.lo
> > libtool: link: (cd ".libs" && rm -f "libmpi_usempi_ignore_tkr.dylib" &&
> ln -s "libmpi_usempi_ignore_tkr.0.dylib" "libmpi_usempi_ignore_tkr.dylib")
> > libtool: link: ( cd ".libs" && rm -f "libmpi_usempi_ignore_tkr.la" &&
> ln -s "../libmpi_usempi_ignore_tkr.la" "libmpi_usempi_ignore_tkr.la" )
> > (6) $ find .
> > .
> > ./.libs
> > ./.libs/libmpi_usempi_ignore_tkr.dylib
> > ./.libs/libmpi_usempi_ignore_tkr.la
> > ./.libs/libmpi_usempi_ignore_tkr.lai
> > ./.libs/mpi-ignore-tkr.o
> > ./libmpi_usempi_ignore_tkr.la
> > ./Makefile
> > ./Makefile.am
> > ./Makefile.in
> > ./mpi-ignore-tkr-file-interfaces.h
> > ./mpi-ignore-tkr-file-interfaces.h.in
> > ./mpi-ignore-tkr-interfaces.h
> > ./mpi-ignore-tkr-interfaces.h.in
> > ./mpi-ignore-tkr.F90
> > ./mpi-ignore-tkr.lo
> > ./mpi.mod
> > (7) $ make install
> > ../../../../config/install-sh -c -d
> '/Users/fortran/MPI/openmpi_1.7.4-pgi_14.3-gcc/lib'
> > /bin/sh ../../../../libtool --mode=install /usr/bin/install -c
> libmpi_usempi_ignore_tkr.la'/Users/fortran/MPI/openmpi_1.7.4-pgi_14.3-gcc/lib'
> > libtool: install: /usr/bin/install -c
> .libs/libmpi_usempi_ignore_tkr.0.dylib
> /Users/fortran/MPI/openmpi_1.7.4-pgi_14.3-gcc/lib/libmpi_usempi_ignore_tkr.0.dylib
> > install: .libs/libmpi_usempi_ignore_tkr.0.dylib: No such file or
> directory
> > make[1]: *** [install-libLTLIBRARIES] Error 71
> > make: *** [install-am] Error 2
> >
> >
> >
> > On Thu, Mar 20, 2014 at 8:37 AM, Jeff Squyres (jsquyres) <
> jsquyres_at_[hidden]> wrote:
> > Very odd. Your logfiles indicate that OMPI's configure found the right
> ignore TKR syntax and decided to build the ignore TKR mpi module.
> >
> > -----
> > checking Fortran compiler ignore TKR syntax... not cached; checking
> variants
> > checking for Fortran compiler support of TYPE(*), DIMENSION(*)... no
> > checking for Fortran compiler support of !DEC$ ATTRIBUTES
> NO_ARG_CHECK... no
> > checking for Fortran compiler support of !$PRAGMA IGNORE_TKR... no
> > checking for Fortran compiler support of !DIR$ IGNORE_TKR... yes
> > checking Fortran compiler ignore TKR syntax... 1:real,
> dimension(*):!DIR$ IGNORE_TKR
> > checking if building Fortran 'use mpi' bindings... yes
> > -----
> >
> > And then the make logs indicate that it did, indeed, build the ignore
> TKR mpi module.
> >
> > -----
> > Making all in mpi/fortran/use-mpi-ignore-tkr
> > PPFC mpi-ignore-tkr.lo
> > FCLD libmpi_usempi_ignore_tkr.la
> > -----
> >
> > And then make install fails:
> >
> > -----
> > Making install in mpi/fortran/use-mpi-ignore-tkr
> > ../../../../config/install-sh -c -d
> '/Users/fortran/MPI/openmpi_1.7.4-pgi_14.3-gcc/lib'
> > /bin/sh ../../../../libtool --mode=install /usr/bin/install -c
> libmpi_usempi_ignore_tkr.la'/Users/fortran/MPI/openmpi_1.7.4-pgi_14.3-gcc/lib'
> > libtool: install: /usr/bin/install -c
> .libs/libmpi_usempi_ignore_tkr.0.dylib
> /Users/fortran/MPI/openmpi_1.7.4-pgi_14.3-gcc/lib/libmpi_usempi_ignore_tkr.0.dylib
> > install: .libs/libmpi_usempi_ignore_tkr.0.dylib: No such file or
> directory
> > -----
> >
> > Can you do the following:
> >
> > -----
> > cd ompi_build_dir/ompi/mpi/fortran/use-mpi-ignore-tkr
> > make clean
> > make V=1
> > find .
> > make install
> > -----
> >
> >
> > On Mar 20, 2014, at 7:44 AM, Matt Thompson <fortran_at_[hidden]> wrote:
> >
> > > Jeff,
> > >
> > > It does not:
> > >
> > > Directory:
> /Users/fortran/MPI/src/openmpi-1.7.4/ompi/mpi/fortran/use-mpi-ignore-tkr/.libs
> > > (106) $ ls -ltr
> > > total 1560
> > > -rw-r--r-- 1 fortran staff 784824 Mar 18 20:47 mpi-ignore-tkr.o
> > > -rw-r--r-- 1 fortran staff 1021 Mar 18 20:47
> libmpi_usempi_ignore_tkr.lai
> > > lrwxr-xr-x 1 fortran staff 30 Mar 18 20:47
> libmpi_usempi_ignore_tkr.la@ -> ../libmpi_usempi_ignore_tkr.la
> > > lrwxr-xr-x 1 fortran staff 32 Mar 18 20:47
> libmpi_usempi_ignore_tkr.dylib@ -> libmpi_usempi_ignore_tkr.0.dylib
> > >
> > > which I guess makes sense.
> > >
> > > I'm attaching the logfiles from my compile attempt. This is the
> "basic" attempt as can be seen from the config.log file.
> > >
> > > Thanks,
> > > Matt
> > >
> > >
> > >
> > > On Thu, Mar 20, 2014 at 6:45 AM, Jeff Squyres (jsquyres) <
> jsquyres_at_[hidden]> wrote:
> > > Sorry for the delay; we're working on releasing 1.7.5 and that's
> consuming all my time...
> > >
> > > That's a strange error. Can you confirm whether
> ompi_buil_dir/ompi/mpi/fortran/use-mpi-ignore-tkr/.libs/libmpi_usempi_ignore_tkr.0.dylib
> exists or not?
> > >
> > > Can you send all the info listed here:
> > >
> > > http://www.open-mpi.org/community/help/
> > >
> > >
> > > On Mar 18, 2014, at 8:59 PM, Matt Thompson <fortran_at_[hidden]> wrote:
> > >
> > > > All,
> > > >
> > > > I recently downloaded PGI's Free OS X Fortran compiler:
> > > >
> > > > http://www.pgroup.com/products/freepgi/
> > > >
> > > > in the hope of potentially using it to compile a weather model I
> work with GEOS-5. That model requires an MPI stack and I usually start (and
> end) with Open MPI on a desktop.
> > > >
> > > > So, I grabbed Open MPI 1.7.4 and tried compiling it in a few ways.
> In each case, my C and C++ compilers were the built-in clang-y gcc and g++
> from Xcode, while pgfortran was the Fortran compiler. I tried a few
> different configures from the basic:
> > > >
> > > > $ ./configure CC=gcc CXX=g++ F77=pgfortran FC=pgfortran
> CFLAGS='-m64' CXXFLAGS='-m64' FCFLAGS='-m64' FFLAGS='-m64'
> --prefix=/Users/fortran/MPI/openmpi_1.7.4-pgi_14.3
> > > >
> > > > all the way to the "let's try every flag Google says I might use"
> version of:
> > > >
> > > > $ ./configure CC=gcc CXX=g++ F77=pgfortran FC=pgfortran CFLAGS='-m64
> -Xclang -target-feature -Xclang -aes -mmacosx-version-min=10.8'
> CXXFLAGS='-m64 -Xclang -target-feature -Xclang -aes
> -mmacosx-version-min=10.8' LDFLAGS='-m64' FCFLAGS='-m64' FFLAGS='-m64'
> --prefix=/Users/fortran/MPI/openmpi_1.7.4-pgi_14.3-gcc-mmacosx
> > > >
> > > > In every case, the configure, make, and make check worked well
> without error, but running a 'make install' led to:
> > > >
> > > > Making install in mpi/fortran/use-mpi-ignore-tkr
> > > > ../../../../config/install-sh -c -d
> '/Users/fortran/MPI/openmpi_1.7.4-pgi_14.3-gcc-mmacosx/lib'
> > > > /bin/sh ../../../../libtool --mode=install /usr/bin/install -c
> libmpi_usempi_ignore_tkr.la'/Users/fortran/MPI/openmpi_1.7.4-pgi_14.3-gcc-mmacosx/lib'
> > > > libtool: install: /usr/bin/install -c
> .libs/libmpi_usempi_ignore_tkr.0.dylib
> /Users/fortran/MPI/openmpi_1.7.4-pgi_14.3-gcc-mmacosx/lib/libmpi_usempi_ignore_tkr.0.dylib
> > > > install: .libs/libmpi_usempi_ignore_tkr.0.dylib: No such file or
> directory
> > > > make[3]: *** [install-libLTLIBRARIES] Error 71
> > > > make[2]: *** [install-am] Error 2
> > > > make[1]: *** [install-recursive] Error 1
> > > > make: *** [install-recursive] Error 1
> > > >
> > > > Any ideas on how to overcome this?
> > > >
> > > > Thanks,
> > > > Matt Thompson
> > > > --
> > > > "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
> > > >
> > > > _______________________________________________
> > > > 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/
> > >
> > > _______________________________________________
> > > 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
> > >
> > >
> <OMPI-1.7.4-Logfiles.tar.bz2>_______________________________________________
> > > 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/
> >
> > _______________________________________________
> > 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
> >
> > _______________________________________________
> > 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/
>
>
> _______________________________________________
> 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