Re: On Mac Ventura, Pike v9 missing GMP symbols

[email protected] Sat, 09 Mar 2024 13:30:51 -0500
Newsgroups gmane.comp.lang.pike.user
Message-ID <[email protected]>
Ah, sorry.

Once you build pike (assuming that you've built it and then it won't 
install or start), build/darwin-ver-arch/pike is the uninstalled pike 
binary. You'd run otool -L on that file. bin/pike is a shell script that 
will let you start up pike without installing it by setting arguments 
and environment variables... you won't be able to run otool on that 
because it's just a shell script, not a binary.

So for me, I've cloned the pike repo, installed the prerequisite 
libraries using homebrew (nettle + gmp) and then done a make. Running 
make will do the configuration, build, etc and if it was successful, you 
can run something like:

otool -L build/darwin-version-arch/pike

And there should be a line that has the path to the gmp library. If it's 
not there, something is going wrong in the configure/build phase (look 
in your modules/Gmp/linker_options and -lgmp should be there, and 
possibly -lmpfr depending on how your gmp is set up.)

*If* your pike binary is not linked with gmp, then that is a completely 
logical explanation for why you're getting those errors. Why it's not 
being linked against gmp is then the question we need to find an answer 
for.

If, on the other hand gmp is being linked into your pike binary, then 
there's something wrong with your gmp library and we'd need to figure 
out what's going on there. I think that's probably unlikely, since you 
tried using the home-brew version and it works fine with the home-brew 
compiled pike.

So, try to run otool -L on the pike binary you've built and we'll have a 
better idea about what's going on.

Bill

On 2024-03-09 10:27, Mike Kilmer wrote:
> Thank you so much Bill. Feeling optimistic.
> 
> And pretty ignorant. When you say, `path/to/pike` I'm not sure what
> you mean, in other words, which item in either
> 
> Downloaded or Cloned:
> 
> ANNOUNCE     COPYING      README       build/       lib/
> refdoc/
> CHANGES      COPYRIGHT    README-GIT   buildid.txt  man/         src/
> COMMITTERS   Makefile     bin/         index.html   packaging/
> tools/
> 
> Am I running `otool` on?
> 
> Tried /bin/pike and also looked in build and src, but still missing
> something.