ptitSeb / box64

Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices
https://box86.org
MIT License
3.81k stars 273 forks source link

aarch64 vs arm64 #344

Closed QuintenQVD0 closed 2 years ago

QuintenQVD0 commented 2 years ago

Hi, I made for pterodactyl a egg that runs a teamspeak 3 server (amd64 only) with the box64 in the docker image installed from the repo.

On my raspberry pi 4 B 4GB it works fine what. The host runs debian 11 and kernel version 5.15.

Now someone tryed to run it on oracle cloud and uname -a sas: (Linux vpn 5.15.0-1003-oracle #5-Ubuntu SMP Wed Apr 20 04:51:36 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux) on Ubuntu 22.04 and he gets cannot execute binary file: Exec format error

How can I fix this?

ptitSeb commented 2 years ago

Isn't it a problem with binfmt that is not active? you might want to use box64 directly to launch ts3-server and not let binfmt be triggered?

QuintenQVD0 commented 2 years ago

Isn't it a problem with binfmt that is not active? you might want to use box64 directly to launch ts3-server and not let binfmt be triggered?

You have a example ?

Like box64 ts3-server? Or something else?

ptitSeb commented 2 years ago

I don't have an install of ts3 to check, but I remember there is a shell script and a binary file. If you launch the script directly without change, you need binfmt integration (so box64 is called automatically), and that probably don't work inside the docker image. But if you launch the binary with box64 ./ts3-server-linux.x86_64 (or whatever the name is), it will work. You can also edit the shell script to add the box64 command directly also.

QuintenQVD0 commented 2 years ago

I don't have an install of ts3 to check, but I remember there is a shell script and a binary file. If you launch the script directly without change, you need binfmt integration (so box64 is called automatically), and that probably don't work inside the docker image. But if you launch the binary with box64 ./ts3-server-linux.x86_64 (or whatever the name is), it will work. You can also edit the shell script to add the box64 command directly also.

Thx for your fast response , I will try it!

QuintenQVD0 commented 2 years ago

I don't have an install of ts3 to check, but I remember there is a shell script and a binary file. If you launch the script directly without change, you need binfmt integration (so box64 is called automatically), and that probably don't work inside the docker image. But if you launch the binary with box64 ./ts3-server-linux.x86_64 (or whatever the name is), it will work. You can also edit the shell script to add the box64 command directly also.

Thank you this actual works but now I have a other problem

I try to run a BreamMP server and it needs liblua5.3.so.0 what is part of the liblua5.3-0 package and what is installed the liblua5.3.so.0 is located /usr/lib/aarch64-linux-gnu/liblua5.3.so.0 but wy Can't box64 not find this because beamMP still sas it is not found.

Jai-JAP commented 2 years ago

You have to provide x64 version of the lib as its not wrapped

QuintenQVD0 commented 2 years ago

thx