Hello, On Thu, 17 Jul 2025 13:40:58 -0500 izzy Meyer <izder...@disroot.org> wrote: > I was doing my weekly upgrade of my -current machines and ended up > breaking my StumpWM setup [0]. I figured out that one of the modules I > use in my config depends on the Common Lisp package, drakma, which in > turn depends on cl+ssl, which seems to be the buggy software here. For > now, I just removed the stuff that uses drakma/cl+ssl in my config [1] > > I am currently on: > > ~ $ sysctl kern.osrevision > kern.osrevision=202504 > > I was also reading undeadly.org around this time and noticed this entry [2] > > Well, after I reboooted after my sysupgrade -s and logged into XenoDM, I had > an > error in my StumpWM console saying CL's FFI couldn't link to libcrypto.so > > Alarm bells in my head sounded off. Could that change announced in the > undeadly > article be related to this buggy behavior I came up on?
Yes. We are refreshing everything to use new libraries. Your system seems to be upgraded partially. > With a quick test trying to load the cl+ssl package with quicklisp [3]: > > ~ $ rlwrap sbcl > This is SBCL 2.5.5.openbsd.sbcl-2.5.5, an implementation of ANSI Common Lisp. > More information about SBCL is available at <http://www.sbcl.org/>. > > SBCL is free software, provided as is, with absolutely no warranty. > It is mostly in the public domain; some portions are provided under > BSD-style licenses. See the CREDITS and COPYING files in the > distribution for more information. > * (ql:quickload :cl+ssl) > To load "cl+ssl": > Load 1 ASDF system: > cl+ssl > ; Loading "cl+ssl" > ............sbcl:/usr/lib/libcrypto.so.57.0: undefined symbol '__stderr' > sbcl:/usr/lib/libcrypto.so.57.0: undefined symbol '__stdin' ... > ... > > What I find particularly interesting is this bit here: > > To load "cl+ssl": > Load 1 ASDF system: > cl+ssl > ; Loading "cl+ssl" > ............sbcl:/usr/lib/libcrypto.so.57.0: undefined symbol '__stderr' > sbcl:/usr/lib/libcrypto.so.57.0: undefined symbol '__stdin' > > ... sbcl on your machine is linking old libc and loaded libraries by "cl+ssl" tries to load new libcrypto which is to use new symbol __std{in,err} which the old libc doesn't have. > So I ask this, how could I work around this? Do I need to report the > bug to the cl+ssl quicklisp package maintainer? Is there something on my > box I can do to use security/openssl/3.5 or something instead as a > workaround (not ideal)? I am testing the transition to the new libc in advance. On that machine, loading "cl+ssl" success without any error. So I'd suggest waiting until the packages are refreshed. --- * (ql:quickload :cl+ssl) To load "cl+ssl": Load 2 ASDF systems: asdf uiop Install 12 Quicklisp releases: alexandria babel bordeaux-threads cffi cl+ssl flexi-streams global-vars split-sequence trivial-features trivial-garbage trivial-gray-streams usocket ; Fetching #<URL "http://beta.quicklisp.org/archive/split-sequence/2021-05-31/split-sequence-v2.0.1.tgz"> ; 11.43KB ================================================== 11,705 bytes in 0.02 seconds (725.48KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/usocket/2024-10-12/usocket-0.8.8.tgz"> ; 1283.89KB ================================================== 1,314,700 bytes in 0.30 seconds (4211.23KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/trivial-gray-streams/2024-10-12/trivial-gray-streams-20241012-git.tgz"> ; 7.87KB ================================================== 8,054 bytes in 0.01 seconds (566.74KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/flexi-streams/2024-10-12/flexi-streams-20241012-git.tgz"> ; 435.28KB ================================================== 445,729 bytes in 0.30 seconds (1432.94KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/babel/2024-10-12/babel-20241012-git.tgz"> ; 267.84KB ================================================== 274,265 bytes in 0.06 seconds (4402.32KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/cffi/2025-06-22/cffi-20250622-git.tgz"> ; 258.16KB ================================================== 264,354 bytes in 0.22 seconds (1150.12KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/trivial-garbage/2023-10-21/trivial-garbage-20231021-git.tgz"> ; 10.75KB ================================================== 11,005 bytes in 0.02 seconds (679.59KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/trivial-features/2025-06-22/trivial-features-20250622-git.tgz"> ; 11.10KB ================================================== 11,368 bytes in 0.02 seconds (693.63KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/global-vars/2014-11-06/global-vars-20141106-git.tgz"> ; 3.50KB ================================================== 3,581 bytes in 0.01 seconds (381.28KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/bordeaux-threads/2024-10-12/bordeaux-threads-v0.9.4.tgz"> ; 2991.31KB ================================================== 3,063,105 bytes in 0.43 seconds (6891.11KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/alexandria/2024-10-12/alexandria-20241012-git.tgz"> ; 55.94KB ================================================== 57,281 bytes in 0.03 seconds (1645.01KB/sec) ; Fetching #<URL "http://beta.quicklisp.org/archive/cl+ssl/2025-06-22/cl+ssl-20250622-git.tgz"> ; 90.41KB ================================================== 92,577 bytes in 0.06 seconds (1450.09KB/sec) ; Loading "cl+ssl" .................................................. [package alexandria].............................. [package alexandria-2]............................ [package babel-encodings]......................... [package babel]................................... .................................................. [package cffi-sys]................................ [package cffi-features]........................... [package cffi].................................... .................................................. [package cl+ssl/config]........................... [package impl-specific-gray]...................... [package trivial-gray-streams].................... [package flexi-streams]........................... .................................................. .................................................. .................................................. [package global-vars]............................. [package trivial-garbage]......................... [package bordeaux-threads]........................ [package bt2]..................................... [package split-sequence].......................... [package usocket]................................. [package cl+ssl]...................... (:CL+SSL) * ---