Re: 2.7.1 on Mac x86

"Chun Tian (binghe)" <[email protected]> Thu, 24 Apr 2025 20:16:20 +1000
Newsgroups gmane.lisp.gcl.devel
Organization The Australian National University
Message-ID <[email protected]>
Greetings,

Finally I have a "working" Portfile (in attach) for gcl27, tested on MacPorts'
GitHub CI workflow, including macOS 13 x86, macOS 14 arm64 and macOS 15 arm64.

On macOS 13 x86, you can find the building logs from the following link (I put a
copy in attach in case the link is no more available in the future).

https://github.com/binghe/macports-ports/actions/runs/14638869916/job/41076302619

The building log shows that "unixport/saved_pre_gcl" has been built successfully
but then it follows a segmentation violation:

echo "(system:save-system \"unixport/gcl0\")" | cat unixport/cinit.lisp - |
unixport/saved_pre_gcl

dlopen(/opt/local/var/macports/build/_Users_runner_work_macports-ports_macports-ports_ports_lang_gcl27/gcl27/work/gcl-2.7.1/unixport/libboot.so,
0x0009): symbol not found in flat namespace '_Cnil_body'
  dlsym(0x0, gcl_init_boot): invalid handle
  Segmentation violation: c stack ok:signalling errorSegmentation violation: c
stack ok:signalling error
  Unrecoverable error: Segmentation violation..
  /bin/sh: line 1: 12984 Done                    echo "(system:save-system
\"unixport/gcl0\")"
       12985                       | cat unixport/cinit.lisp -
       12986 Abort trap: 6           | unixport/saved_pre_gcl
  make[1]: *** [unixport/gcl0] Error 134

Is there anything we can learn just by watch this log?

--Chun

On 24/04/25 08:02, Camm Maguire wrote:
> Greetings!  Just a quick note that we've recently verified that GCL self
> builds, builds ACL2, and runs its regression without error (16 parallel
> processes taking several hours), using the apple supplied gcc.  When we
> get a macports package, I imagine we will use the macports gcc, but I
> expect the results to be the same.
> 
> Take care,
>
logs-macos-13.zip (application/zip, 18.2 KB) - not displayed
Portfile (text/plain, 2.2 KB)
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4

PortSystem          1.0
PortGroup           conflicts_build 1.0

name                gcl27
version             2.7.1
revision            0
categories          lang
license             GPL-2+
maintainers         {@binghe gmail.com:binghe.lisp} openmaintainer

description         GNU Common Lisp
long_description    GCL is the official Common Lisp for the GNU project. \
                    Its design makes use of the system's C compiler to \
                    compile to native object code, providing for both \
                    good performance and facile portability.
homepage            https://www.gnu.org/software/gcl

conflicts           gcl

depends_lib         port:gettext \
                    port:gmp \
                    port:readline

depends_build       port:autoconf \
                    port:automake \
                    port:texinfo

master_sites        gnu:gcl
distname            gcl-${version}

extract.rename      yes

checksums           rmd160  7625272edd08ef52ec6f375b9a669c023f65460b \
                    sha256  79d0bb65b82df81c078bc55c4cda3fe4d766d87e3bfe10fde0b2f728204e1015 \
                    size    4428839

patch.pre_args      -p1
patchfiles          Version_2_7_2pre1 Version_2_7_2pre2

conflicts_build-append \
                    ${name}

# checking for required object alignment... configure: error: Cannot find object alignent
universal_variant   no

configure.args      --enable-infodir=${prefix}/share/info \
                    --enable-readline \
                    --without-x \
                    --disable-xgcl

# prevent it from picking system emacs
configure.args-append ac_cv_path_EMACS=

# anyway, we need to provide the right path to default.el
# post-configure {
#    reinplace "s|EMACS_DEFAULT_EL=|EMACS_DEFAULT_EL=${prefix}/etc/default.el|g" makedefs makedefc
# }

use_parallel_build no

variant x11 {
    depends_lib-append  port:xorg-libX11
    configure.args-delete --without-x --disable-xgcl
    configure.args-append --with-x --enable-xgcl \
                          --x-includes=${prefix}/include \
                          --x-libraries=${prefix}/lib
}
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEES+aY+4laoC0TwmVKFUkg2jrYR8gFAmgKD3QACgkQFUkg2jrY
R8h9aRAAmUp4Sxj8VgRVKcQ2Kg9TjIk7HTQhTxp4U2MvuAeTYZcqJyDCVmv/5+0E
wcwWeG7C/Hnix6JuPQL4kgUawcnqGxI84h2ChBzW5jtQtbs9FHcPzacNY7CZEIpu
fsY1j6R9yNCn4Y+Mes3sGV2rssw8enw1QAWng4tdG8fUas5+vnFs93j2fAx/Bkh0
nLClVUI33F3jgMABjqfGT5d86NcAUPx62JdPLCajLcuJt5rsC8HBkI43rCyLtk3/
6bbnXXJtcV2WePPUrsMbAPpO0Ekfyfolk+RxOvZ3qpDZbUm8xILwLjuUgH17iyTM
YBn5JE3DEpCehxzxSentIB9HKgkCEh0xlT5wKOFuTrqE3UER8+PAme39Sqo11Wj2
Hw/Ifvqxb/1NliA/pQ0cXUvolosYAYqSyrAlmJOHa/USDGHcG+O9jv6C18FRDpGo
iW+Emy9zOyHjxp6sx9GOWbCSBIQEvyYMxXgxrA3mKhpbBTPf/XDpnxHibp7SJJRo
M+QcnMlBPryLULuZ6N6m/1+iiVyde3gYOGjUul11owxc5I8uvxUFetl/WE/NPIzh
Ib39KTHLWBu5Y/dssI1qENo+XKXMVHyDlpnXqTf4UAes0QsfDlvZ3672RHhJ0TGv
O3GML5iFWTy1nrWQ87thAyrULKREhJ0eRjkSEyB67AuDQjh3UNE=
=+kT0
-----END PGP SIGNATURE-----