Opened 8 years ago
Closed 8 years ago
#52316 closed defect (fixed)
scalapack @2.0.2_1 Configure error - build failure on macOS Sierra
Reported by: | naupacte@… | Owned by: | seanfarley (Sean Farley) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.99 |
Keywords: | Cc: | dstrubbe (David Strubbe), dershow, aaschwanden (Andy Aschwanden) | |
Port: | scalapack |
Description
OUTPUT of /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_scalapack/scalapack/main.log:
... :info:configure -- Compiling and Building BLACS INSTALL Testing to set correct variables :info:configure -- Configure in the INSTALL directory successful :info:configure CMake Error at CMAKE/FortranMangling.cmake:39 (MESSAGE): :info:configure Build in the BLACS INSTALL directory FAILED :info:configure Call Stack (most recent call first): :info:configure CMakeLists.txt:122 (COMPILE) :info:configure -- Configuring incomplete, errors occurred!
Change History (13)
comment:1 Changed 8 years ago by mf2k (Frank Schima)
Owner: | changed from macports-tickets@… to sean@… |
---|---|
Port: | scalapack added |
comment:2 Changed 8 years ago by dstrubbe (David Strubbe)
I get this too. Not sure if this sheds any light, but I looked for more info in CMakeFiles/CMakeOutput.log and it says:
Determining if the Fortran compiler supports Fortran 90 passed with the following output: Change Dir: /opt/local/var/macports/build/_Users_dstrubbe_Software_MacPorts_macports-ports_math_scalapack/scalapack/work/scalapack-2.0.2/CMakeFiles/CMakeTmp Run Build Command:"/usr/bin/make" "cmTC_620af/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_620af.dir/build.make CMakeFiles/cmTC_620af.dir/build Building Fortran object CMakeFiles/cmTC_620af.dir/testFortranCompilerF90.f90.o /opt/local/bin/mpif90-mpich-mp -pipe -Os -mmacosx-version-min=10.12 -c /opt/local/var/macports/build/_Users_dstrubbe_Software_MacPorts_macports-ports_math_scalapack/scalapack/work/scalapack-2.0.2/CMakeFiles/CMakeTmp/testFortranCompilerF90.f90 -o CMakeFiles/cmTC_620af.dir/testFortranCompilerF90.f90.o Linking Fortran executable cmTC_620af /opt/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_620af.dir/link.txt --verbose=1 /opt/local/bin/mpif90-mpich-mp -L/opt/local/lib -Wl,-headerpad_max_install_names -pipe -Os -mmacosx-version-min=10.12 CMakeFiles/cmTC_620af.dir/testFortranCompilerF90.f90.o -o cmTC_620af
comment:3 Changed 8 years ago by dstrubbe (David Strubbe)
Cc: | dstrubbe added |
---|
comment:4 Changed 8 years ago by dershow
Cc: | dershow added |
---|
comment:5 Changed 8 years ago by dstrubbe (David Strubbe)
This issue was reported for homebrew also (but no more information provided unfortunately): https://github.com/Homebrew/homebrew-science/issues/3042
comment:6 Changed 8 years ago by dstrubbe (David Strubbe)
Ok I have found the real error info, in BLACS/INSTALL/CMakeFiles/CMakeError.log:
Determining if the Fortran compiler works failed with the following output: Change Dir: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/INSTALL/CMakeFiles/CMakeTmp Run Build Command:"/usr/bin/make" "cmTC_1bae1/fast" /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/cmTC_1bae1.dir/build.make CMakeFiles/cmTC_1bae1.dir/build Building Fortran object CMakeFiles/cmTC_1bae1.dir/testFortranCompiler.f.o /opt/local/bin/mpif90-openmpi-mp -pipe -Os -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.12 -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_scalapack/scalapack/work/scalapack-2.0.2/BLACS/INSTALL/CMakeFiles/CMakeTmp/testFortranCompiler.f -o CMakeFiles/cmTC_1bae1.dir/testFortranCompiler.f.o Linking Fortran executable cmTC_1bae1 /opt/local/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1bae1.dir/link.txt --verbose=1 /opt/local/bin/mpif90-openmpi-mp -L/opt/local/lib -Wl,-headerpad_max_install_names -pipe -Os -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.12 CMakeFiles/cmTC_1bae1.dir/testFortranCompiler.f.o -o cmTC_1bae1 ld: unexpected token: !tapi-tbd-v2 file '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib/libSystem.tbd' for architecture x86_64 collect2: error: ld returned 1 exit status make[1]: *** [cmTC_1bae1] Error 1 make: *** [cmTC_1bae1/fast] Error 2
comment:7 Changed 8 years ago by dstrubbe (David Strubbe)
Apparently this is actually a system bug as noted in ticket #53151
comment:9 Changed 8 years ago by gaming-hacker (G Alexander)
can't you build it by hand? i cringe when i see cmake being used. download the src tarball, configure the makefile? i don't know why you need sys libs, these are number crunching routines.
comment:10 Changed 8 years ago by aaschwanden (Andy Aschwanden)
Cc: | aaschwanden added |
---|
comment:11 Changed 8 years ago by aaschwanden (Andy Aschwanden)
I eventually found a solution to this, see https://groups.google.com/forum/#!topic/v8-users/JfOxG8xiH6M.
It appears the the wrong
ld
command (the one from MacPorts in /opt/local/bin' is used. A workaround is to rename
/opt/local/bin/ld
before compiling scalapack and then undo the change afterwards. This lets me compile scalapack successfully.
There might be a more elegant solution, but I'm not a MacPorts expert.
comment:12 Changed 8 years ago by seanfarley (Sean Farley)
Thanks for the tip, Andy! I'll try it out this weekend.
comment:13 Changed 8 years ago by seanfarley (Sean Farley)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Finally figured out the fix for this, committed here: https://github.com/macports/macports-ports/commit/9b1bac79563d8402d6352ffb0a86c9f3bad9fe88
Basically, just make sure port install ld64 +ld64_xcode
is active. Then it'll compile and run.
In the future, please fill in the Port field and Cc the port maintainers (
port info --maintainers scalapack
), if any.