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...