Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] Creating 64-bit objects?
From: Nysal Jan (jnysal_at_[hidden])
Date: 2010-11-10 02:19:16


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_at_[hidden]> 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_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>