Opened 5 years ago
Last modified 9 months ago
#58635 new defect
scalapack @2.02+gcc9+openmpi+openblas: error: expected expression before '_Static_assert'
Reported by: | lazersos (Samuel Lazerson) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.2 |
Keywords: | Cc: | ||
Port: | scalapack |
Description
I'm try to install scalapack but the code is failing to compile. This is on Mojave 10.14.5. Here's the port log:
> install scalapack +gcc9 +openmpi +openblas ---> Computing dependencies for scalapack ---> Fetching archive for scalapack ---> Attempting to fetch scalapack-2.0.2_4+gcc9+openblas+openmpi.darwin_18.x86_64.tbz2 from https://packages.macports.org/scalapack ---> Attempting to fetch scalapack-2.0.2_4+gcc9+openblas+openmpi.darwin_18.x86_64.tbz2 from http://ywg.ca.packages.macports.org/mirror/macports/packages/scalapack ---> Attempting to fetch scalapack-2.0.2_4+gcc9+openblas+openmpi.darwin_18.x86_64.tbz2 from http://aus.us.packages.macports.org/macports/packages/scalapack ---> Fetching distfiles for scalapack ---> Verifying checksums for scalapack ---> Extracting scalapack ---> Configuring scalapack ---> Building scalapack Error: Failed to build scalapack: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/main.log for details. Error: Follow https://guide.macports.org/#project.tickets to report a bug. Error: Processing of port scalapack failed
The first lines where an error is report in the log look like:
:info:build /opt/local/bin/mpicc-openmpi-gcc9 -DAdd_ -Dscalapack_EXPORTS -pipe -Os -DNDEBUG -I/opt/local/include -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -mmacosx-version-min=10.14 -fPIC -o CMakeFiles/scalapack.dir/BLACS/SRC/dgamx2d_.c.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/dgamx2d_.c :info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/zgsum2d_.c:1: :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/zgsum2d_.c: In function 'zgsum2d_': :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/Bdef.h:295:9: warning: implicit declaration of function 'BI_dmvcopy'; did you mean 'BI_zmvcopy'? [-Wimplicit-function-declaration] :info:build 295 | BI_dmvcopy(2*(m), (n), (double *) (A), 2*(lda), (double *) (buff)) :info:build | ^~~~~~~~~~ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/zgsum2d_.c:156:7: note: in expansion of macro 'BI_zmvcopy' :info:build 156 | BI_zmvcopy(Mpval(m), Mpval(n), A, tlda, bp->Buff); :info:build | ^~~~~~~~~~ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/Bdef.h:297:9: warning: implicit declaration of function 'BI_dvmcopy'; did you mean 'BI_cvmcopy'? [-Wimplicit-function-declaration] :info:build 297 | BI_dvmcopy(2*(m), (n), (double *) (A), 2*(lda), (double *) (buff)) :info:build | ^~~~~~~~~~ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/zgsum2d_.c:171:6: note: in expansion of macro 'BI_zvmcopy' :info:build 171 | BI_zvmcopy(Mpval(m), Mpval(n), A, tlda, bp2->Buff); :info:build | ^~~~~~~~~~ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/sgamx2d_.c: In function 'sgamx2d_': :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/sgamx2d_.c:202:7: warning: implicit declaration of function 'BI_smvcopy'; did you mean 'BI_zmvcopy'? [-Wimplicit-function-declaration] :info:build 202 | BI_smvcopy(Mpval(m), Mpval(n), A, tlda, bp->Buff); :info:build | ^~~~~~~~~~ :info:build | BI_zmvcopy :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/igamx2d_.c: In function 'igamx2d_': :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/igamx2d_.c:199:7: warning: implicit declaration of function 'BI_imvcopy'; did you mean 'BI_zmvcopy'? [-Wimplicit-function-declaration] :info:build 199 | BI_imvcopy(Mpval(m), Mpval(n), A, tlda, bp->Buff); :info:build | ^~~~~~~~~~ :info:build | BI_zmvcopy :info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/Bconfig.h:16, :info:build from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/Bdef.h:7, :info:build from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/sgamx2d_.c:1: :info:build /opt/local/include/openmpi-gcc9/mpi.h:322:57: error: expected expression before '_Static_assert' :info:build 322 | #define THIS_SYMBOL_WAS_REMOVED_IN_MPI30(func, newfunc) _Static_assert(0, #func " was removed in MPI-3.0. Use " #newfunc " instead.") :info:build | ^~~~~~~~~~~~~~ :info:build /opt/local/include/openmpi-gcc9/mpi.h:2824:31: note: in expansion of macro 'THIS_SYMBOL_WAS_REMOVED_IN_MPI30' :info:build 2824 | #define MPI_Type_struct(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_struct, MPI_Type_create_struct) :info:build | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/sgamx2d_.c:224:12: note: in expansion of macro 'MPI_Type_struct' :info:build 224 | ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType); :info:build | ^~~~~~~~~~~~~~~ :info:build In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/Bconfig.h:16, :info:build from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/Bdef.h:7, :info:build from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/SRC/igamx2d_.c:1: :info:build /opt/local/include/openmpi-gcc9/mpi.h:322:57: error: expected expression before '_Static_assert'
I'm attaching the full log file.
Attachments (1)
Change History (12)
Changed 5 years ago by lazersos (Samuel Lazerson)
comment:1 Changed 5 years ago by mf2k (Frank Schima)
Keywords: | Mojave scalapack openmpi gcc9 removed |
---|
comment:3 follow-up: 4 Changed 5 years ago by lazersos (Samuel Lazerson)
Well I think I found the problem and it's really related to BLACS. I downloaded the Scalapack sources and tried to compile manually. I found that the issue was linked to preprocessor directives when compiling the BLACS portion of the code. In order to get it to work I had to change a line in the SLmake.inc file. Specifically from
TRANSCOMM = -DUseMpi2
to
TRANSCOMM = -DUseMpi3
I suspect this whole issue is really related to attempting to compile the BLACS portion of the software with MPI4.0. Since that's the standard that's loaded with openMPI now. Also this issue seems to affect gcc8 as well. Thus is real issue is the use of the MPI 4 standard now in OpenMPI. Should be a quick fix as only the SLmake.inc file needs to be updated but I'm not sure how to go about doing that as it requires changes to the distribution sources rather than the portfile.
comment:4 follow-up: 5 Changed 5 years ago by ufdup
Hi, I also tried the same (download the original source code and compile by hand). I think you're right. The compilation breaks when compiling BLACS. However, I could implement your fix because I could not find where to place the TRANSCOMM option.
Did you just include a new line in SLMake.inc?
Which version of scalapak did you download? 2.0.2?
Replying to lazersos:
Well I think I found the problem and it's really related to BLACS. I downloaded the Scalapack sources and tried to compile manually. I found that the issue was linked to preprocessor directives when compiling the BLACS portion of the code. In order to get it to work I had to change a line in the SLmake.inc file. Specifically from
TRANSCOMM = -DUseMpi2to
TRANSCOMM = -DUseMpi3I suspect this whole issue is really related to attempting to compile the BLACS portion of the software with MPI4.0. Since that's the standard that's loaded with openMPI now. Also this issue seems to affect gcc8 as well. Thus is real issue is the use of the MPI 4 standard now in OpenMPI. Should be a quick fix as only the SLmake.inc file needs to be updated but I'm not sure how to go about doing that as it requires changes to the distribution sources rather than the portfile.
comment:5 Changed 5 years ago by lazersos (Samuel Lazerson)
Yes I just modified the SLMake.inc file.
Replying to ufdup:
Hi, I also tried the same (download the original source code and compile by hand). I think you're right. The compilation breaks when compiling BLACS. However, I could implement your fix because I could not find where to place the TRANSCOMM option.
Did you just include a new line in SLMake.inc?
Which version of scalapak did you download? 2.0.2?
Replying to lazersos:
Well I think I found the problem and it's really related to BLACS. I downloaded the Scalapack sources and tried to compile manually. I found that the issue was linked to preprocessor directives when compiling the BLACS portion of the code. In order to get it to work I had to change a line in the SLmake.inc file. Specifically from
TRANSCOMM = -DUseMpi2to
TRANSCOMM = -DUseMpi3I suspect this whole issue is really related to attempting to compile the BLACS portion of the software with MPI4.0. Since that's the standard that's loaded with openMPI now. Also this issue seems to affect gcc8 as well. Thus is real issue is the use of the MPI 4 standard now in OpenMPI. Should be a quick fix as only the SLmake.inc file needs to be updated but I'm not sure how to go about doing that as it requires changes to the distribution sources rather than the portfile.
comment:6 Changed 5 years ago by lazersos (Samuel Lazerson)
Version: | 2.5.4 → 2.6.2 |
---|
Still an issue with 2.6.2
comment:7 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | scalapack @2.02+gcc9+openmpi+openblas: Fails to build → scalapack @2.02+gcc9+openmpi+openblas: error: expected expression before '_Static_assert' |
---|
It's unlikely that MacPorts base is responsible for the problem so it's unlikely that any update of MacPorts base would fix it. More likely an update of scalapack or its dependencies would fix it. Do you still see the problem with scalapack @2.1.0?
comment:8 Changed 4 years ago by mascguy (Christopher Nielsen)
Cc: | mascguy added |
---|
comment:10 Changed 4 years ago by mascguy (Christopher Nielsen)
Cc: | mascguy removed |
---|
Log file for build of scalapack@2.0.2 on Mojave