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, >
<<attachment: logs-macos-13.zip>>
# -*- 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
Description: OpenPGP digital signature
