Dear OpenMPI pros When I try to build OpenMPI 1.4.4 with PGI compilers 11.7 [pgcc, pgcc, pgfortran] I get the awkward error message on the bottom of this email.
I say awkward because I assigned the value 'shanghai-64' to the '-tp' flag, as you can see from the successful 'libtool:compile' command in the error message. However, the subsequent 'libtool:link' command has '-tp' without a value. Note that the remaining flags '-fast -Mfprelaxed' were also dropped in the libtool:link command. The 'partial' flag '-tp' is worse than no flag at all, and the pgcc compiler fails. By contrast, OpenMPI 1.4.3 builds just fine with the same compilers and the same compiler flags. Is this the revival of an old idiosyncrasy between libtool and PGI? Could perhaps the OMPI 1.4.4. configure script have stripped off my compiler flags after '-tp', when passing it to libtool in link mode? [Somehow it works in 1.4.3.] Is there any workaround or patch? Many thanks, Gus Correa ****** More details: CentOS Linux 5.2 x86_64, libtool 1.5.22, PGI 11.7. Configure parameters: export CC=pgcc export CXX=pgcpp export F77='pgfortran' export FC=${F77} export CFLAGS='-tp shanghai-64 -fast -Mfprelaxed' export CXXFLAGS=${CFLAGS} export FFLAGS=${CFLAGS} export FCFLAGS=${FFLAGS} ../configure \ --prefix=${MYINSTALLDIR} \ --with-libnuma=/usr \ --with-tm=/opt/torque/2.4.11/gnu-4.1.2 \ --with-openib=/usr \ --enable-static \ 2>&1 | tee configure_${build_id}.log **** #################### ERROR MESSAGE ########################### libtool: compile: pgcc -DHAVE_CONFIG_H -I. -I../../../../../opal/mca/memory/ptmalloc2 -I../../../../opal/include -I../../../../orte/include -I../../../../ompi/include -I../../../../opal/mca/paffinity/linux/plpa/src/libplpa -DMALLOC_DEBUG=0 -D_GNU_SOURCE=1 -DUSE_TSD_DATA_HACK=1 -DMALLOC_HOOKS=1 -I../../../../../opal/mca/memory/ptmalloc2/sysdeps/pthread -I../../../../../opal/mca/memory/ptmalloc2/sysdeps/generic -I../../../../.. -I../../../.. -I../../../../../opal/include -I../../../../../orte/include -I../../../../../ompi/include -D_REENTRANT -DNDEBUG -tp shanghai-64 -fast -Mfprelaxed -c ../../../../../opal/mca/memory/ptmalloc2/dummy.c -o dummy.o >/dev/null 2>&1 /bin/sh ../../../../libtool --tag=CC --mode=link pgcc -DNDEBUG -tp shanghai-64 -fast -Mfprelaxed -export-dynamic -o libopenmpi_malloc.la -rpath /home/sw/openmpi/1.4.4/pgi-11.7/lib dummy.lo -lnsl -lutil libtool: link: pgcc -shared -fpic -DPIC .libs/dummy.o -lnsl -lutil -lc -tp -Wl,-soname -Wl,libopenmpi_malloc.so.0 -o .libs/libopenmpi_malloc.so.0.0.0 pgcc-Fatal-Switch -tp must have a value -tp=amd64|amd64e|athlon|athlonxp|barcelona|barcelona-32|barcelona-64|core2|core2-32|core2-64|istanbul|istanbul-32|istanbul-64|k7|k8|k8-32|k8-64|k8-64e|nehalem|nehalem-32|nehalem-64|p5|p6|p7|p7-32|p7-64|penryn|penryn-32|penryn-64|piii|piv|px|px-32|px-64|sandybridge|sandybridge-32|sandybridge-64|shanghai|shanghai-32|shanghai-64|x64 Choose target processor type amd64 Same as -tp k8-64 amd64e Same as -tp k8-64e athlon AMD 32-bit Athlon Processor athlonxp AMD 32-bit Athlon XP Processor barcelona AMD Barcelona processor barcelona-32 AMD Barcelona processor, 32-bit mode barcelona-64 AMD Barcelona processor, 64-bit mode core2 Intel Core-2 Architecture core2-32 Intel Core-2 Architecture, 32-bit mode core2-64 Intel Core-2 Architecture, 64-bit mode istanbul AMD Istanbul processor istanbul-32 AMD Istanbul processor, 32-bit mode istanbul-64 AMD Istanbul processor, 64-bit mode k7 AMD Athlon Processor k8 AMD64 Processor k8-32 AMD64 Processor 32-bit mode k8-64 AMD64 Processor 64-bit mode k8-64e AMD64 Processor rev E or later, 64-bit mode nehalem Intel Nehalem processor nehalem-32 Intel Nehalem processor, 32-bit mode nehalem-64 Intel Nehalem processor, 64-bit mode p5 Intel P5 Pentium Architecture p6 Intel P6 Architecture (Pentium Pro, II, III) p7 Intel P7 Architecture (Pentium 4, Xeon, Centrino) p7-32 Intel P7 Architecture (Pentium 4, Xeon, Centrino) p7-64 Intel P7 Architecture with EM64T, 64-bit mode penryn Intel Penryn Architecture penryn-32 Intel Penryn Architecture, 32-bit mode penryn-64 Intel Penryn Architecture, 64-bit mode piii Intel Pentium III piv Intel Pentium 4 px Generic x86 Processor px-32 Generic x86 Processor, 32-bit mode px-64 Generic x86-64 architecture sandybridge Intel SandyBridge processor sandybridge-32 Intel SandyBridge processor, 32-bit mode sandybridge-64 Intel SandyBridge processor, 64-bit mode shanghai AMD Shanghai processor shanghai-32 AMD Shanghai processor, 32-bit mode shanghai-64 AMD Shanghai processor, 64-bit mode x64 Unified AMD/Intel 64-bit mode make[2]: *** [libopenmpi_malloc.la] Error 2 make[2]: Leaving directory `/home/swinst/openmpi/1.4.4/openmpi-1.4.4/build_pgi-11.7/opal/mca/memory/ptmalloc2' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/swinst/openmpi/1.4.4/openmpi-1.4.4/build_pgi-11.7/opal' make: *** [all-recursive] Error 1