Sorry for the complex title. I'm not yet sure what is the error in my
particular configuration.
I'm trying to write a Dockerfile to run Squeak on my raspberry pi (4b+, set up with 64 bit). I downloaded this release: `squeak.cog.spur_linux64x64_202003021730` and tried to execute it without any arguments for the beginning: ``` root@cadc927632ce:/# ./sqcogspur64linuxht/squeak not a dynamic executable Error. Could not determine platform's libc path for VM. Try forcing $PLATFORMLIBDIR in ./sqcogspur64linuxht/squeak, based on LIBC_SO. Please report what works to squeak [vm-dev] mail list. LIBC_SO= DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.1 LTS" NAME="Ubuntu" VERSION="20.04.1 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.1 LTS" VERSION_ID="20.04" VERSION_CODENAME=focal UBUNTU_CODENAME=focal UNAME=Linux cadc927632ce 5.4.79-v8+ #1373 SMP PREEMPT Mon Nov 23 13:32:41 GMT 2020 aarch64 aarch64 aarch64 GNU/Linux System seems to be 64 bit. You may need to (re)install the 32-bit libraries. ```
What does this error message want to tell me? Which libraries should I install? I already gave this [https://github.com/pharo-project/pharo-launcher/issues/112] a try, but I only get 404 errors for i386 repository - [it looks as if it is not available for Ubuntu 20.](https://eofla.wordpress.com/2020/04/01/ubuntu-20-04-lts-i386-repository-fade...)
Can you help me? What libraries and packages do I need to install to get a (headful, planning to use `ssh -X`) running in my container?
(PS: Probably a Squeak alternative for http://get.pharo.org/ could be helpful, too. :-))
Hi,
You are trying to run a Linux x86-64 VM. But that is not the CPU you have. What you have is an ARMv8 CPU in either 32 or 64 bit mode. Since it's in 64bit mode then....
You need a 64 bit ARMv8 VM.
A recent checkout of the git repostiory
git clone [https://github.com/OpenSmalltalk/opensmalltalk-vm.git%5D(https://github.com/...)
Should work. The last I tried was at the beginning of December and that VM works fine on my ArmV8 systems.
Check it out with
git clone [https://github.com/OpenSmalltalk/opensmalltalk-vm.git%5D(https://github.com/...)
Then run
./scripts/updateSCCSVersions
cd build.linux64ARMv8/[squeak.cog.spur/build](http://squeak.cog.spur/build) ./mvm
and when it gets done in a few minutes you have a squeak binary and all the libraries.
When it is done
$ file local/squeak/squeak
local/squeak/squeak: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=23893b13c1f61cd426946572ca6f5e374f3d647d, with debug_info, not stripped
Should show you something similar. The first bit before the dynamically linked, is the important bit.
cheers
bruce
Oh I forgot.
The following apt installs probably are necessary.
sudo apt-get install uuid-dev libcairo2-dev libpango1.0-dev libgl1-mesa-dev libgl1-mesa-glx libssl-dev
sudo apt install libevdev-dev
I think that is the minimal set necessary. Depending on your audio setup you might want.
sudo apt install libpulse-dev
cheers
bruce
On 2020-12-30, at 10:20 AM, Bruce O'Neel bruce.oneel@pckswarms.ch wrote:
sudo apt-get install uuid-dev libcairo2-dev libpango1.0-dev libgl1-mesa-dev libgl1-mesa-glx libssl-dev sudo apt install libevdev-dev
I think that is the minimal set necessary. Depending on your audio setup you might want.
sudo apt install libpulse-dev
That's interesting; I haven't seen libgl1-mesa-dev & libgl1-mesa-glx suggested before. I've been using mesa-common-dev which I can only guess must contain a lot of similar components - though B3DAcceleratorPlugin doesn't always make, possibly connected?
Also libasound2-dev might be wanted if you have an ALSA setup rather than pulse (Pi are transitioning, as would be inferred from my recent travails with pulse).
I've also been loading autoconf (do I still need it?), netatalk (to make life a little simpler) and libx11-dev since I starte Pi-ing.
My current line to connect to my iMac via /etc/fstab looks like - //192.168.1.65/tim /home/pi/DizietFS cifs _netdev,vers=3.0,noserverino,noperm,username=tim,password=XXXXX,uid=1000,gid=pi,iocharset=utf8,x-systemd.automount 0 0
Those parameters seem to change randomly and I have never, ever, found a decent explanation for what goes in there. One might argue that an nfs connection would be better, but after years of using one, it started to cause problems and I abandoned.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Fractured Idiom:- L'ETAT, C'EST MOE - All the world's a stooge
Thanks for the instructions, Bruce! I needed to install two more packages, gcc and make, but then the compilation succeeded. I posted my next problem (mprotect error) in the GitHub thread [1] - let's join the split conversation there again :-)
[1] https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/544#issuecomment-75...
----- Carpe Squeak! -- Sent from: http://forum.world.st/Squeak-Dev-f45488.html
On 30/12/20 11:50 pm, Bruce O'Neel wrote:
sudo apt-get install uuid-dev libcairo2-dev libpango1.0-dev libgl1-mesa-dev libgl1-mesa-glx libssl-dev
sudo apt install libevdev-dev ... I think that is the minimal set necessary.
pango-dev requires cairo and mesa-dev requires mesa-glx respectively, so a minimal set of packages would be:
$ sudo apt-get install uuid-dev libpango1.0-dev libgl1-mesa-dev libssl-dev libevdev-dev
HTH .. Subbu
Hm, it still fails with the mprotect permission denied error :(
http://www.hpi.de/ ________________________________ Von: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org im Auftrag von K K Subbu kksubbu.ml@gmail.com Gesendet: Donnerstag, 31. Dezember 2020 07:48:07 An: squeak-dev@lists.squeakfoundation.org Betreff: Re: [squeak-dev] Fwd: [OpenSmalltalk/opensmalltalk-vm] Trouble running OSVM in an Ubuntu 20/aarch64 docker (raspi) (#544)
On 30/12/20 11:50 pm, Bruce O'Neel wrote:
sudo apt-get install uuid-dev libcairo2-dev libpango1.0-dev libgl1-mesa-dev libgl1-mesa-glx libssl-dev
sudo apt install libevdev-dev ... I think that is the minimal set necessary.
pango-dev requires cairo and mesa-dev requires mesa-glx respectively, so a minimal set of packages would be:
$ sudo apt-get install uuid-dev libpango1.0-dev libgl1-mesa-dev libssl-dev libevdev-dev
HTH .. Subbu
On 2021-01-01, at 10:00 AM, Thiede, Christoph Christoph.Thiede@student.hpi.uni-potsdam.de wrote:
Hm, it still fails with the mprotect permission denied error :(
Are we seeing some aspect of container things restricting access? Compare to my recent 'Illegal Instruction' isue on a container on the phone.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim "I love deadlines. I love the whooshing noise they make as they go by." Douglas Adams, R.I.P.
Hi all,
thanks a lot for your help. In the meantime, I have finally been able to succeed in the entire build process. Because it was a quite costly setup, I have summarized all relevant docker files and build scripts in this repository:
https://github.com/LinqLover/squeak-raspi-docker
Please feel free to add your suggestions for improvements or to share this link! :-)
Happy Squeaking, Christoph
----- Carpe Squeak! -- Sent from: http://forum.world.st/Squeak-Dev-f45488.html
squeak-dev@lists.squeakfoundation.org