[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] POWER (ppc64le) port. (#493)

kgardas notifications at github.com
Tue Apr 28 19:20:18 UTC 2020


Well, I'm on linux ppc64le here. When I tried to
```
cmake .
make
```
it fails with:
```
[  6%] Generating VMMaker image
Error. Could not determine platform's libc path for VM. 
Try forcing $PLATFORMLIBDIR in /home/karel/vcs/opensmalltalk-vm/build/vmmaker/pharo-vm/pharo, based on LIBC_SO.
Please report what works to pharo [vm-dev] mail list.
  LIBC_SO=
  DISTRIB_ID=Ubuntu
  DISTRIB_RELEASE=18.04
  DISTRIB_CODENAME=bionic
  DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"
  NAME="Ubuntu"
  VERSION="18.04.4 LTS (Bionic Beaver)"
  ID=ubuntu
  ID_LIKE=debian
  PRETTY_NAME="Ubuntu 18.04.4 LTS"
  VERSION_ID="18.04"
  VERSION_CODENAME=bionic
  UBUNTU_CODENAME=bionic
  UNAME=Linux power 4.15.0-96-generic #97-Ubuntu SMP Wed Apr 1 03:02:23 UTC 2020 ppc64le ppc64le ppc64le GNU/Linux
  System seems to be 64 bit. You may need to (re)install the 32-bit libraries.
CMakeFiles/PharoVMCore.dir/build.make:69: recipe for target 'build/vmmaker/VMMaker.image' failed
make[2]: *** [build/vmmaker/VMMaker.image] Error 1
CMakeFiles/Makefile2:722: recipe for target 'CMakeFiles/PharoVMCore.dir/all' failed
make[1]: *** [CMakeFiles/PharoVMCore.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2
```
Also it looks like build downloads some libraries (binaries) and they are AMD64 version instead of PPC64le:
```
$ find . -name '*.so' -type f -exec file \{} \;
./build/vm/libssl.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=89cb8ea91be8b04ffc742cc33d525fb9f76b556c, not stripped
./build/vm/libssh2.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eafa92c5653860e7e2453024ace4429679ca9b38, not stripped
./build/vm/libSDL2.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5e637f50425ea9b3266dd865d74db24a5f65d5fa, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/SqueakSSL.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c28a2b546ca033349842a63f37e232232539cfc1, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/JPEGReadWriter2Plugin.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7f7f34794b40827f2c331855f8a3b5a3314f70c2, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/vm-sound-null.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b20f0fc8d58f998911d2adb16a234b0a67951766, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/SurfacePlugin.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=725d5c8cd893ec941a1785ca773910c679b22270, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/libssl.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1949ac7e4f805fa1b4dddf52968bd04a8f225b12, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/libssh2.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=649fd9bcd4e0e181a13ae55162d5038cc41a476a, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/vm-display-null.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2349b3d3c43e5de72af4fc07a4170f8b86f2c8f0, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/RePlugin.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=9be7371153f2f2b5c82efc4d3a04a2797ecc24f8, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/vm-sound-pulse.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a9dd584b9178f9bc2784a105e86800dd43e32c03, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/vm-sound-OSS.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=37be7347ae6a0624ac46f8ad60e86fa177fbb3c2, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/libgit2.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=aeda1977d79e6300652175530a00523b59dcc7be, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/vm-display-X11.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=56a571c4ff59d527594bcf63064727d06833bc55, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/vm-display-fbdev.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2d0b96852d55f41a86c4d95ea30f70da122ae4ee, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/EventsHandlerPlugin.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=760efc5202c4524f308105affbd4efdcff9f9b78, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/libSDL2.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=228d83bb8bf91950ef50f8b2f8efc110ed62dc9a, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/FileAttributesPlugin.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7a622d85f5c29ffdb8b75ae4bc636ed2d9d047c1, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/vm-sound-NAS.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2f6fd795b34e6c6d76d8341466575f09f8b9e37d, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/AioPlugin.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3f66a722391732ea86e8102f3f4ee4a14397390c, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/JPEGReaderPlugin.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=63720cd219d9c5ab83369402006fb82297f884cc, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/B3DAcceleratorPlugin.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b56343b4c77dd90a4903f01c2783b56659bf1ab6, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/vm-sound-ALSA.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5f615b6ab0017ea50923adee021888ecd922dd53, with debug_info, not stripped
./build/vmmaker/pharo-vm/lib/pharo/5.0-202002121043/InternetConfigPlugin.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5c8f80b41de811bb16c65487ed8e80829fc02a34, with debug_info, not stripped
```
So there is something to do on PPC64le support.
Anyway, I'm surprised the beast running fine on RISC-V. If this is the case, then perhaps I'm just missing some configuration/cmake option to make that working on PPC64le too?

For folks interested in POWER architecture development/porting, the most easy way to get access to actual hardware is GCC compile farm: https://cfarm.tetaneutral.net/ -- where people working on open-source/free-software may request account and access machines from the list. POWER is presented with both big and little endian and with power7, power8 and power9 CPUs hosts and with Linux and AIX. So the coverage is quite good...

-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/493#issuecomment-620804934
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20200428/42d21c7c/attachment-0001.html>


More information about the Vm-dev mailing list