Re: On Mac Ventura, Pike v9 missing GMP symbols

Mike Kilmer <[email protected]> Sat, 9 Mar 2024 09:27:13 -0600
Newsgroups gmane.comp.lang.pike.user
Message-ID <[email protected]>
--Apple-Mail=_04878457-B03A-4FE0-B192-93E30CECCEA3
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

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.

> On Mar 9, 2024, at 8:46 AM, H. William Welliver <[email protected]> =
wrote:
>=20
>=20
> 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...
>=20
> You can confirm that the gmp library is linked by using otool -L =
/path/to/pike:
>=20
> otool -L ./pike     =20
> ./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/CoreFoundat=
ion (compatibility version 150.0.0, current version 1953.255.0)
>=20
> Bill
>=20
>> On Mar 8, 2024, at 11:05 PM, Mike Kilmer <[email protected] =
<mailto:[email protected]>> wrote:
>>=20
>> Hi, all.
>>=20
>> Nice to meet you.
>>=20
>> Any Mac users around?
>>=20
>> 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.
>>=20
>> Tried download as well as git clone =
git://pike-git.lysator.liu.se/pike.git and configure/making from there.
>>=20
>> Trying to compile the master branch I get:
>>=20
>> * GMP is homebrew installed with libraries added to env: =
LDFLAGS=3D"$LDFLAGS -L/usr/local/Cellar/gmp/6.3.0/lib"=20
>> * 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/Gm=
p/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
>>=20
>> Error:
>> Undefined symbols for architecture x86_64:
>>   "___gmp_set_memory_functions", referenced from:
>>       _pike_module_Gmp_init in module.a(mpz_glue.o)
>> Etc...
>>=20
>> After checking out 8.0, (or 8.1) `make` yields this:
>>=20
>> ...
>> configure.in:35 <http://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 <http://configure.in:35/>: the top level
>> ...
>>=20
>> Configure arguments:
>> Use `make CONFIGUREARGS=3D"..." ...' to change them.
>> They will be retained in the build directory.
>>=20
>> Wondering if a virtual linux solution may be necessary.
>>=20
>> Any thoughts?
>>=20
>> Thanks much.
>=20


--Apple-Mail=_04878457-B03A-4FE0-B192-93E30CECCEA3
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"overflow-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;">Thank you so =
much Bill. Feeling optimistic.<div><br></div><div>And pretty ignorant. =
When you say, `path/to/pike` I'm not sure what you mean, in other words, =
which item in either</div><div><br></div><div><div>Downloaded or =
Cloned:</div><div><br></div><div>ANNOUNCE &nbsp; &nbsp; COPYING &nbsp; =
&nbsp; &nbsp;README &nbsp; &nbsp; &nbsp; build/ &nbsp; &nbsp; &nbsp; =
lib/ &nbsp; &nbsp; &nbsp; &nbsp; refdoc/</div><div>CHANGES &nbsp; &nbsp; =
&nbsp;COPYRIGHT &nbsp; &nbsp;README-GIT &nbsp; buildid.txt &nbsp;man/ =
&nbsp; &nbsp; &nbsp; &nbsp; src/</div><div>COMMITTERS &nbsp; Makefile =
&nbsp; &nbsp; bin/ &nbsp; &nbsp; &nbsp; &nbsp; index.html &nbsp; =
packaging/ &nbsp; tools/</div><div><br></div><div>Am I running `otool` =
on?</div><div><br></div><div>Tried /bin/pike and also looked in build =
and src, but still missing something.</div><div><br><blockquote =
type=3D"cite"><div>On Mar 9, 2024, at 8:46 AM, H. William Welliver =
&lt;[email protected]&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div><meta http-equiv=3D"Content-Type"=
 content=3D"text/html; charset=3Dus-ascii"><div style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; line-break: =
after-white-space;"><br><div>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...</div><div><br></div><div>You can confirm that the =
gmp library is linked by using otool -L =
/path/to/pike:</div><div><br></div><div><div style=3D"margin: 0px; =
font-stretch: normal; font-size: 11px; line-height: normal; font-family: =
Menlo;"><span style=3D"font-variant-ligatures: =
no-common-ligatures">otool -L ./pike &nbsp; &nbsp; =
&nbsp;</span></div><div style=3D"margin: 0px; font-stretch: normal; =
font-size: 11px; line-height: normal; font-family: Menlo;"><span =
style=3D"font-variant-ligatures: =
no-common-ligatures">./pike:</span></div><div style=3D"margin: 0px; =
font-stretch: normal; font-size: 11px; line-height: normal; font-family: =
Menlo;"><span style=3D"font-variant-ligatures: =
no-common-ligatures"><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	=
</span>/System/Library/Frameworks/Foundation.framework/Versions/C/Foundati=
on (compatibility version 300.0.0, current version =
1953.255.0)</span></div><div style=3D"margin: 0px; font-stretch: normal; =
font-size: 11px; line-height: normal; font-family: Menlo;"><span =
style=3D"font-variant-ligatures: no-common-ligatures"><span =
class=3D"Apple-tab-span" style=3D"white-space:pre">	=
</span>/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current =
version 1319.0.0)</span></div><div style=3D"margin: 0px; font-stretch: =
normal; font-size: 11px; line-height: normal; font-family: Menlo;"><span =
style=3D"font-variant-ligatures: no-common-ligatures"><span =
class=3D"Apple-tab-span" style=3D"white-space:pre">	=
</span>/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreSe=
rvices (compatibility version 1.0.0, current version =
1228.0.0)</span></div><div style=3D"margin: 0px; font-stretch: normal; =
font-size: 11px; line-height: normal; font-family: Menlo;"><span =
style=3D"font-variant-ligatures: no-common-ligatures"><span =
class=3D"Apple-tab-span" style=3D"white-space:pre">	=
</span>/usr/local/opt/mpfr/lib/libmpfr.6.dylib (compatibility version =
9.0.0, current version 9.1.0)</span></div><div style=3D"margin: 0px; =
font-stretch: normal; font-size: 11px; line-height: normal; font-family: =
Menlo;"><span style=3D"font-variant-ligatures: =
no-common-ligatures"><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	=
</span>/usr/local/opt/gmp/lib/libgmp.10.dylib (compatibility version =
16.0.0, current version 16.0.0)</span></div><div style=3D"margin: 0px; =
font-stretch: normal; font-size: 11px; line-height: normal; font-family: =
Menlo;"><span style=3D"font-variant-ligatures: =
no-common-ligatures"><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	</span>/usr/lib/libutil.dylib =
(compatibility version 1.0.0, current version 1.0.0)</span></div><div =
style=3D"margin: 0px; font-stretch: normal; font-size: 11px; =
line-height: normal; font-family: Menlo;"><span =
style=3D"font-variant-ligatures: no-common-ligatures"><span =
class=3D"Apple-tab-span" style=3D"white-space:pre">	=
</span>/usr/lib/libnetwork.dylib (compatibility version 1.0.0, current =
version 1.0.0)</span></div><div style=3D"margin: 0px; font-stretch: =
normal; font-size: 11px; line-height: normal; font-family: Menlo;"><span =
style=3D"font-variant-ligatures: no-common-ligatures"><span =
class=3D"Apple-tab-span" style=3D"white-space:pre">	=
</span>/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Core=
Foundation (compatibility version 150.0.0, current version =
1953.255.0)</span></div></div><div><br></div><div>Bill</div><div><br><bloc=
kquote type=3D"cite"><div>On Mar 8, 2024, at 11:05 PM, Mike Kilmer =
&lt;<a href=3D"mailto:[email protected]">[email protected]</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><div><meta =
http-equiv=3D"content-type" content=3D"text/html; charset=3Dus-ascii"><div=
 style=3D"overflow-wrap: break-word; -webkit-nbsp-mode: space; =
line-break: after-white-space;"><span style=3D"caret-color: rgb(0, 0, =
0);">Hi, all.</span><div style=3D"caret-color: rgb(0, 0, =
0);"><br></div><div><font><span style=3D"caret-color: rgb(0, 0, =
0);">Nice to meet you.</span></font><br><div style=3D"caret-color: =
rgb(0, 0, 0);"><br></div><div style=3D"caret-color: rgb(0, 0, 0);">Any =
Mac users around?<br><div><br></div><div>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.<div><br></div>Tried download as well as git clone&nbsp;<a =
href=3D"git://pike-git.lysator.liu.se/pike.git">git://pike-git.lysator.liu=
.se/pike.git</a>&nbsp;and configure/making from =
there.</div><div><br><div>Trying to compile the master branch I =
get:</div><div><br></div><div>* GMP is homebrew installed with libraries =
added to env: LDFLAGS=3D"$LDFLAGS =
-L/usr/local/Cellar/gmp/6.3.0/lib"&nbsp;</div></div></div><div =
style=3D"caret-color: rgb(0, 0, 0);">* Content of =
`build/darwin-22.6.0-x86_64/modules/Gmp/linker_options`:</div><div =
style=3D"caret-color: rgb(0, 0, 0);"><span class=3D"Apple-tab-span" =
style=3D"white-space: pre;">	=
</span>/Users/mikekilmer/Pike-v9.0-snapshot/build/darwin-22.6.0-x86_64/mod=
ules/Gmp/module.a</div><div style=3D"caret-color: rgb(0, 0, 0);">* Also =
tried compiling GMP manually into&nbsp;/usr/local/lib/ and it reports =
that many of the files contain no symbols</div><div style=3D"caret-color: =
rgb(0, 0, 0);"><span class=3D"Apple-tab-span" style=3D"white-space: =
pre;">	</span>however, for example&nbsp;/usr/local/lib/libgmp.a =
contains strings that look like symbols: =
eg&nbsp;___gmp_randseed</div><div style=3D"caret-color: rgb(0, 0, =
0);"><br></div><div style=3D"caret-color: rgb(0, 0, =
0);">Error:</div><blockquote style=3D"caret-color: rgb(0, 0, 0); margin: =
0px 0px 0px 40px; border: medium; padding: 0px;"><div>Undefined symbols =
for architecture x86_64:</div><div>&nbsp; "___gmp_set_memory_functions", =
referenced from:</div><div>&nbsp; &nbsp; &nbsp; _pike_module_Gmp_init in =
module.a(mpz_glue.o)</div><div>Etc...</div></blockquote><div =
style=3D"caret-color: rgb(0, 0, 0);"><br></div><div style=3D"caret-color: =
rgb(0, 0, 0);">After checking out 8.0, (or 8.1) `make` yields =
this:</div><div style=3D"caret-color: rgb(0, 0, =
0);"><br></div><div><div><font><span style=3D"caret-color: rgb(0, 0, =
0);">...</span></font></div><div><font><span style=3D"caret-color: =
rgb(0, 0, 0);"><a href=3D"http://configure.in:35/">configure.in:35</a>: =
warning: _AC_CONFIG_SUBDIRS: you should use =
literals</span></font></div><div><font><span style=3D"caret-color: =
rgb(0, 0, 0);">./lib/autoconf/status.m4:1096: AC_CONFIG_SUBDIRS is =
expanded from...</span></font></div><div><font><span style=3D"caret-color:=
 rgb(0, 0, 0);"><a href=3D"http://configure.in:35/">configure.in:35</a>: =
the top level</span></font></div><div><font><span style=3D"caret-color: =
rgb(0, 0, 0);">...</span></font></div><div><font><span =
style=3D"caret-color: rgb(0, 0, =
0);"><br></span></font></div><div><font><span style=3D"caret-color: =
rgb(0, 0, 0);">Configure arguments:</span></font></div><div><font><span =
style=3D"caret-color: rgb(0, 0, 0);">Use `make CONFIGUREARGS=3D"..." =
...' to change them.</span></font></div><div><font><span =
style=3D"caret-color: rgb(0, 0, 0);">They will be retained in the build =
directory.</span></font></div></div><div style=3D"caret-color: rgb(0, 0, =
0);"><font><br></font></div><div style=3D"caret-color: rgb(0, 0, =
0);"><font>Wondering if a virtual linux solution may be =
necessary.</font></div><div style=3D"caret-color: rgb(0, 0, =
0);"><br></div><div style=3D"caret-color: rgb(0, 0, 0);">Any =
thoughts?</div><div style=3D"caret-color: rgb(0, 0, 0);"><br></div><div =
style=3D"caret-color: rgb(0, 0, 0);">Thanks =
much.</div></div></div></div></blockquote></div><br></div></div></blockquo=
te></div><br></div></body></html>=

--Apple-Mail=_04878457-B03A-4FE0-B192-93E30CECCEA3--