Hi folks, I tried to build openmpi-1.8.2 with PGI fortran and -i8(64bit fortran int) option as shown below:
./configure \ --prefix=/home/mishima/opt/mpi/openmpi-1.8.2-pgi14.7_int64 \ --enable-abi-breaking-fortran-status-i8-fix \ --with-tm \ --with-verbs \ --disable-ipv6 \ CC=pgcc CFLAGS="-tp k8-64e -fast" \ CXX=pgCC CXXFLAGS="-tp k8-64e -fast" \ F77=pgfortran FFLAGS="-i8 -tp k8-64e -fast" \ FC=pgfortran FCFLAGS="-i8 -tp k8-64e -fast" Then I saw this compile error in making oshmem at the last stage: if test ! -r pshmem_real8_swap_f.c ; then \ pname=`echo pshmem_real8_swap_f.c | cut -b '2-'` ; \ ln -s ../../../../oshmem/shmem/fortran/$pname pshmem_real8_swap_f.c ; \ fi CC pshmem_real8_swap_f.lo if test ! -r pshmem_int4_cswap_f.c ; then \ pname=`echo pshmem_int4_cswap_f.c | cut -b '2-'` ; \ ln -s ../../../../oshmem/shmem/fortran/$pname pshmem_int4_cswap_f.c ; \ fi CC pshmem_int4_cswap_f.lo PGC-S-0058-Illegal lvalue (pshmem_int4_cswap_f.c: 39) PGC/x86-64 Linux 14.7-0: compilation completed with severe errors make[3]: *** [pshmem_int4_cswap_f.lo] Error 1 make[3]: Leaving directory `/home/mishima/mis/openmpi/openmpi-pgi14.7/int64/openmpi-1.8.2/oshmem/shmem/fortran/profile' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/mishima/mis/openmpi/openmpi-pgi14.7/int64/openmpi-1.8.2/oshmem/shmem/fortran' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/mishima/mis/openmpi/openmpi-pgi14.7/int64/openmpi-1.8.2/oshmem' make: *** [all-recursive] Error 1 I confirmed that it worked if I added configure option of --disable-oshmem. So, I hope that oshmem experts would fix this problem. (additional note) I switched to use gnu compiler and checked with this configuration, then I got the same error: ./configure \ --prefix=/home/mishima/opt/mpi/openmpi-1.8.2-gnu_int64 \ --enable-abi-breaking-fortran-status-i8-fix \ --disable-ipv6 \ F77=gfortran \ FC=gfortran \ CC=gcc \ CXX=g++ \ FFLAGS="-m64 -fdefault-integer-8" \ FCFLAGS="-m64 -fdefault-integer-8" \ CFLAGS=-m64 \ CXXFLAGS=-m64 make .... if test ! -r pshmem_int4_cswap_f.c ; then \ pname=`echo pshmem_int4_cswap_f.c | cut -b '2-'` ; \ ln -s ../../../../oshmem/shmem/fortran/$pname pshmem_int4_cswap_f.c ; \ fi CC pshmem_int4_cswap_f.lo pshmem_int4_cswap_f.c: In function 'shmem_int4_cswap_f': pshmem_int4_cswap_f.c:39: error: invalid lvalue in unary '&' make[3]: *** [pshmem_int4_cswap_f.lo] Error 1 Regards Tetsuya Mishima