Thanks, Nysal.

 

The only problem I’m having now is connecting a libtool version (e.g. 2.2.8) with an OpenMPI version.  I’m sorry if it’s a silly question, but can you tell me in which version of OpenMPI this problem will go away?

 

Thanks, again.

 

Brian

 

 

From: users-bounces@open-mpi.org [mailto:users-bounces@open-mpi.org] On Behalf Of Nysal Jan
Sent: Wednesday, November 10, 2010 12:19 AM
To: Open MPI Users
Subject: EXTERNAL: Re: [OMPI users] Creating 64-bit objects?

 

Hi Brian,
This problem was first reported by Paul H. Hargrove in the developer mailing list. It is a bug in libtool and has been fixed in the latest release (2.2.8). More details are available here - http://www.open-mpi.org/community/lists/devel/2010/10/8606.php

Regards
--Nysal

On Wed, Nov 10, 2010 at 1:04 AM, Price, Brian M (N-KCI) <brian.m.price@lmco.com> wrote:

OpenMPI version: 1.3.3 & 1.4.3

Platform: IBM P5

Issue:  I want OpenMPI to support some existing 64-bit FORTRAN software, but I can’t seem to get 64-bit objects from OpenMPI without some modification to the Makefile in ompi/mpi/f90.

I can configure, build, and install just fine with the following compilers:

-          CC = xlC_r

-          CXX = xlC_r

-          F77 = xlf95_r

-          FC = xlf95_r

But, this configuration produces 32-bit objects for all languages.

So, to produce 64-bit objects for all languages, I supply the following flags:

-          CFLAGS = -q64

-          CXXFLAGS = -q64

-          FFLAGS = -q64

-          FCFLAGS = -q64

This configuration results in the following error during the build (more specifically, link) phase:

-          When creating libmpi_f90.la in ompi/mpi/f90

-          COMMANDS:

o   /bin/sh ../../../libtool  --mode=link xlf95_r -I../../../ompi/include -I../../../ompi/include -I. -I. -I../../../ompi/mpi/f90  -q64 -version-info 0:1:0  -export-dynamic  -o libmpi_f90.la -rpath <prefix>/lib mpi.lo mpi_sizeof.lo mpi_comm_spawn_multiple_f90.lo mpi_testall_f90.lo mpi_testsome_f90.lo mpi_waitall_f90.lo mpi_waitsome_f90.lo mpi_wtick_f90.lo mpi_wtime_f90.lo  ../../../ompi/libmpi.la -lnsl -lutil

o   libtool: link: /usr/bin/ld -m elf64ppc -shared  .libs/mpi.o .libs/mpi_sizeof.o .libs/mpi_comm_spawn_multiple_f90.o .libs/mpi_testall_f90.o .libs/mpi_testsome_f90.o .libs/mpi_waitall_f90.o .libs/mpi_waitsome_f90.o .libs/mpi_wtick_f90.o .libs/mpi_wtime_f90.lo  -L<topdir>/orte/.libs -L<topdir>/opal/.libs ../../../ompi/.libs/libmpi.so <topdir>/orte/.libs/libopen-rte.so <topdir>/opal/.libs/libopen-pal.so -ldl -lnsl -lutil  -q64  -soname libmpi_f90.so.0 -o .libs/libmpi_f90.so.0.0.1

-          OUTPUT:

/usr/bin/ld: unrecognized option ‘-q64’

/usr/bin/ld: use the --help option for usage information

make[4]: *** [libmpi_f90.la] Error 1

make[4]: Leaving directory `<topdir>/ompi/mpi/f90`

make[3]: *** [all-recursive] Error 1

make[3]: Leaving directory `<topdir>/ompi/mpi/f90`

make[2]: *** [all] Error 2

make[2]: Leaving directory `<topdir>/ompi/mpi/f90`

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `<topdir>/ompi`

make: *** [all-recursive] Error 1

 

The -q64 option, while valid for the xlf95_r compiler, is not a valid option for /usr/bin/ld.  So, I’m wondering why this option got passed to /usr/bin/ld.  After looking at <topdir>/ompi/mpi/f90/Makefile, I see that FCFLAGS shows up in link lines (“libmpi_f90_la_LINK” and “FCLINK”).  This direction seems to come from Makefile.in.

If I remove these FCFLAGS references from the Makefile, I am able to complete the build and install of OpenMPI, and it seems to correctly support my existing software.

So,  now for my question:

Should FCFLAGS show up on these links lines and, if so, how would I get 64-bit objects?

Thanks,

Brian Price

 


_______________________________________________
users mailing list
users@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users