m-a-d-n-e-s-s / madness

Multiresolution Adaptive Numerical Environment for Scientific Simulation
GNU General Public License v2.0
176 stars 61 forks source link

lapack.cc uses symbols not present in Accelerate #458

Open barracuda156 opened 1 year ago

barracuda156 commented 1 year ago

lapack.cc.o uses symbols not present in Accelerate, which breaks linking:

/opt/local/bin/mpicxx-mpich-gcc12 -pipe -I/opt/local/libexec/boost/1.76/include -Os -fpermissive -DNDEBUG -I/opt/local/libexec/boost/1.76/include -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17 -arch ppc -mmacosx-version-min=10.6 -dynamiclib -Wl,-headerpad_max_install_names -L/opt/local/libexec/boost/1.76/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc -o libMADlinalg.dylib -install_name @rpath/libMADlinalg.dylib "CMakeFiles/MADlinalg-obj.dir/lapack.cc.o" "CMakeFiles/MADlinalg-obj.dir/solvers.cc.o" "CMakeFiles/MADlinalg-obj.dir/elem.cc.o" "CMakeFiles/MADlinalg-obj.dir/SVDTensor.cc.o" "CMakeFiles/MADlinalg-obj.dir/RandomizedMatrixDecomposition.cc.o" "CMakeFiles/MADlinalg-obj.dir/linalg_wrappers.cc.o"  -Wl,-rpath,/opt/local/lib libMADtensor.dylib -lvecLibFort ../misc/libMADmisc.dylib ../world/libMADworld.dylib 
Undefined symbols:
  "_zpstrf_", referenced from:
      __ZN7madness11rr_choleskyISt7complexIdEEEvRNS_6TensorIT_EENS5_11scalar_typeERNS3_IiEERi in lapack.cc.o
  "_cpstrf_", referenced from:
      __ZN7madness11rr_choleskyISt7complexIfEEEvRNS_6TensorIT_EENS5_11scalar_typeERNS3_IiEERi in lapack.cc.o
  "_spstrf_", referenced from:
      __ZN7madness11rr_choleskyIfEEvRNS_6TensorIT_EENS3_11scalar_typeERNS1_IiEERi in lapack.cc.o
  "_dpstrf_", referenced from:
      __ZN7madness11rr_choleskyIdEEvRNS_6TensorIT_EENS3_11scalar_typeERNS1_IiEERi in lapack.cc.o
ld: symbol(s) not found
barracuda156 commented 1 year ago

When linking to OpenBLAS instead, there is another failure:

/opt/local/bin/mpicxx-mpich-gcc12 -pipe -I/opt/local/libexec/boost/1.76/include -Os -fpermissive -DNDEBUG -I/opt/local/libexec/boost/1.76/include -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17 -arch ppc -mmacosx-version-min=10.6 -dynamiclib -Wl,-headerpad_max_install_names -L/opt/local/libexec/boost/1.76/lib -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc -o libmadness.dylib -install_name @rpath/libmadness.dylib "world/CMakeFiles/MADworld-obj.dir/madness_exception.cc.o" "world/CMakeFiles/MADworld-obj.dir/world.cc.o" "world/CMakeFiles/MADworld-obj.dir/timers.cc.o" "world/CMakeFiles/MADworld-obj.dir/future.cc.o" "world/CMakeFiles/MADworld-obj.dir/redirectio.cc.o" "world/CMakeFiles/MADworld-obj.dir/archive_type_names.cc.o" "world/CMakeFiles/MADworld-obj.dir/debug.cc.o" "world/CMakeFiles/MADworld-obj.dir/print.cc.o" "world/CMakeFiles/MADworld-obj.dir/worldmem.cc.o" "world/CMakeFiles/MADworld-obj.dir/worldrmi.cc.o" "world/CMakeFiles/MADworld-obj.dir/safempi.cc.o" "world/CMakeFiles/MADworld-obj.dir/worldpapi.cc.o" "world/CMakeFiles/MADworld-obj.dir/worldref.cc.o" "world/CMakeFiles/MADworld-obj.dir/worldam.cc.o" "world/CMakeFiles/MADworld-obj.dir/worldprofile.cc.o" "world/CMakeFiles/MADworld-obj.dir/thread.cc.o" "world/CMakeFiles/MADworld-obj.dir/world_task_queue.cc.o" "world/CMakeFiles/MADworld-obj.dir/worldgop.cc.o" "world/CMakeFiles/MADworld-obj.dir/deferred_cleanup.cc.o" "world/CMakeFiles/MADworld-obj.dir/worldmutex.cc.o" "world/CMakeFiles/MADworld-obj.dir/binary_fstream_archive.cc.o" "world/CMakeFiles/MADworld-obj.dir/text_fstream_archive.cc.o" "world/CMakeFiles/MADworld-obj.dir/lookup3.c.o" "world/CMakeFiles/MADworld-obj.dir/worldmpi.cc.o" "world/CMakeFiles/MADworld-obj.dir/group.cc.o" "world/CMakeFiles/MADworld-obj.dir/parsec.cc.o" "world/CMakeFiles/MADworld-obj.dir/archive.cc.o" "misc/CMakeFiles/MADmisc-obj.dir/checksum_file.cc.o" "misc/CMakeFiles/MADmisc-obj.dir/position_stream.cc.o" "misc/CMakeFiles/MADmisc-obj.dir/gprofexit.cc.o" "misc/CMakeFiles/MADmisc-obj.dir/ran.cc.o" "misc/CMakeFiles/MADmisc-obj.dir/cfft.cc.o" "misc/CMakeFiles/MADmisc-obj.dir/info.cc.o" "tensor/CMakeFiles/MADtensor-obj.dir/tensor.cc.o" "tensor/CMakeFiles/MADtensor-obj.dir/tensoriter.cc.o" "tensor/CMakeFiles/MADtensor-obj.dir/basetensor.cc.o" "tensor/CMakeFiles/MADtensor-obj.dir/vmath.cc.o" "tensor/CMakeFiles/MADlinalg-obj.dir/lapack.cc.o" "tensor/CMakeFiles/MADlinalg-obj.dir/solvers.cc.o" "tensor/CMakeFiles/MADlinalg-obj.dir/elem.cc.o" "tensor/CMakeFiles/MADlinalg-obj.dir/SVDTensor.cc.o" "tensor/CMakeFiles/MADlinalg-obj.dir/RandomizedMatrixDecomposition.cc.o" "tensor/CMakeFiles/MADlinalg-obj.dir/linalg_wrappers.cc.o" "external/muParser/CMakeFiles/MADmuparser-obj.dir/muParserBase.cpp.o" "external/muParser/CMakeFiles/MADmuparser-obj.dir/muParserBytecode.cpp.o" "external/muParser/CMakeFiles/MADmuparser-obj.dir/muParserCallback.cpp.o" "external/muParser/CMakeFiles/MADmuparser-obj.dir/muParser.cpp.o" "external/muParser/CMakeFiles/MADmuparser-obj.dir/muParserError.cpp.o" "external/muParser/CMakeFiles/MADmuparser-obj.dir/muParserTokenReader.cpp.o" "external/tinyxml/CMakeFiles/MADtinyxml-obj.dir/tinystr.cc.o" "external/tinyxml/CMakeFiles/MADtinyxml-obj.dir/tinyxml.cc.o" "external/tinyxml/CMakeFiles/MADtinyxml-obj.dir/tinyxmlerror.cc.o" "external/tinyxml/CMakeFiles/MADtinyxml-obj.dir/tinyxmlparser.cc.o" "mra/CMakeFiles/MADmra-obj.dir/mra1.cc.o" "mra/CMakeFiles/MADmra-obj.dir/mra2.cc.o" "mra/CMakeFiles/MADmra-obj.dir/mra3.cc.o" "mra/CMakeFiles/MADmra-obj.dir/mra4.cc.o" "mra/CMakeFiles/MADmra-obj.dir/mra5.cc.o" "mra/CMakeFiles/MADmra-obj.dir/mra6.cc.o" "mra/CMakeFiles/MADmra-obj.dir/startup.cc.o" "mra/CMakeFiles/MADmra-obj.dir/legendre.cc.o" "mra/CMakeFiles/MADmra-obj.dir/twoscale.cc.o" "mra/CMakeFiles/MADmra-obj.dir/qmprop.cc.o" "chem/CMakeFiles/MADchem-obj.dir/AC.cc.o" "chem/CMakeFiles/MADchem-obj.dir/atomutil.cc.o" "chem/CMakeFiles/MADchem-obj.dir/CC2.cc.o" "chem/CMakeFiles/MADchem-obj.dir/ccpairfunction.cc.o" "chem/CMakeFiles/MADchem-obj.dir/CCPotentials.cc.o" "chem/CMakeFiles/MADchem-obj.dir/CCStructures.cc.o" "chem/CMakeFiles/MADchem-obj.dir/corepotential.cc.o" "chem/CMakeFiles/MADchem-obj.dir/correlationfactor.cc.o" "chem/CMakeFiles/MADchem-obj.dir/diamagneticpotentialfactor.cc.o" "chem/CMakeFiles/MADchem-obj.dir/distpm.cc.o" "chem/CMakeFiles/MADchem-obj.dir/exchangeoperator.cc.o" "chem/CMakeFiles/MADchem-obj.dir/gaussian.cc.o" "chem/CMakeFiles/MADchem-obj.dir/gth_pseudopotential.cc.o" "chem/CMakeFiles/MADchem-obj.dir/GuessFactory.cc.o" "chem/CMakeFiles/MADchem-obj.dir/lda.cc.o" "chem/CMakeFiles/MADchem-obj.dir/localizer.cc.o" "chem/CMakeFiles/MADchem-obj.dir/molecularbasis.cc.o" "chem/CMakeFiles/MADchem-obj.dir/MolecularOrbitals.cc.o" "chem/CMakeFiles/MADchem-obj.dir/molecule.cc.o" "chem/CMakeFiles/MADchem-obj.dir/mp2.cc.o" "chem/CMakeFiles/MADchem-obj.dir/nemo.cc.o" "chem/CMakeFiles/MADchem-obj.dir/NWChem.cc.o" "chem/CMakeFiles/MADchem-obj.dir/oep.cc.o" "chem/CMakeFiles/MADchem-obj.dir/pcm.cc.o" "chem/CMakeFiles/MADchem-obj.dir/pointgroupsymmetry.cc.o" "chem/CMakeFiles/MADchem-obj.dir/polynomial.cc.o" "chem/CMakeFiles/MADchem-obj.dir/QCCalculationParametersBase.cc.o" "chem/CMakeFiles/MADchem-obj.dir/SCF.cc.o" "chem/CMakeFiles/MADchem-obj.dir/SCFOperators.cc.o" "chem/CMakeFiles/MADchem-obj.dir/TDHF.cc.o" "chem/CMakeFiles/MADchem-obj.dir/vibanal.cc.o" "chem/CMakeFiles/MADchem-obj.dir/zcis.cc.o" "chem/CMakeFiles/MADchem-obj.dir/znemo.cc.o" "chem/CMakeFiles/MADchem-obj.dir/PNO.cpp.o" "chem/CMakeFiles/MADchem-obj.dir/PNOF12Potentials.cpp.o" "chem/CMakeFiles/MADchem-obj.dir/PNOGuessFunctions.cpp.o" "chem/CMakeFiles/MADchem-obj.dir/PNOParameters.cpp.o" "chem/CMakeFiles/MADchem-obj.dir/PNOStructures.cpp.o" "chem/CMakeFiles/MADchem-obj.dir/xcfunctional_ldaonly.cc.o"  -Wl,-rpath,/opt/local/lib /opt/local/lib/libopenblas.dylib -lemutls_w 
ld: duplicate symbol __ZTSN7madness8ExchangeISt7complexIdELm3EE12ExchangeImpl23MacroTaskExchangeSimple28MacroTaskPartitionerExchangeE in CMakeFiles/MADchem-obj.dir/SCFOperators.cc.o and CMakeFiles/MADchem-obj.dir/exchangeoperator.cc.o
collect2: error: ld returned 1 exit status
make[2]: *** [src/madness/chem/libMADchem.dylib] Error 1