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