Re: [OMPI users] Creating 64-bit PPC objects with xlc?
I wonder if this is a Libtool bug. Brad / Nysal / IBM -- are you able to replicate this issue with the 1.4.3 tarballs? If so, are you able to replace it with a 1.5 tarball? (we changed versions of Libtool between 1.3.x/1.4.x and 1.5) On Nov 9, 2010, at 2:34 PM, Price, Brian M (N-KCI) 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 /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/orte/.libs -L/opal/.libs ../../../ompi/.libs/libmpi.so > /orte/.libs/libopen-rte.so /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 `/ompi/mpi/f90` > make[3]: *** [all-recursive] Error 1 > make[3]: Leaving directory `/ompi/mpi/f90` > make[2]: *** [all] Error 2 > make[2]: Leaving directory `/ompi/mpi/f90` > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/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 /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 > 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/
Re: [OMPI users] Creating 64-bit objects?
How are you specifying these flags? Are you setting them as environment variables, or are you adding them to the configure command line? Can you show us the exact commands you used? Prentice Price, Brian M (N-KCI) 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 /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/orte/.libs -L/opal/.libs > ../../../ompi/.libs/libmpi.so /orte/.libs/libopen-rte.so > /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 `/ompi/mpi/f90` > > make[3]: *** [all-recursive] Error 1 > > make[3]: Leaving directory `/ompi/mpi/f90` > > make[2]: *** [all] Error 2 > > make[2]: Leaving directory `/ompi/mpi/f90` > > make[1]: *** [all-recursive] Error 1 > > make[1]: Leaving directory `/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 /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 > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users
[OMPI users] Creating 64-bit objects?
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 /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/orte/.libs -L/opal/.libs ../../../ompi/.libs/libmpi.so /orte/.libs/libopen-rte.so /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 `/ompi/mpi/f90` make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/ompi/mpi/f90` make[2]: *** [all] Error 2 make[2]: Leaving directory `/ompi/mpi/f90` make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/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 /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