Outdated libtool creates trouble on macOS

FX Coudert fxcoudert at gmail.com
Sun Jul 30 16:24:36 CEST 2023


Hi,

Compilation of newly released GMP 6.3.0 on macOS (both Intel and ARM) leads to wrongly compiled libraries, with a flat namespace. This is generally avoided (and enforced by various build tools) on macOS since many OS versions, because it can cause linker errors due to name collisions.

The reason for this is this hunk in the configure script:

>     darwin*) # darwin 5.x on
>       # if running on 10.5 or later, the deployment target defaults
>       # to the OS version, if on x86, and 10.4, the deployment
>       # target defaults to 10.4. Don't you love it?
>       case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
>         10.0,*86*-darwin8*|10.0,*-darwin[91]*)
>           _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
>         10.[012][,.]*)
>           _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
>         10.*)
>           _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
>       esac

This was generated by an autoconf, which relies on an outdated libtool version. This was fixed in libtool by https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=9e8c882517082fe5755f2524d23efb02f1522490 (which is included in latest release, version 2.4.7).

Would it be possible to release the next version with more recent autoconf/libtool combo?

Thanks,
FX Coudert


More information about the gmp-bugs mailing list