Compilation in macOS
Closed this issue · 3 comments
I recently updated my macOS to Sonoma 14.4.1 (and Xcode, too), and now make scanners
gives me the following error:
ld: warning: -commons use_dylibs is no longer supported, using error treatment instead
ld: warning: ignoring duplicate libraries: '-lemutls_w', '-lgcc'
ld: common symbol '_mpi_fortran_argv_null_' from '/Users/surrutiaquir/Software/new_gambit/gambit_2.4/ScannerBit/installed/diver/1.0.4/build/deutils.o' conflicts with definition from dylib '_mpi_fortran_argv_null_' from '/opt/homebrew/Cellar/open-mpi/4.1.5/lib/libmpi_usempi_ignore_tkr.40.dylib'
collect2: error: ld returned 1 exit status
make[4]: *** [libdiver.so] Error 1
make[3]: *** [diver_1.0.4-prefix/src/diver_1.0.4-stamp/diver_1.0.4-build] Error 2
make[2]: *** [CMakeFiles/diver_1.0.4.dir/all] Error 2
make[1]: *** [CMakeFiles/scanners.dir/rule] Error 2
make: *** [scanners] Error 2
Do you have any idea about what might be causing this crush? Thanks
It looks like it might be diver that does that. Do you get the same error if you just do make diver
?
You are using clang as the compiler, right? When encountering problems after a MacOS update, make sure that you start with a clean build (e.g. achieved by deleting the contents of thebuild/
directory) and update all relevant Homebrew packages (open-mpi in this case). Let us know if this helps!
Thank you, @tegonzalo and @sebhoof. I updated all (not only open-mpi) Homebrew packages and started with a clean build, which worked like a charm. Many thanks!