Build failure for vendored MatrixSwitch library
I'm trying to build ELSI 2.7.1 on OSX, but encountered an issue with the vendored MatrixSwitch library. The build is done using GFortran 9.3 and Clang 11.1, cmake 3.21, ninja 1.10.2, OpenMPI 4.1.1, NTPoly 2.7.
Linking the MatrixSwitch.dylib fails, probably due to missing link dependencies in CMake:
[143/193] Linking Fortran shared library lib/libMatrixSwitch.dylib
FAILED: lib/libMatrixSwitch.dylib
: && $PREFIX/bin/mpifort -march=core2 -mtune=haswell -ftree-vectorize -fPIC -fstack-protector -O2 -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/elsi-2.7.1 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -DNDEBUG -O3 -isysroot /Applications/Xcode_12.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.9 -dynamiclib -Wl,-headerpad_max_install_names -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-rpath,$PREFIX/lib -L$PREFIX/lib -o lib/libMatrixSwitch.dylib -install_name @rpath/libMatrixSwitch.dylib external/libOMM/CMakeFiles/MatrixSwitch.dir/src/MatrixSwitch/MatrixSwitch_ops.f90.o external/libOMM/CMakeFiles/MatrixSwitch.dir/src/MatrixSwitch/ms_mm_multiply.f90.o external/libOMM/CMakeFiles/MatrixSwitch.dir/src/MatrixSwitch/ms_m_add.f90.o external/libOMM/CMakeFiles/MatrixSwitch.dir/src/MatrixSwitch/ms_m_set.f90.o external/libOMM/CMakeFiles/MatrixSwitch.dir/src/MatrixSwitch/ms_m_copy.f90.o external/libOMM/CMakeFiles/MatrixSwitch.dir/src/MatrixSwitch/ms_m_register.f90.o external/libOMM/CMakeFiles/MatrixSwitch.dir/src/MatrixSwitch/MatrixSwitch.f90.o external/libOMM/CMakeFiles/MatrixSwitch.dir/src/MatrixSwitch/ms_mpifh.f90.o $PREFIX/lib/libNTPoly.dylib && :
ld: warning: -pie being ignored. It is only used when linking a main executable
___matrixswitch_MOD_mm_dmultiply in MatrixSwitch.f90.o
"_pdlaset_", referenced from:
___matrixswitch_MOD_m_dset in MatrixSwitch.f90.o
"_pdlatra_", referenced from:
___matrixswitch_MOD_m_dtrace in MatrixSwitch.f90.o
"_pzelget_", referenced from:
___matrixswitch_MOD_m_zget_element in MatrixSwitch.f90.o
___matrixswitch_MOD_m_zset_element in MatrixSwitch.f90.o
"_pzelset_", referenced from:
___matrixswitch_MOD_m_zset_element in MatrixSwitch.f90.o
"_pzgeadd_", referenced from:
___matrixswitch_MOD_m_zadd in MatrixSwitch.f90.o
"_pzgemm_", referenced from:
___matrixswitch_MOD_mm_zmultiply in MatrixSwitch.f90.o
"_pzlaset_", referenced from:
___matrixswitch_MOD_m_zset in MatrixSwitch.f90.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
Conda info
++ /Users/runner/mambaforge/bin/conda info
active environment : base
active env location : /Users/runner/mambaforge
shell level : 1
user config file : /Users/runner/.condarc
populated config files : /Users/runner/mambaforge/.condarc
/Users/runner/.condarc
conda version : 4.10.3
conda-build version : 3.21.4
python version : 3.9.7.final.0
virtual packages : __osx=10.15.7=0
__unix=0=0
__archspec=1=x86_64
base environment : /Users/runner/mambaforge (writable)
conda av data dir : /Users/runner/mambaforge/etc/conda
conda av metadata url : None
channel URLs : https://conda.anaconda.org/conda-forge/osx-64
https://conda.anaconda.org/conda-forge/noarch
package cache : /Users/runner/mambaforge/pkgs
/Users/runner/.conda/pkgs
envs directories : /Users/runner/mambaforge/envs
/Users/runner/.conda/envs
platform : osx-64
user-agent : conda/4.10.3 requests/2.26.0 CPython/3.9.7 Darwin/19.6.0 OSX/10.15.7
UID:GID : 501:20
netrc file : None
offline mode : False