Just want to confirm that on a fresh install of Ventura on M2, pike head builds
fine using home-brew provided nettle/gmp. I think there must be something
strange going on in your build environment...
You can confirm that the gmp library is linked by using otool -L /path/to/pike:
otool -L ./pike
./pike:
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
(compatibility version 300.0.0, current version 1953.255.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 1319.0.0)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
(compatibility version 1.0.0, current version 1228.0.0)
/usr/local/opt/mpfr/lib/libmpfr.6.dylib (compatibility version 9.0.0,
current version 9.1.0)
/usr/local/opt/gmp/lib/libgmp.10.dylib (compatibility version 16.0.0,
current version 16.0.0)
/usr/lib/libutil.dylib (compatibility version 1.0.0, current version
1.0.0)
/usr/lib/libnetwork.dylib (compatibility version 1.0.0, current version
1.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
(compatibility version 150.0.0, current version 1953.255.0)
Bill
> On Mar 8, 2024, at 11:05 PM, Mike Kilmer <[email protected]> wrote:
>
> Hi, all.
>
> Nice to meet you.
>
> Any Mac users around?
>
> Was able to easily install Pike v8 with homebrew, but am trying to compile
> from source on my Mac (Ventura) and struggling with it not finding the GMP
> libraries.
>
> Tried download as well as git clone git://pike-git.lysator.liu.se/pike.git
> <git://pike-git.lysator.liu.se/pike.git> and configure/making from there.
>
> Trying to compile the master branch I get:
>
> * GMP is homebrew installed with libraries added to env: LDFLAGS="$LDFLAGS
> -L/usr/local/Cellar/gmp/6.3.0/lib"
> * Content of `build/darwin-22.6.0-x86_64/modules/Gmp/linker_options`:
>
> /Users/mikekilmer/Pike-v9.0-snapshot/build/darwin-22.6.0-x86_64/modules/Gmp/module.a
> * Also tried compiling GMP manually into /usr/local/lib/ and it reports that
> many of the files contain no symbols
> however, for example /usr/local/lib/libgmp.a contains strings that look
> like symbols: eg ___gmp_randseed
>
> Error:
> Undefined symbols for architecture x86_64:
> "___gmp_set_memory_functions", referenced from:
> _pike_module_Gmp_init in module.a(mpz_glue.o)
> Etc...
>
> After checking out 8.0, (or 8.1) `make` yields this:
>
> ...
> configure.in:35: warning: _AC_CONFIG_SUBDIRS: you should use literals
> ./lib/autoconf/status.m4:1096: AC_CONFIG_SUBDIRS is expanded from...
> configure.in:35: the top level
> ...
>
> Configure arguments:
> Use `make CONFIGUREARGS="..." ...' to change them.
> They will be retained in the build directory.
>
> Wondering if a virtual linux solution may be necessary.
>
> Any thoughts?
>
> Thanks much.