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
}

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to