Re: Toward a MacPorts port that tracks 0.7.9

Bernd Paysan <[email protected]> Fri, 31 Jan 2025 16:03:40 +0100
Newsgroups gmane.comp.lang.forth.gforth
Message-ID <4615621.yiUUSuA9gR@wukong>
--nextPart5952318.sQuhbGJ8Bu
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"; protected-headers="v1"
From: Bernd Paysan <[email protected]>
To: gforth-mXXj517/[email protected]
Cc: Marvin Littlewood <[email protected]>
Subject: Re: Toward a MacPorts port that tracks 0.7.9
Date: Fri, 31 Jan 2025 16:03:40 +0100
Message-ID: <4615621.yiUUSuA9gR@wukong>
MIME-Version: 1.0

Am Freitag, 31. Januar 2025, 10:29:59 Mitteleurop=C3=A4ische Normalzeit sch=
rieb=20
Marvin Littlewood:
> Hello,
>=20
> I have an Intel i5 MacBook Pro running MacOS 13.7.2 (Ventura), running
> Darwin Kernel 22.6.0. I installed the following, using MacPorts:
>=20
> sudo port install gforth
> sudo port install mesa
> sudo port install yodl
> sudo port install gcc14
> sudo port install harfbuzz
> sudo port install texinfo
> sudo port install xz
> sudo port install mesa
> sudo port install xorg-server
> sudo port install automake
> sudo port install libtool
> sudo port install emacs
>=20
> and ensured that GCC was being used as the compiler:
>=20
> sudo port select --set gcc mp-gcc14
>=20
> I then followed the next steps of the build procedure:
>=20
> ./install-swig.sh --nosudo "--prefix=3D${PWD}/local"
> export PATH=3D"${PWD}/local/bin:$PATH"
> ./autogen.sh # if not done previously
> ./configure CC=3D'gcc -arch x86_64' --build=3Dx86_64-apple-darwin13.7.2
> make
>=20
> After configuration there were no errors or warnings, and initially the
> build proceeded as expected until:
>=20
> make: Circular lib/gforth/0.7.9_20250130/amd64/libcc-named/libgfpthread.la
> <- gforth dependency dropped.
> make: Circular prim-fast.b <- gforth dependency dropped.
> GFORTH-FAST
> rm: gforth-fast-ll-reg: No such file or directory
> GFORTH-FAST-ll-reg
> LD -o gforth-fast-ll-reg
> ld: Undefined symbols:
>   _gforth_engine, referenced from:
>       _gforth_go in main-fast-ll-reg.o
>       _gforth_loader in main-fast-ll-reg.o
>       _gforth_pointers in main-fast-ll-reg.o
> collect2: error: ld returned 1 exit status
> make[3]: *** [gforth-fast-ll-reg] Error 1
>=20
> This happens again for GFORTH-FAST-ll and then the process aborts. gcc -v
> reports:
>=20
> gcc version 14.2.0 (MacPorts gcc14 14.2.0_1+stdlib_flag)
>=20
> with a lot of configuration information and ld -v reports:
>=20
> @(#)PROGRAM:ld  PROJECT:dyld-1022.1
> BUILD 05:26:33 Dec  7 2023
>=20
> also with a lot of configuration information. (MacPorts and Apple's native
> linker report the same information.)
>=20
> Please can someone help figure out what is going wrong with the build?

It looks like the way we build the engine via an assembler file and replaci=
ng=20
gforth_engine2 with gforth_engine fails on MacOS due to the _ prefix on the=
=20
symbol (sys_symbol_underscore=3Dyes on MacOS).

Edit engine/Makefile, search for ENGINE1, and add the necessary underscore=
=20
here:

ENGINE1 =3D -DSKIP4=3D -D_gforth_engine2=3D_gforth_engine

=2D-=20
Bernd Paysan
"If you want it done right, you have to do it yourself"
net2o id: kQusJzA;7*?t=3Duy@X}1GWr!+0qqp_Cn176t4(dQ*
https://net2o.de/

--nextPart5952318.sQuhbGJ8Bu
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.
Content-Transfer-Encoding: 7Bit

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEERJ1NDqPQRwYnwBjr9y2Uk5MtoGcFAmec5kwACgkQ9y2Uk5Mt
oGdrig//VzdOCBx+KQ+KdyXDAQ8MQa0K3wwVgxPZeNgl6Wd/B3lOr4x5RfZY3hG5
EsgtJBQyDWvJbZnHNQqiEixZukXnWCIKYTwRQU8g22e/r49DCq7tMq6UpP6apQDa
pwbQbuzvBhR6r84e6ytDx3IM3F/lS/50gDYo9sgS3ovK8lwvanpqXsyAs3SZICA3
dR+YFJOsj/iIFEvalsxX3HrkLThNaVdImgWp0WNHWwYoE7suRmzFJvF/9sq7WOKk
2rUXFlMZIXjZ+9NqltDPJSq9g3qQ05P8zVv/zUxiHdAjQa4Vakg8Zj+oZjnNK0C/
TGPhVMQB/vQB173gI+zhgYrlfqZTjS9pPOiTfe76sOYr2c+KDTaPUlkO6au0lEE9
XW9fRYb5Xx9Ho5i60Gs0aBwFRZ6kNikHoEcAt0qic9P4ck/2buhej9Rx/VFJpnSK
W4O0W9L+dplhrVVIQEtD5Ase0buGL8EGt924aWrnQnZWKAQiURfAuFVEkLdMF+7A
/e8SsHB+e84VbkBtxP5Pk4pmM3eIqRm9s3BpAVCu6m7dT2tcpx1MJS1Z1o35D7dj
/Y7XUK9mJzmWMPLeG405EMfy9bZ4nReu5g95j+mp5sOoXpdm6YjfDu3r+nDcwTO2
I4KxtxsASt1o21VNDK/OgtNigtfe8jYSe6QmzFMyEX/9ptMya7U=
=AVCf
-----END PGP SIGNATURE-----

--nextPart5952318.sQuhbGJ8Bu--