Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot install metis itself #105

Open
belbasi opened this issue Feb 11, 2025 · 1 comment
Open

Cannot install metis itself #105

belbasi opened this issue Feb 11, 2025 · 1 comment

Comments

@belbasi
Copy link

belbasi commented Feb 11, 2025

Hi there,

I'm new to METIS and really need METIS for what I'm doing. I was trying to install it based on the guid on your README here. I cloned METIS and cloned GKlib and installed it following its README, and ran

make config shared=1 cc=gcc prefix=~/local
make install

for METIS.

make install throws an error though no matter what I do. I tried installing it in many different but keep coming back to the same Undefined symbols for architecture arm64 error.

I am trying to install on Mac M1 and wonder if that has something to do with this error?

Anyone can help please? Thank you.

My error:
Linking C shared library libmetis.dylib cd /Users/mab/src/METIS/build/libmetis && /opt/homebrew/bin/cmake -E cmake_link_script CMakeFiles/metis.dir/link.txt --verbose=1 /usr/bin/clang -DLINUX -D_FILE_OFFSET_BITS=64 -DMACOS -DNDEBUG -DNDEBUG2 -DHAVE_EXECINFO_H -DHAVE_GETLINE -O3 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk -dynamiclib -Wl,-headerpad_max_install_names -o libmetis.dylib -install_name /Users/mab/src/METIS/build/libmetis/libmetis.dylib CMakeFiles/metis.dir/auxapi.c.o CMakeFiles/metis.dir/balance.c.o CMakeFiles/metis.dir/bucketsort.c.o CMakeFiles/metis.dir/checkgraph.c.o CMakeFiles/metis.dir/coarsen.c.o CMakeFiles/metis.dir/compress.c.o CMakeFiles/metis.dir/contig.c.o CMakeFiles/metis.dir/debug.c.o CMakeFiles/metis.dir/fm.c.o CMakeFiles/metis.dir/fortran.c.o CMakeFiles/metis.dir/frename.c.o CMakeFiles/metis.dir/gklib.c.o CMakeFiles/metis.dir/graph.c.o CMakeFiles/metis.dir/initpart.c.o CMakeFiles/metis.dir/kmetis.c.o CMakeFiles/metis.dir/kwayfm.c.o CMakeFiles/metis.dir/kwayrefine.c.o CMakeFiles/metis.dir/mcutil.c.o CMakeFiles/metis.dir/mesh.c.o CMakeFiles/metis.dir/meshpart.c.o CMakeFiles/metis.dir/minconn.c.o CMakeFiles/metis.dir/mincover.c.o CMakeFiles/metis.dir/mmd.c.o CMakeFiles/metis.dir/ometis.c.o CMakeFiles/metis.dir/options.c.o CMakeFiles/metis.dir/parmetis.c.o CMakeFiles/metis.dir/pmetis.c.o CMakeFiles/metis.dir/refine.c.o CMakeFiles/metis.dir/separator.c.o CMakeFiles/metis.dir/sfm.c.o CMakeFiles/metis.dir/srefine.c.o CMakeFiles/metis.dir/stat.c.o CMakeFiles/metis.dir/timing.c.o CMakeFiles/metis.dir/util.c.o CMakeFiles/metis.dir/wspace.c.o -L/Users/mab/local/lib Undefined symbols for architecture arm64: "_gk_CPUSeconds", referenced from: _libmetis__CoarsenGraph in coarsen.c.o _libmetis__CoarsenGraph in coarsen.c.o _libmetis__Match_RM in coarsen.c.o _libmetis__Match_RM in coarsen.c.o _libmetis__Match_SHEM in coarsen.c.o _libmetis__Match_SHEM in coarsen.c.o _CoarsenGraphNlevels in coarsen.c.o _CoarsenGraphNlevels in coarsen.c.o ... "_gk_cur_jbufs", referenced from: _METIS_PartGraphKway in kmetis.c.o _METIS_PartGraphKway in kmetis.c.o _METIS_MeshToDual in mesh.c.o _METIS_MeshToDual in mesh.c.o _METIS_MeshToNodal in mesh.c.o _METIS_MeshToNodal in mesh.c.o _METIS_PartMeshNodal in meshpart.c.o _METIS_PartMeshNodal in meshpart.c.o ... "_gk_errexit", referenced from: _libmetis__CoarsenGraph in coarsen.c.o _CoarsenGraphNlevels in coarsen.c.o _libmetis__EliminateComponents in contig.c.o _libmetis__graph_ReadFromDisk in graph.c.o _libmetis__Init2WayPartition in initpart.c.o _libmetis__InitSeparator in initpart.c.o _METIS_PartGraphKway in kmetis.c.o ... "_gk_free", referenced from: _libmetis__CheckGraph in checkgraph.c.o _libmetis__FixGraph in checkgraph.c.o _libmetis__CompressGraph in compress.c.o _libmetis__PruneGraph in compress.c.o _libmetis__FindPartitionInducedComponents in contig.c.o _libmetis__FindPartitionInducedComponents in contig.c.o _libmetis__FindPartitionInducedComponents in contig.c.o ... "_gk_idxsmalloc", referenced from: _libmetis__ipqCreate in gklib.c.o _libmetis__ipqInit in gklib.c.o _libmetis__rpqCreate in gklib.c.o _libmetis__rpqInit in gklib.c.o "_gk_jbufs", referenced from: _METIS_PartGraphKway in kmetis.c.o _METIS_PartGraphKway in kmetis.c.o _METIS_MeshToDual in mesh.c.o _METIS_MeshToDual in mesh.c.o _METIS_MeshToNodal in mesh.c.o _METIS_MeshToNodal in mesh.c.o _METIS_PartMeshNodal in meshpart.c.o _METIS_PartMeshNodal in meshpart.c.o ... "_gk_log2", referenced from: _METIS_PartGraphKway in kmetis.c.o _METIS_PartGraphKway in kmetis.c.o "_gk_malloc", referenced from: _libmetis__FixGraph in checkgraph.c.o _libmetis__iargmax_n in gklib.c.o _libmetis__ikvmalloc in gklib.c.o _libmetis__rargmax_n in gklib.c.o _libmetis__rkvmalloc in gklib.c.o _libmetis__imalloc in gklib.c.o _libmetis__ismalloc in gklib.c.o ... "_gk_malloc_cleanup", referenced from: _METIS_PartGraphKway in kmetis.c.o _METIS_MeshToDual in mesh.c.o _METIS_MeshToDual in mesh.c.o _METIS_MeshToNodal in mesh.c.o _METIS_MeshToNodal in mesh.c.o _METIS_PartMeshNodal in meshpart.c.o _METIS_PartMeshDual in meshpart.c.o ... "_gk_malloc_init", referenced from: _METIS_PartGraphKway in kmetis.c.o _METIS_MeshToDual in mesh.c.o _METIS_MeshToNodal in mesh.c.o _METIS_PartMeshNodal in meshpart.c.o _METIS_PartMeshDual in meshpart.c.o _METIS_NodeND in ometis.c.o _METIS_PartGraphRecursive in pmetis.c.o ... "_gk_mcoreCreate", referenced from: _libmetis__AllocateWorkSpace in wspace.c.o "_gk_mcoreDestroy", referenced from: _libmetis__FreeWorkSpace in wspace.c.o "_gk_mcoreMalloc", referenced from: _libmetis__wspacemalloc in wspace.c.o _libmetis__iwspacemalloc in wspace.c.o _libmetis__rwspacemalloc in wspace.c.o _libmetis__ikvwspacemalloc in wspace.c.o "_gk_mcorePop", referenced from: _libmetis__wspacepop in wspace.c.o "_gk_mcorePush", referenced from: _libmetis__wspacepush in wspace.c.o "_gk_randinit", referenced from: _libmetis__isrand in gklib.c.o "_gk_randint32", referenced from: _libmetis__irand in gklib.c.o _libmetis__irandInRange in gklib.c.o _libmetis__irandArrayPermute in gklib.c.o _libmetis__irandArrayPermute in gklib.c.o _libmetis__irandArrayPermute in gklib.c.o _libmetis__irandArrayPermute in gklib.c.o _libmetis__irandArrayPermuteFine in gklib.c.o ... "_gk_realloc", referenced from: _libmetis__irealloc in gklib.c.o _libmetis__rrealloc in gklib.c.o _libmetis__ikvrealloc in gklib.c.o _libmetis__rkvrealloc in gklib.c.o _libmetis__cnbrpoolGetNext in wspace.c.o _libmetis__vnbrpoolGetNext in wspace.c.o "_gk_rmpath", referenced from: _libmetis__graph_WriteToDisk in graph.c.o _libmetis__graph_WriteToDisk in graph.c.o _libmetis__graph_ReadFromDisk in graph.c.o _libmetis__graph_ReadFromDisk in graph.c.o "_gk_sigtrap", referenced from: _METIS_PartGraphKway in kmetis.c.o _METIS_MeshToDual in mesh.c.o _METIS_MeshToNodal in mesh.c.o _METIS_PartMeshNodal in meshpart.c.o _METIS_PartMeshDual in meshpart.c.o _METIS_NodeND in ometis.c.o _METIS_PartGraphRecursive in pmetis.c.o ... "_gk_siguntrap", referenced from: _METIS_PartGraphKway in kmetis.c.o _METIS_PartGraphKway in kmetis.c.o _METIS_MeshToDual in mesh.c.o _METIS_MeshToDual in mesh.c.o _METIS_MeshToNodal in mesh.c.o _METIS_MeshToNodal in mesh.c.o _METIS_PartMeshNodal in meshpart.c.o ... ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [libmetis/libmetis.dylib] Error 1 make[1]: *** [libmetis/CMakeFiles/metis.dir/all] Error 2 make: *** [all] Error 2

@gfaster
Copy link

gfaster commented Feb 11, 2025

This looks like the same as #83 - try the CMake patch shown there

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants