Dear Ari, On Wed, 31 Jul 2019 at 16:42, Stern, Ari <stern@wustl.edu> wrote:
Hi all,
I've been attempting to install Firedrake using the standard install script, but the installation throws an error when attempting to compile/link libspatialindex. The firedrake-install.log is attached.
A couple pieces of pertinent info: 1. I'm running macOS Mojave 10.14.5 with Homebrew Python 3. 2. Although I have a miniconda installation on my system, I did a "conda deactivate" before running the install script, so nothing from miniconda (except the conda binary itself) is in my path.
Delving through the logs, the suspect line is here: /bin/sh ./libtool --tag=CC --mode=link mpicc -Wall -Wno-long-long -pedantic -version-info 4:2:0 -no-undefined -lstdc++ -o libspatialindex.la -rpath /Users/astern/Downloads/firedrake/lib src/spatialindex/liblibrary.la src/storagemanager/libstoragemanager.la src/rtree/librtree.la src/mvrtree/libmvrtree.la src/tprtree/libtprtree.la src/tools/libtools.la -lpthread So the makefile for libspatialindex is asking to link as a C++ library (with -lstdc++) libtool: link: mpicc -dynamiclib -o .libs/libspatialindex.4.dylib -Wl,-force_load,src/spatialindex/.libs/liblibrary.a -Wl,-force_load,src/storagemanager/.libs/libstoragemanager.a -Wl,-force_load,src/rtree/.libs/librtree.a -Wl,-force_load,src/mvrtree/.libs/libmvrtree.a -Wl,-force_load,src/tprtree/.libs/libtprtree.a -Wl,-force_load,src/tools/.libs/libtools.a /usr/local/lib/libstdc++.dylib -L/Users/admin/build8/x86_64-apple-darwin17.5.0/libstdc++-v3/src -L/Users/admin/build8/x86_64-apple-darwin17.5.0/libstdc++-v3/src/.libs -L/Users/admin/build8/x86_64-apple-darwin17.5.0/libstdc++-v3/libsupc++/.libs -lm -lpthread -install_name /Users/astern/Downloads/firedrake/lib/libspatialindex.4.dylib -compatibility_version 5 -current_version 5.2 -Wl,-single_module But here we see that the actual command that is run has lost -lstdc++ (and gained some references to /Users/admin/build8/...) To check that this is really the issue, can we try linking "by hand". The failed installation should have left everything in place, so if we do: $ cd firedrake/src/libspatialindex we can try and do the final link that failed: $ mpicc -dynamiclib -o .libs/libspatialindex.4.dylib -Wl,-force_load,src/spatialindex/.libs/liblibrary.a -Wl,-force_load,src/storagemanager/.libs/libstoragemanager.a -Wl,-force_load,src/rtree/.libs/librtree.a -Wl,-force_load,src/mvrtree/.libs/libmvrtree.a -Wl,-force_load,src/tprtree/.libs/libtprtree.a -Wl,-force_load,src/tools/.libs/libtools.a -lstdc++ -lm -lpthread -install_name /Users/astern/Downloads/firedrake/lib/libspatialindex.4.dylib -compatibility_version 5 -current_version 5.2 -Wl,-single_module If this works, we then need to figure out why libtool is generating a bad link line. Thanks, Lawrence