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 <fort...@gmail.com> 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) <jsquy...@cisco.com> 
> 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 <fort...@gmail.com> 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) 
> > <jsquy...@cisco.com> 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 <fort...@gmail.com> 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
> > > us...@open-mpi.org
> > > http://www.open-mpi.org/mailman/listinfo.cgi/users
> >
> >
> > --
> > Jeff Squyres
> > jsquy...@cisco.com
> > For corporate legal information go to: 
> > http://www.cisco.com/web/about/doing_business/legal/cri/
> >
> > _______________________________________________
> > users mailing list
> > us...@open-mpi.org
> > 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
> > us...@open-mpi.org
> > http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
> --
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to: 
> http://www.cisco.com/web/about/doing_business/legal/cri/
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> 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
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


--
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/

Attachment: pgi-autotool-bug-am12-1.0.tar.bz2
Description: pgi-autotool-bug-am12-1.0.tar.bz2

Attachment: pgi-autotool-bug-am14-1.0.tar.bz2
Description: pgi-autotool-bug-am14-1.0.tar.bz2

Reply via email to