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]
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.