Fwd: [OpenSmalltalk/opensmalltalk-vm] Trouble running OSVM in an Ubuntu 20/aarch64 docker (raspi) (#544)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Fwd: [OpenSmalltalk/opensmalltalk-vm] Trouble running OSVM in an Ubuntu 20/aarch64 docker (raspi) (#544)

Christoph Thiede

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
\[<<a href="https://github.com/pharo-project/pharo-launcher/issues/112&gt;\" id="LPlnk118909" previewremoved="true">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-out/)

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. :-))


Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: Fwd: [OpenSmalltalk/opensmalltalk-vm] Trouble running OSVM in an Ubuntu 20/aarch64 docker (raspi) (#544)

Bruce O'Neel-2
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


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


Then run

./scripts/updateSCCSVersions


cd build.linux64ARMv8/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





30 December 2020 16:12 "Thiede, Christoph" <[hidden email]> wrote:

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://eofla.wordpress.com/2020/04/01/ubuntu-20-04-lts-i386-repository-fade-out/)

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. :-))
<>



Reply | Threaded
Open this post in threaded view
|

Re: Fwd: [OpenSmalltalk/opensmalltalk-vm] Trouble running OSVM in an Ubuntu 20/aarch64 docker (raspi) (#544)

Bruce O'Neel-2

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

30 December 2020 19:17 "Bruce O'Neel" <[hidden email]> wrote:
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


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


Then run

./scripts/updateSCCSVersions


cd build.linux64ARMv8/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





30 December 2020 16:12 "Thiede, Christoph" <[hidden email]> wrote:

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://eofla.wordpress.com/2020/04/01/ubuntu-20-04-lts-i386-repository-fade-out/)

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. :-))
<>

<>




Reply | Threaded
Open this post in threaded view
|

Re: Fwd: [OpenSmalltalk/opensmalltalk-vm] Trouble running OSVM in an Ubuntu 20/aarch64 docker (raspi) (#544)

timrowledge


> On 2020-12-30, at 10:20 AM, Bruce O'Neel <[hidden email]> 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; [hidden email]; http://www.rowledge.org/tim
Fractured Idiom:- L'ETAT, C'EST MOE - All the world's a stooge



Reply | Threaded
Open this post in threaded view
|

Re: Fwd: [OpenSmalltalk/opensmalltalk-vm] Trouble running OSVM in an Ubuntu 20/aarch64 docker (raspi) (#544)

Christoph Thiede
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-752803523



-----
Carpe Squeak!
--
Sent from: http://forum.world.st/Squeak-Dev-f45488.html

Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: Fwd: [OpenSmalltalk/opensmalltalk-vm] Trouble running OSVM in an Ubuntu 20/aarch64 docker (raspi) (#544)

K K Subbu
In reply to this post by Bruce O'Neel-2
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

Reply | Threaded
Open this post in threaded view
|

Re: Fwd: [OpenSmalltalk/opensmalltalk-vm] Trouble running OSVM in an Ubuntu 20/aarch64 docker (raspi) (#544)

Christoph Thiede

Hm, it still fails with the mprotect permission denied error :(


Von: Squeak-dev <[hidden email]> im Auftrag von K K Subbu <[hidden email]>
Gesendet: Donnerstag, 31. Dezember 2020 07:48:07
An: [hidden email]
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



Carpe Squeak!
Reply | Threaded
Open this post in threaded view
|

Re: Fwd: [OpenSmalltalk/opensmalltalk-vm] Trouble running OSVM in an Ubuntu 20/aarch64 docker (raspi) (#544)

timrowledge


> On 2021-01-01, at 10:00 AM, Thiede, Christoph <[hidden email]> 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; [hidden email]; http://www.rowledge.org/tim
"I love deadlines. I love the whooshing noise they make as they go by." Douglas Adams, R.I.P.



Reply | Threaded
Open this post in threaded view
|

Re: Fwd: [OpenSmalltalk/opensmalltalk-vm] Trouble running OSVM in an Ubuntu 20/aarch64 docker (raspi) (#544)

Christoph Thiede
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

Carpe Squeak!