Re: On Mac Ventura, Pike v9 missing GMP symbols

"H. William Welliver" <[email protected]> Sat, 9 Mar 2024 09:46:11 -0500
Newsgroups gmane.comp.lang.pike.user
Message-ID <[email protected]>
--Apple-Mail=_93B817EC-06CE-4157-BA9C-AFE743E1486F
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


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     =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)

Bill

> On Mar 8, 2024, at 11:05 PM, Mike Kilmer <[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 =
<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: 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
> ...
>=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.


--Apple-Mail=_93B817EC-06CE-4157-BA9C-AFE743E1486F
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"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><br =
class=3D""><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 class=3D""></div><div>You can confirm that =
the gmp library is linked by using otool -L /path/to/pike:</div><div><br =
class=3D""></div><div><div style=3D"margin: 0px; font-stretch: normal; =
font-size: 11px; line-height: normal; font-family: Menlo;" =
class=3D""><span style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D"">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;" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D"">./pike:</span></div><div style=3D"margin: 0px; font-stretch: =
normal; font-size: 11px; line-height: normal; font-family: Menlo;" =
class=3D""><span style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D""><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;" =
class=3D""><span style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D""><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;" =
class=3D""><span style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D""><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;" =
class=3D""><span style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D""><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;" class=3D""><span style=3D"font-variant-ligatures: =
no-common-ligatures" class=3D""><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;" class=3D""><span style=3D"font-variant-ligatures: =
no-common-ligatures" class=3D""><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;" class=3D""><span =
style=3D"font-variant-ligatures: no-common-ligatures" class=3D""><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;" =
class=3D""><span style=3D"font-variant-ligatures: no-common-ligatures" =
class=3D""><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 =
class=3D""></div><div>Bill</div><div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D"">On Mar 8, 2024, at 11:05 PM, =
Mike Kilmer &lt;<a href=3D"mailto:[email protected]" =
class=3D"">[email protected]</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><meta =
http-equiv=3D"content-type" content=3D"text/html; charset=3Dus-ascii" =
class=3D""><div style=3D"overflow-wrap: break-word; -webkit-nbsp-mode: =
space; line-break: after-white-space;" class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0);" class=3D"">Hi, all.</span><div =
style=3D"caret-color: rgb(0, 0, 0);" class=3D""><br class=3D""></div><div =
class=3D""><font class=3D""><span style=3D"caret-color: rgb(0, 0, 0);" =
class=3D"">Nice to meet you.</span></font><br class=3D""><div =
style=3D"caret-color: rgb(0, 0, 0);" class=3D""><br class=3D""></div><div =
style=3D"caret-color: rgb(0, 0, 0);" class=3D"">Any Mac users around?<br =
class=3D""><div class=3D""><br class=3D""></div><div class=3D"">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 class=3D""><br class=3D""></div>Tried download as well as =
git clone&nbsp;<a href=3D"git://pike-git.lysator.liu.se/pike.git" =
class=3D"">git://pike-git.lysator.liu.se/pike.git</a>&nbsp;and =
configure/making from there.</div><div class=3D""><br class=3D""><div =
class=3D"">Trying to compile the master branch I get:</div><div =
class=3D""><br class=3D""></div><div class=3D"">* 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);" class=3D"">* Content of =
`build/darwin-22.6.0-x86_64/modules/Gmp/linker_options`:</div><div =
style=3D"caret-color: rgb(0, 0, 0);" class=3D""><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);" =
class=3D"">* 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);" class=3D""><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);" class=3D""><br class=3D""></div><div style=3D"caret-color: =
rgb(0, 0, 0);" class=3D"">Error:</div><blockquote style=3D"caret-color: =
rgb(0, 0, 0); margin: 0px 0px 0px 40px; border: medium; padding: 0px;" =
class=3D""><div class=3D"">Undefined symbols for architecture =
x86_64:</div><div class=3D"">&nbsp; "___gmp_set_memory_functions", =
referenced from:</div><div class=3D"">&nbsp; &nbsp; &nbsp; =
_pike_module_Gmp_init in module.a(mpz_glue.o)</div><div =
class=3D"">Etc...</div></blockquote><div style=3D"caret-color: rgb(0, 0, =
0);" class=3D""><br class=3D""></div><div style=3D"caret-color: rgb(0, =
0, 0);" class=3D"">After checking out 8.0, (or 8.1) `make` yields =
this:</div><div style=3D"caret-color: rgb(0, 0, 0);" class=3D""><br =
class=3D""></div><div class=3D""><div class=3D""><font class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0);" =
class=3D"">...</span></font></div><div class=3D""><font class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0);" class=3D""><a =
href=3D"http://configure.in:35" class=3D"">configure.in:35</a>: warning: =
_AC_CONFIG_SUBDIRS: you should use literals</span></font></div><div =
class=3D""><font class=3D""><span style=3D"caret-color: rgb(0, 0, 0);" =
class=3D"">./lib/autoconf/status.m4:1096: AC_CONFIG_SUBDIRS is expanded =
from...</span></font></div><div class=3D""><font class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0);" class=3D""><a =
href=3D"http://configure.in:35" class=3D"">configure.in:35</a>: the top =
level</span></font></div><div class=3D""><font class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0);" =
class=3D"">...</span></font></div><div class=3D""><font class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0);" class=3D""><br =
class=3D""></span></font></div><div class=3D""><font class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0);" class=3D"">Configure =
arguments:</span></font></div><div class=3D""><font class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0);" class=3D"">Use `make =
CONFIGUREARGS=3D"..." ...' to change them.</span></font></div><div =
class=3D""><font class=3D""><span style=3D"caret-color: rgb(0, 0, 0);" =
class=3D"">They will be retained in the build =
directory.</span></font></div></div><div style=3D"caret-color: rgb(0, 0, =
0);" class=3D""><font class=3D""><br class=3D""></font></div><div =
style=3D"caret-color: rgb(0, 0, 0);" class=3D""><font class=3D"">Wondering=
 if a virtual linux solution may be necessary.</font></div><div =
style=3D"caret-color: rgb(0, 0, 0);" class=3D""><br class=3D""></div><div =
style=3D"caret-color: rgb(0, 0, 0);" class=3D"">Any thoughts?</div><div =
style=3D"caret-color: rgb(0, 0, 0);" class=3D""><br class=3D""></div><div =
style=3D"caret-color: rgb(0, 0, 0);" class=3D"">Thanks =
much.</div></div></div></div></blockquote></div><br =
class=3D""></body></html>=

--Apple-Mail=_93B817EC-06CE-4157-BA9C-AFE743E1486F--