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)
* 
---

Reply via email to