Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • SWIFTsim SWIFTsim
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 53
    • Issues 53
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 18
    • Merge requests 18
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • SWIFT
  • SWIFTsimSWIFTsim
  • Issues
  • #626
Closed
Open
Issue created Nov 12, 2019 by Josh Borrow@jborrowDeveloper

Cannot link on MacOS with isothermal-gas equation of state

I can't seem to get the code to link when setting

./configure --with-equation-of-state=isothermal-gas

So far I can only get this to reproduce on MacOS with the clang linker

@(#)PROGRAM:ld  PROJECT:ld64-512.4
BUILD 05:06:53 Aug 16 2019
configured to support archs: armv6 armv7 armv7s arm64 arm64e arm64_32 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em
LTO support using: LLVM version 11.0.0, (clang-1100.0.33.8) (static support for 23, runtime is 23)
TAPI support using: Apple TAPI version 11.0.0 (tapi-1100.0.11)

I get the following error:

libtool: link: mpicc -I../src -I../argparse -I/usr/local/opt/szip/include -I/usr/local/Cellar/hdf5/1.10.5_1/include -DWITH_MPI "-DENGINE_POLICY=engine_policy_keep " -fno-stack-check -O3 -fomit-frame-pointer -fstrict-aliasing -ffast-math -funroll-loops -march=skylake -mavx2 -pthread -Wall -Wextra -Wno-unused-parameter -Wshadow -Werror -Wstrict-prototypes -o swift_mpi swift_mpi-main.o  -L/usr/local/opt/szip/lib -L/usr/local/Cellar/hdf5/1.10.5_1/lib ../src/.libs/libswiftsim_mpi.a ../argparse/.libs/libargparse.a -ldl -lz -lsz -lhdf5 -lhdf5_hl -lfftw3_threads -lfftw3 -lgsl -lgslcblas -lm -pthread
Undefined symbols for architecture x86_64:
  "_eos", referenced from:
      _main in swift-main.o
      _hydro_props_print in libswiftsim.a(libswiftsim_la-hydro_properties.o)
      _hydro_props_print_snapshot in libswiftsim.a(libswiftsim_la-hydro_properties.o)
      _convert_S in libswiftsim.a(libswiftsim_la-common_io.o)
      _convert_P in libswiftsim.a(libswiftsim_la-common_io.o)
      _convert_S in libswiftsim.a(libswiftsim_la-single_io.o)
      _convert_P in libswiftsim.a(libswiftsim_la-single_io.o)
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [swift] Error 1
make[2]: *** Waiting for unfinished jobs....
Undefined symbols for architecture x86_64:
  "_eos", referenced from:
      _main in swift_mpi-main.o
      _hydro_props_print in libswiftsim_mpi.a(mpi-hydro_properties.o)
      _hydro_props_print_snapshot in libswiftsim_mpi.a(mpi-hydro_properties.o)
      _convert_S in libswiftsim_mpi.a(mpi-common_io.o)
      _convert_P in libswiftsim_mpi.a(mpi-common_io.o)
      _convert_S in libswiftsim_mpi.a(mpi-serial_io.o)
      _convert_P in libswiftsim_mpi.a(mpi-serial_io.o)
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [swift_mpi] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

This is also reproduced when compiling with a different piece of code (the star formation logger) in the COLIBRE repository.

Any ideas? This stuff is all magic to me...

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking