Re: [OMPI devel] oshmem-openmpi-1.8.2 causes compile error with -i8(64bit fortarn integer) configuration
I took care of it - thanks! On Sep 16, 2014, at 7:36 AM, tmish...@jcity.maeda.co.jp wrote: > Gilles, > > Your patch looks good to me and I think this issue should be fixed > in the upcoming openmpi-1.8.3. Could you commit it to the trunk and > create a CMR for it? > > Tetsuya > >> Mishima-san, >> >> the root cause is macro expansion does not always occur as one would >> have expected ... >> >> could you please give a try to the attached patch ? >> >> it compiles (at least with gcc) and i made zero tests so far >> >> Cheers, >> >> Gilles >> >> On 2014/09/01 10:44, tmish...@jcity.maeda.co.jp wrote: >>> 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 >>> >>> ___ >>> devel mailing list >>> de...@open-mpi.org >>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >>> Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/08/15764.php >> >> - oshmem.i8.patch___ >> devel mailing list >> de...@open-mpi.org >> Subscription: > http://www.open-mpi.org/mailman/listinfo.cgi/develSearchable archives: > http://www.open-mpi.org/community/lists/devel/2014/09/index.php > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/09/15838.php
Re: [OMPI devel] oshmem-openmpi-1.8.2 causes compile error with -i8(64bit fortarn integer) configuration
Gilles, Your patch looks good to me and I think this issue should be fixed in the upcoming openmpi-1.8.3. Could you commit it to the trunk and create a CMR for it? Tetsuya > Mishima-san, > > the root cause is macro expansion does not always occur as one would > have expected ... > > could you please give a try to the attached patch ? > > it compiles (at least with gcc) and i made zero tests so far > > Cheers, > > Gilles > > On 2014/09/01 10:44, tmish...@jcity.maeda.co.jp wrote: > > 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 > > > > ___ > > devel mailing list > > de...@open-mpi.org > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > > Link to this post: http://www.open-mpi.org/community/lists/devel/2014/08/15764.php > > - oshmem.i8.patch___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/develSearchable archives: http://www.open-mpi.org/community/lists/devel/2014/09/index.php
Re: [OMPI devel] oshmem-openmpi-1.8.2 causes compile error with -i8(64bit fortarn integer) configuration
Gilles, Thank you for your fix. I successfully compiled it with PGI, although I could not check it executing actual test run. Tetsuya > Mishima-san, > > the root cause is macro expansion does not always occur as one would > have expected ... > > could you please give a try to the attached patch ? > > it compiles (at least with gcc) and i made zero tests so far > > Cheers, > > Gilles > > On 2014/09/01 10:44, tmish...@jcity.maeda.co.jp wrote: > > 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 > > > > ___ > > devel mailing list > > de...@open-mpi.org > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > > Link to this post: http://www.open-mpi.org/community/lists/devel/2014/08/15764.php > > - oshmem.i8.patch___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/develSearchable archives: http://www.open-mpi.org/community/lists/devel/2014/09/index.php
Re: [OMPI devel] oshmem-openmpi-1.8.2 causes compile error with -i8(64bit fortarn integer) configuration
Mishima-san, the root cause is macro expansion does not always occur as one would have expected ... could you please give a try to the attached patch ? it compiles (at least with gcc) and i made zero tests so far Cheers, Gilles On 2014/09/01 10:44, tmish...@jcity.maeda.co.jp wrote: > 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 > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/08/15764.php Index: oshmem/shmem/fortran/shmem_int4_cswap_f.c === --- oshmem/shmem/fortran/shmem_int4_cswap_f.c (revision 32657) +++ oshmem/shmem/fortran/shmem_int4_cswap_f.c (working copy) @@ -2,6 +2,8 @@ * Copyright (c) 2013 Mellanox Technologies, Inc. * All rights reserved. * Copyright (c) 2013 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2014 Research Organization for Information Science + * and Technology (RIST). All rights reserved. * $COPYRIGHT$ * * Additional copyrights may follow @@ -38,7 +40,7 @@ MCA_ATOMIC_CALL(cswap(FPTR_2_VOID_PTR(target), (void *)_value, -(const void*)(_FINT_2_INT(*cond)), +(const void*)(OMPI_PFINT_2_PINT(cond)), FPTR_2_VOID_PTR(value), sizeof(out_value), OMPI_FINT_2_INT(*pe))); Index: oshmem/shmem/fortran/shmem_int8_cswap_f.c === --- oshmem/shmem/fortran/shmem_int8_cswap_f.c (revision 32657) +++ oshmem/shmem/fortran/shmem_int8_cswap_f.c (working copy) @@ -2,6 +2,8 @@ * Copyright (c) 2013 Mellanox Technologies, Inc. * All rights reserved. * Copyright (c) 2013 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2014 Research Organization for Information Science + * and Technology (RIST). All rights reserved. * $COPYRIGHT$ * * Additional copyrights may follow @@ -38,7 +40,7 @@ MCA_ATOMIC_CALL(cswap(FPTR_2_VOID_PTR(target), (void *)_value, -(const void*)(_FINT_2_INT(*cond)), +(const
[OMPI devel] oshmem-openmpi-1.8.2 causes compile error with -i8(64bit fortarn integer) configuration
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