Getting the new VM to run on Slackware Linux 15.0...custom glibc needed....
gettimothy via Squeak-dev <[email protected]>
| Newsgroups | gmane.comp.lang.smalltalk.squeak.general |
|---|---|
| Message-ID | <[email protected]> |
Hi Folks
when I downloaded the squeak-7.0-20260422-cog64-linux (my naming convention for its directory in ~/usr/bin) it would not boot because it required a newer glibc than slackware procided..
Using the AI that shall not be named, I got a new glibc installed to my ~/.local/ directory and was able to get it to launch my current images..
Below is the summary of how this was accomplished...
Solution
Build and install a newer glibc (2.39) in user space (~/.local/glibc-2.39), then launch the VM with a wrapper script that uses the custom linker and library path.
Steps
Download and build glibc 2.39 (out-of-tree build):
bash
tar -xf glibc-2.39.tar.xz
mkdir build && cd build
../configure --prefix=/home/wm/.local/glibc-2.39 --disable-werror
make -j$(nproc) && make install
Create a wrapper script (~/.local/bin/squeak-wrapper-7.0-cog64):
bash
#!/bin/bash
GLIBC_PREFIX="/home/wm/.local/glibc-2.39"
VM_PATH="/path/to/squeak-7.0/lib/squeak/7.0-202604221823-64bit/squeak"
PLUGINS_PATH="/path/to/squeak-7.0/lib/squeak/7.0-202604221823-64bit"
export LD_LIBRARY_PATH="${GLIBC_PREFIX}/lib:/usr/lib64:/lib64"
export LC_ALL=C
export LANG=C
exec "${GLIBC_PREFIX}/lib/ld-linux-x86-64.so.2" \
"${VM_PATH}" -plugins "${PLUGINS_PATH}" "$@"
Make executable and run:
bash
chmod +x ~/.local/bin/squeak-wrapper-7.0-cog64
squeak-wrapper-7.0-cog64 Croquet64SDKHack.image
Key Points
No system-wide changes – glibc lives entirely in ~/.local
System libraries (X11, OpenGL, libuuid, libz) are found via LD_LIBRARY_PATH fallback
Plugins must be explicitly pointed to with -plugins
Works for both headless and graphical Squeak/Croquet images
Requirements
glibc source (2.39 tested)
System X11 and OpenGL development libraries (for graphical VMs)
Patience for library dependency resolution (X11, OpenGL, etc.)
Result
Squeak 7.0 Cog VM runs successfully on systems with older glibc, enabling Croquet and other modern Smalltalk environments without upgrading the host OS.
There was a lot of hoop-jumping in this session, so there may be a cleaner way to do this...
I hope this helps for your upcoming release.
cordially
t
Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]