Re: Trying to build SBCL 2.6.0 docker image on trixie

Robert Goldman <[email protected]>
Newsgroups gmane.lisp.steel-bank.devel
Message-ID <[email protected]>
Thanks!  I'm looking at the code in the template and there are three 
architectures, and for each a specific binary version to use as the host 
SBCL:

1. `armhf` `SBCL_BINARY_VERSION=1.4.1`
2. `arm64` `SBCL_BINARY_VERSION=1.4.2`
3. `amd64` `SBCL_BINARY_VERSION=1.5.5` Comment says "Limit to 1.5.5 
because that's when the glibc version used to build was bumped"

Are you able to recommend more sensible versions to use?

Looks like 1.5.5 is not bad, since I'm able to build on the linux/amd64 
host, but can't build either on the Mac.

Unfortunately, there's no explanation for the original 
`SBCL_BINARY_VERSION` choices nor any guidance in how to update them.

Thanks again,
R


On 9 Jan 2026, at 10:35, Stas Boukarev wrote:

> That's the host SBCL falling. Try something newer.
>
> On Fri, Jan 9, 2026 at 7:14 PM Robert Goldman <[email protected]> 
> wrote:
>>
>> On my M4 Mac, I've been trying to build AMD64 and ARM64 docker images 
>> for SBCL 2.6.0. I'm doing this to try to fill the hole left by the 
>> cl-docker-images on common-lisp.net after the maintainer's departure.
>>
>> Unfortunately, since at least 2.4.9, I am unable to do the build 
>> inside Docker on the Mac.
>>
>> I am able to build on an AMD64 linux box but it's not able to build a 
>> multi-platform image, so I would love to get this to work on my Mac.
>>
>> Here's the error -- anyone know what I'm doing wrong? Dockerfile 
>> appended below.
>>
>> 8.73 ; Math journal: wrote #P"obj/from-host/xfloat-math.lisp-expr" 
>> (6850 entries)
>> 98.73 ctype cache metrics:  Count     LF     Seek    Hit maxPSL  Mask
>> 98.74   VALUES          :   48409  73.9%                    10   FFFF
>> 98.74   List            :   45127  68.9%                    16   FFFF
>> 98.74   Set             :   26043  39.7%                     6   FFFF
>> 98.74   EQL             :   19037 NIL  %
>> 98.74   NUMERIC-UNION   :   18320  55.9%                     7   7FFF
>> 98.74   UNION           :   17786  54.3%                     7   7FFF
>> 98.74   FUN             :    9690  59.1%                     7   3FFF
>> 98.74   INTERSECTION    :    8670  52.9%                     6   3FFF
>> 98.74   MEMBER          :    5465  66.7%                     7   1FFF
>> 98.74   NEGATION        :    5444  66.5%                    13   1FFF
>> 98.74   Key-Info        :    1169  57.1%                     7    7FF
>> 98.74   ARRAY           :     635  62.0%                     5    3FF
>> 98.74   CONS            :     528  51.6%                     5    3FF
>> 98.74   Key-Info-Set    :     390  38.1%                     3    3FF
>> 98.74   CHARACTER-SET   :     229  44.7%                     4    1FF
>> 98.74   ALIEN-TYPE      :     113  44.1%                     4     FF
>> 98.74   UNKNOWN         :      70  54.7%                     3     7F
>> 98.74   CONSTANT        :      66  51.6%                     6     7F
>> 98.74   HAIRY           :      32  50.0%                     3     3F
>> 98.74   MEMBER/EQ       :      16  25.0%                     2     3F
>> 98.74   FUN-DESIGNATOR  :       5   7.8%                     1     3F
>> 98.74   Total           :  207244
>> 98.74 Alien:
>> 98.74   FUN             :      81  63.3%                     4     7F
>> 98.74   POINTER         :      17  26.6%                     3     3F
>> 98.74   INTEGER         :       8  12.5%                     2     3F
>> 98.74   ARRAY           :       6   9.4%                     1     3F
>> 98.74   C-STRING        :       3   4.7%                     1     3F
>> 98.74   BOOLEAN         :       1   1.6%                     1     3F
>> 98.74   VALUES          :       1   1.6%                     1     3F
>> 98.74   ENUM            :       0   0.0%                     0     3F
>> 98.74   UNION           :       0   0.0%                     0     3F
>> 98.74   STRUCT          :       0   0.0%                     0     3F
>> 98.74   Total           :     117
>> 98.76 Math journal: replaced from 
>> #P"obj/from-host/xfloat-math.lisp-expr"
>> 98.78
>> 98.78 Likely suspicious calls:
>> 98.78   52 SB-C::LVAR-VALUE-IS
>> 98.78    2 SB-IMPL::EQL-HASH
>> 98.78    2 SB-IMPL::GETHASH3
>> 98.78    1 SB-KERNEL:%CODE-FUN-OFFSET
>> 98.78    1 SB-KERNEL:CLASSOID-OF
>> 98.78    1 SB-KERNEL:%PUTHASH
>> 98.78
>> 98.78 Possibly suspicious calls:
>> 98.78  242 SB-KERNEL:SPECIFIER-TYPE
>> 98.78  200 SB-KERNEL:%COERCE-CALLABLE-TO-FUN
>> 98.78  181 SB-KERNEL:%NEGATE
>> 98.78  144 SB-KERNEL:%SINGLE-FLOAT
>> 98.78  121 SB-KERNEL:%DOUBLE-FLOAT
>> 98.78   28 (SETF SB-INT:INFO)
>> 98.78   27 SB-KERNEL:ASH-LEFT-ADD
>> 98.78   27 SB-KERNEL:%DPB
>> 98.78   26 SB-KERNEL:%LDB
>> 98.78   18 SB-KERNEL:RANGE<=
>> 98.78   11 SB-INT:INFO
>> 98.78    8 SB-KERNEL:VALUES-SPECIFIER-TYPE
>> 98.78    6 SB-KERNEL:RANGE<
>> 98.78    3 SB-KERNEL:%UNARY-ROUND
>> 98.78    2 SB-KERNEL:FILL-POINTER-ERROR
>> 98.78    1 SB-C::MASK-SIGNED-FIELD
>> 98.78    1 SB-C::%STRUCTURE-IS-A
>> 98.78    1 SB-SYS:FOREIGN-SYMBOL-SAP
>> 98.78    1 SB-IMPL::%FAILED-AVER
>> 98.78    1 SB-KERNEL:CHECK-TYPE-ERROR-TRAP
>> 98.78    1 SB-KERNEL:DSD-INDEX
>> 98.78    1 SB-C::FUN-INFO-TEMPLATES
>> 99.06 mmap: wanted 271843328 bytes at 0x1000000000, actually mapped 
>> at 0xffff75600000
>> 99.06 fatal error encountered in SBCL pid 662(tid 0xffff86262420):
>> 99.06 remap_free_pages: page moved, 0x00000000 ==> 0x00000000
>> 99.06
>> 99.06 Error opening /dev/tty: No such device or address
>> 99.06 Welcome to LDB, a low-level debugger for the Lisp runtime 
>> environment.
>>
>> #
>> # NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
>> #
>> # PLEASE DO NOT EDIT IT DIRECTLY.
>> #
>> FROM buildpack-deps:trixie
>>
>> ENV SBCL_VERSION=2.6.0
>> ENV SBCL_SIGNING_KEY=D6839CA0A67F74D9DFB70922EBD595A9100D63CD
>>
>> WORKDIR /usr/local/src/
>>
>> # hadolint ignore=DL3003,DL3008
>> RUN set -x \
>>     && case "$(dpkg --print-architecture)" in \
>>     armhf) SBCL_ARCH=arm; SBCL_BINARY_ARCH_CODE=armhf; 
>> SBCL_BINARY_VERSION=1.4.11;; \
>>     arm64) SBCL_ARCH=arm64; SBCL_BINARY_ARCH_CODE=arm64; 
>> SBCL_BINARY_VERSION=1.4.2;; \
>>     # Limit to 1.5.5 because that's when the glibc version used to 
>> build was bumped
>>     amd64) SBCL_ARCH=x86-64; SBCL_BINARY_ARCH_CODE=x86-64; 
>> SBCL_BINARY_VERSION=1.5.5;; \
>>     *) echo "Unknown arch" >&2; exit 1;; \
>>     esac \
>>     && apt-get update \
>>     && apt-get install --no-install-recommends -y libzstd-dev \
>>     && rm -rf /var/lib/apt/lists/* \
>>     && export SBCL_ARCH \
>>     && export SBCL_BINARY_ARCH_CODE \
>>     && export SBCL_BINARY_VERSION \
>>     && download_and_validate_hashes() { \
>>          curl -fsSL 
>> "https://downloads.sourceforge.net/project/sbcl/sbcl/${1}/sbcl-${1}-crhodes.asc" 
>> > "sbcl-${1}-crhodes.asc" \
>>          && gpg --batch --verify "sbcl-${1}-crhodes.asc" \
>>          && gpg --batch --decrypt "sbcl-${1}-crhodes.asc" > 
>> "sbcl-${1}-crhodes.txt"; \
>>        } \
>>     && download_and_unpack_binary() { \
>>          url="https://downloads.sourceforge.net/project/sbcl/sbcl/${1}/sbcl-${1}-$SBCL_BINARY_ARCH_CODE-linux-binary.tar.bz2" 
>> \
>>          && curl -fsSL "$url" > 
>> "sbcl-${1}-$SBCL_BINARY_ARCH_CODE-linux-binary.tar.bz2" \
>>          && bunzip2 
>> "sbcl-${1}-$SBCL_BINARY_ARCH_CODE-linux-binary.tar.bz2" \
>>          && if grep 
>> "sbcl-${1}-$SBCL_BINARY_ARCH_CODE-linux-binary.tar" 
>> "sbcl-${1}-crhodes.txt" > "${1}-sum-file.txt"; then sha256sum -c 
>> "${1}-sum-file.txt"; fi \
>>          && tar xf 
>> "sbcl-${1}-$SBCL_BINARY_ARCH_CODE-linux-binary.tar" \
>>          && rm -rf 
>> "sbcl-${1}-$SBCL_BINARY_ARCH_CODE-linux-binary.tar"; \
>>        } \
>>     && download_source() { \
>>         url="https://downloads.sourceforge.net/project/sbcl/sbcl/${1}/sbcl-${1}-source.tar.bz2" 
>> \
>>          && curl -fsSL "$url" > "sbcl-${1}-source.tar.bz2" \
>>          && bunzip2 "sbcl-${1}-source.tar.bz2" \
>>          && grep "sbcl-${1}-source.tar" "sbcl-${1}-crhodes.txt" > 
>> "${1}-sum-file.txt" \
>>          && sha256sum -c "${1}-sum-file.txt" \
>>          && tar xf "sbcl-${1}-source.tar" \
>>          && mv "sbcl-$1" "sbcl"; \
>>        } \
>>     && build_and_install_source() { \
>>          cd "sbcl/" \
>>          # Remove the hardcoding of armv5 as target arch. Use the 
>> default
>>          # provided by the base image.
>>          && sed -i -e "s/CFLAGS += -marm -march=armv5/CFLAGS += 
>> -marm/" src/runtime/Config.arm-linux \
>>          # Old versions of SBCL choke. 
>> <https://sourceforge.net/p/sbcl/mailman/message/37640913/>
>>          && echo "(setf *debugger-hook* (lambda (c h) (declare 
>> (ignore h)) (let ((restart (find-restart 'continue c))) (when restart 
>> (invoke-restart restart)))))" > build-debugger-hook.lisp \
>>          && sh make.sh "--xc-host=${1}" --fancy \
>>          && sh install.sh \
>>          && sh clean.sh \
>>          && rm build-debugger-hook.lisp \
>>          && cd /usr/local/src; \
>>        } \
>>     && GNUPGHOME="$(mktemp -d)" \
>>     && export GNUPGHOME \
>>     && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 
>> ${SBCL_SIGNING_KEY} \
>>     && download_and_validate_hashes "$SBCL_BINARY_VERSION" \
>>     && download_and_validate_hashes "$SBCL_VERSION" \
>>     && download_and_unpack_binary "$SBCL_BINARY_VERSION" \
>>     && download_source "$SBCL_VERSION" \
>>     && build_and_install_source 
>> "/usr/local/src/sbcl-${SBCL_BINARY_VERSION}-$SBCL_BINARY_ARCH_CODE-linux/run-sbcl.sh 
>> --load build-debugger-hook.lisp" \
>>     && rm -rf "$GNUPGHOME" "$SBCL_BINARY_VERSION-sum-file.txt" 
>> "$SBCL_VERSION-sum-file.txt" "sbcl-$SBCL_BINARY_VERSION-crhodes."* 
>> "sbcl-$SBCL_VERSION-crhodes."*  "sbcl-$SBCL_VERSION-source.tar" 
>> "sbcl-$SBCL_BINARY_VERSION-$SBCL_BINARY_ARCH_CODE-linux" \
>>     && sbcl --version
>>
>>
>> DOCKERFILE:
>>
>> # Add the Quicklisp installer.
>> WORKDIR /usr/local/share/common-lisp/source/quicklisp/
>>
>> ENV QUICKLISP_SIGNING_KEY=D7A3489DDEFE32B7D0E7CC61307965AB028B5FF7
>>
>> RUN set -x \
>>     && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp" > 
>> quicklisp.lisp \
>>     && curl -fsSL "https://beta.quicklisp.org/quicklisp.lisp.asc" > 
>> quicklisp.lisp.asc \
>>     && GNUPGHOME="$(mktemp -d)" \
>>     && export GNUPGHOME \
>>     && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 
>> "${QUICKLISP_SIGNING_KEY}" \
>>     && gpg --batch --verify "quicklisp.lisp.asc" "quicklisp.lisp" \
>>     && rm quicklisp.lisp.asc \
>>     && rm -rf "$GNUPGHOME"
>>
>> # Add the script to trivially install Quicklisp
>> COPY install-quicklisp /usr/local/bin/install-quicklisp
>>
>> # Install cl-launch and rlwrap. In the next release, move this up so 
>> that all
>> # images can share it.
>> # hadolint ignore=DL3008
>> RUN set -x \
>>     && apt-get update \
>>     && apt-get install --no-install-recommends -y cl-launch rlwrap \
>>     && rm -rf /var/lib/apt/lists/*
>>
>> # Add the entrypoint
>> WORKDIR /
>>
>> COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
>>
>> ENTRYPOINT ["docker-entrypoint.sh"]
>>
>> CMD ["sbcl"]
>>
>> _______________________________________________
>> Sbcl-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/sbcl-devel

_______________________________________________
Sbcl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sbcl-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.