Makarius, were you saying that building Poly/ML with libgmp *at all* has been a
challenge? Or specifically building a portable Poly/ML with libgmp? I have
never had a problem building Poly/ML on macOS using a MacPorts-installed libgmp:
CFLAGS="-I /opt/local/include -L/opt/local/lib" CXXFLAGS="-I
/opt/local/include -L/opt/local/lib" LDFLAGS="-L/opt/local/lib" ./configure
I don’t know what the scenario is for Homebrew users, but I imagine it would be
similar. For a long time I didn’t pay much attention to macOS questions, not
having a Mac myself and after ending up with one I just assumed the cryptic
flags juggling was common knowledge. Apologies if I was mistaken.
The above steps are probably not suitable for building a portable Poly/ML. If
you’re building libgmp from source maybe you want to try building a static
library (-disable-shared to the libgmp build system)? I have not tried this,
but they claim it works .
> On Feb 9, 2018, at 14:06, Makarius <makar...@sketis.net> wrote:
> Dear Poly/ML enthusiasts and experts of the gcc toolchain on macOS,
> building Poly/ML with libgmp has always been a challenge, but I have now
> managed as follows for x86_64-darwin.
> The approach works as follows:
> (1) Build libgmp from sources.
> (2) Build Poly/ML --with-gmp using that homemade version.
> (3) Copy libgmp.10.dylib into the Poly/ML lib directory and adjust
> locations with install_name_tool
> Afterwards it is possible to copy the resulting Poly/ML target directory
> to a different location on a different machine, with a different (newer)
> macOS version.
> The details are in the included build.txt (e.g. for macOS 10.12 Sierra).
> This is not a shell script! It should be run carefully line-by-line.
> Towards the end there are two install_name_tool invocations with
> locations determined beforehand by "otool -L". The final "otool -L" is
> just a sanity check, the result is like this:
> @executable_path/../lib/libpolyml.9.dylib (compatibility version
> 10.0.0, current version 10.0.0)
> @executable_path/../lib/libgmp.10.dylib (compatibility version 14.0.0,
> current version 14.2.0)
> /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version
> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
> version 1238.0.0)
> This setup is already part of "isabelle build_polyml", see
> -- but that assumes that libgmp has been installed in a standard place
> (e.g. /usr/local/lib).
> I wonder if anybody has managed to build libgmp for x86-darwin (32bit)
> platform. That platform variant still provides better performance for
> big applications like Isabelle, because it requires only half the memory.
> polyml mailing list
polyml mailing list