No apple M1/M2 support
alexstaeding opened this issue · comments
This simple docker-compose works in a debian 12 VM, but not on macOS.
Using a MacBook Pro M2 with macOS Sonoma.
~ ❯ docker-compose --version 19:55:00
Docker Compose version v2.23.0-desktop.1
~ ❯ docker --version 19:55:07
Docker version 24.0.7, build afdd53b4e3
version: '3.8'
services:
server:
image: jusito/docker-ttt:gmod_ttt_debian
container_name: ttt-server
ports:
- "27015:27015/tcp"
- "27015:27015/udp"
environment:
- SERVER_PORT=27015
- INSTALL_CSS=true
- WORKSHOP_COLLECTION_ID=2176094350
- SERVER_NAME=My Server
- SERVER_PASSWORD=server-password
- SERVER_DEFAULT_MAP=ttt_waterworld
[+] Building 0.0s (0/0) docker:desktop-linux
[+] Running 3/0
✔ Network ttt_default Created 0.0s
✔ Container ttt-server Created 0.0s
! server The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 0.0s
Attaching to ttt-server
ttt-server | [entrypoint.sh]starting entrypoint.sh
ttt-server | [entrypoint.sh]installing...
Installed Garrys Mod server as gmodserver
ttt-server |
ttt-server | Remember to check server ports
ttt-server | ./gmodserver details
ttt-server |
fetching GitHub core_trap.sh...OK
ttt-server | fetching GitHub _default.cfg...OK
ttt-server | copying _default.cfg...OK
ttt-server | fetching GitHub check_ip.sh...OK
ttt-server | fetching GitHub info_game.sh...OK
ttt-server | fetching GitHub common.cfg...OK
ttt-server | fetching GitHub secrets-common.cfg...OK
ttt-server | fetching GitHub gmodserver.cfg...OK
ttt-server | fetching GitHub secrets-gmodserver.cfg...OK
ttt-server | fetching GitHub linuxgsm.sh...OK
ttt-server | fetching GitHub core_getopt.sh...OK
ttt-server | fetching GitHub command_install.sh...OK
ttt-server | fetching GitHub check.sh...OK
ttt-server | fetching GitHub check_version.sh...OK
ttt-server | fetching GitHub check_tmuxception.sh...OK
ttt-server | fetching GitHub check_permissions.sh...OK
ttt-server | fetching GitHub check_glibc.sh...OK
ttt-server | fetching GitHub info_distro.sh...OK
ttt-server | Cannot open netlink socket: Protocol not supported
ttt-server | Cannot open netlink socket: Protocol not supported
ttt-server | Cannot open netlink socket: Protocol not supported
ttt-server | fetching GitHub check_system_requirements.sh...OK
ttt-server | Cannot open netlink socket: Protocol not supported
ttt-server | Cannot open netlink socket: Protocol not supported
ttt-server | Cannot open netlink socket: Protocol not supported
ttt-server | fetching GitHub install_header.sh...OK
ttt-server |
ttt-server | mdMMMMbm
ttt-server | mMMMMMMMMMMm
ttt-server | mMMMMMMMMMMMMm
ttt-server | mMMMMMMMMMMMMMMm
ttt-server | hMMMV^VMMV^VMMMh
ttt-server | MMMMM MM MMMMM
ttt-server | hMMs vv sMMh
ttt-server | hMMM: :MMMh
ttt-server | .hMMMh hMMMh.
ttt-server | -dMMMh __ hMMMd-
ttt-server | :mMMMs || sMMMm:
ttt-server | :MMMM+ || _ +NMMN:
ttt-server | .mMMM+ ======== +MMMm.
ttt-server | yMMMy ############## yMMMy
ttt-server | mMMM: ############## :MMMm
ttt-server | mMM nn nn nn nn MMm
ttt-server | o nNNNNNNNn nNNNNNNNn o
ttt-server | nNNNNNNNNNn nNNNNNNNNNn
ttt-server | nNNNNNNNNNNN NNNNNNNNNNNn
ttt-server | +NNNNNNNNN: :NNNNNNNNN+
ttt-server | nNNNNNNN /\ NNNNNNNn
ttt-server | nnnnn db nnnnn
ttt-server |
ttt-server | 888 d8b .d8888b. .d8888b. 888b d888
ttt-server | 888 Y8P d88P Y88b d88P Y88b 8888b d8888
ttt-server | 888 888 888 Y88b. 88888b.d88888
ttt-server | 888 888 88888b. 888 888 888 888 888 Y888b. 888Y88888P888
ttt-server | 888 888 888 88b 888 888 Y8bd8P 888 88888 Y88b. 888 Y888P 888
ttt-server | 888 888 888 888 888 888 X88K 888 888 888 888 Y8P 888
ttt-server | 888 888 888 888 Y88b 88Y .d8pq8b. Y88b d88P Y88b d88P 888 * 888
ttt-server | LinuxGSM 888 888 888 Y8888Y 888 888 Y2012P88 Y8888P 888 888
ttt-server |
ttt-server | =================================
ttt-server | LinuxGSM_
ttt-server | by Daniel Gibbs
ttt-server | Version: v23.5.3
ttt-server | Game: Garry's Mod
ttt-server | Website: https://linuxgsm.com
ttt-server | Contributors: https://linuxgsm.com/contrib
ttt-server | Sponsor: https://linuxgsm.com/sponsor
ttt-server | =================================
ttt-server | fetching GitHub install_server_dir.sh...OK
ttt-server |
ttt-server | Server Directory
ttt-server | =================================
ttt-server | Warning! A server is already installed here.
ttt-server | /home/steam
ttt-server | fetching GitHub install_logs.sh...OK
ttt-server |
ttt-server | Creating log directories
ttt-server | =================================
ttt-server | installing log dir: /home/steam/log...OK
ttt-server | installing LinuxGSM log dir: /home/steam/log/script...OK
ttt-server | creating LinuxGSM log: /home/steam/log/script/gmodserver-script.log...OK
ttt-server | installing console log dir: /home/steam/log/console...OK
ttt-server | creating console log: /home/steam/log/console/gmodserver-console.log...OK
ttt-server | installing game log dir: /home/steam/serverfiles/garrysmod/logs...OK
ttt-server | creating symlink to game log dir: /home/steam/log/server -> /home/steam/serverfiles/garrysmod/logs...OK
ttt-server | fetching GitHub check_deps.sh...OK
ttt-server |
ttt-server | Checking Dependencies
ttt-server | =================================
ttt-server | Cannot open netlink socket: Protocol not supported
ttt-server | Cannot open netlink socket: Protocol not supported
ttt-server | Cannot open netlink socket: Protocol not supported
ttt-server | Cannot open netlink socket: Protocol not supported
ttt-server | Cannot open netlink socket: Protocol not supported
ttt-server | Cannot open netlink socket: Protocol not supported
fetching GitHub debian-10.csv...OK
ttt-server | bc
ttt-server | binutils
ttt-server | bsdmainutils
ttt-server | bzip2
ttt-server | ca-certificates
ttt-server | cpio
ttt-server | curl
ttt-server | distro-info
ttt-server | file
ttt-server | gzip
ttt-server | hostname
ttt-server | jq
ttt-server | lib32gcc1
ttt-server | lib32stdc++6
ttt-server | libsdl2-2.0-0:i386
ttt-server | libtinfo5:i386
ttt-server | netcat
ttt-server | python3
ttt-server | tar
ttt-server | tmux
ttt-server | unzip
ttt-server | util-linux
ttt-server | uuid-runtime
ttt-server | wget
ttt-server | xz-utils
ttt-server | Information! Required dependencies already installed.
ttt-server | fetching GitHub install_steamcmd.sh...OK
ttt-server |
ttt-server | Installing SteamCMD
ttt-server | =================================
ttt-server | fetching GitHub check_steamcmd.sh...OK
ttt-server | fetching GitHub core_steamcmd.sh...OK
######################################################################## 100.0%
ttt-server | OK
ttt-server | extracting steamcmd_linux.tar.gz...OK
ttt-server | fetching GitHub install_server_files.sh...OK
ttt-server |
ttt-server | Installing Garry's Mod Server
ttt-server | =================================
ttt-server | fetching GitHub update_steamcmd.sh...OK
ttt-server | Cannot open netlink socket: Protocol not supported
ttt-server | Cannot open netlink socket: Protocol not supported
ttt-server | Cannot open netlink socket: Protocol not supported
ttt-server | Cannot open netlink socket: Protocol not supported
ttt-server | Cannot open netlink socket: Protocol not supported
ttt-server | Cannot open netlink socket: Protocol not supported
[ START ] Installing gmodserver: SteamCMD
ttt-server | Complete! Installing gmodserver: SteamCMD
[ ERROR ] Installing gmodserver: No appmanifest_4020.acf found
[ INFO ] Installing gmodserver: Forcing update to correct issue
[ START ] Installing gmodserver: SteamCMD
ttt-server | Complete! Installing gmodserver: SteamCMD
[ FAIL ] Installing gmodserver: Still no appmanifest_4020.acf found
ttt-server | fetching GitHub core_exit.sh...OK
ttt-server | [entrypoint.sh]update / installation done!
ttt-server | [prepareServer.sh]check configurations
ttt-server | [initConfig.sh]Request for replacing hostname to "My Server", source is found 1 times
ttt-server | [initConfig.sh]Request for replacing sv_password to "server-password", source is found 1 times
ttt-server | [initConfig.sh]Request for replacing sv_voiceenable to "1", source is found 1 times
ttt-server | [prepareServer.sh]force workshop download
ttt-server | [forceWorkshopDownload.sh]processing workshop collection 2176094350
ttt-server | [prepareServer.sh]install & mount gamefiles
ttt-server | [installAndMountAddons.sh]installing & mounting css
ttt-server exited with code 1
its another cpu architecture and the same issue as: #3 (comment)
I don't think it's entirely due to the different architecture itself - otherwise, it would refuse to start with the same error as in #3 standard_init_linux.go:211: exec user process caused "exec format error"
.
macOS' translation layer Rosette can run amd64 programs, and this is used by default if an image does natively support the arm architecture.
I even specified the platform explicitly, which leads to an identical result (as above).
services:
server:
image: jusito/docker-ttt:gmod_ttt_debian
+ platform: linux/amd64
container_name: ttt-server
ports:
- "27015:27015/tcp"
In theory, the automatic translation should work; I don't know if something can be done in this image to fix the error related to the file. Searching for the problematic file serverfiles/steamapps/appmanifest_4020.acf
, I found this: GameServerManagers/LinuxGSM#3143 (comment)
I haven't looked deeply into it myself, so I don't know how relevant that is.
Also: any solution using Rosetta would only be a "nice to have" as this translation is only provided on a "best effort" basis.
thanks for the info, didn't know about this feature. Your best effort link shows issues with debian-10 because its outdated, updated develop to 12 maybe it will fix it. Ah and also added a very simplistic way of logging console to container log.
Was you able to test the recent "-develop" image on your M2 ?
Was you able to test the recent "-develop" image on your M2 ?
Sorry for the late update. Yes, I did try it. Unfortunately, it ends with the same error.
I correct, it is slightly different:
At the very least, there is now an additional warning/error "integer expression expected"
ttt-server | Checking Garry's Mod Dependencies
ttt-server | =================================
fetching GitHub debian-12.csv...OK
ttt-server | bc
ttt-server | binutils
ttt-server | bsdmainutils
ttt-server | bzip2
ttt-server | ca-certificates
ttt-server | cpio
ttt-server | curl
ttt-server | distro-info
ttt-server | file
ttt-server | gzip
ttt-server | hostname
ttt-server | jq
ttt-server | lib32gcc-s1
ttt-server | lib32stdc++6
ttt-server | libsdl2-2.0-0:i386
ttt-server | libtinfo5:i386
ttt-server | netcat-openbsd
ttt-server | python3
ttt-server | grep: /etc/apt/sources.list: No such file or directory
ttt-server | tar
ttt-server | tmux
ttt-server | unzip
ttt-server | util-linux
ttt-server | uuid-runtime
ttt-server | wget
ttt-server | xz-utils
ttt-server | Information! Required dependencies already installed.
ttt-server | fetching GitHub install_steamcmd.sh...OK
ttt-server |
ttt-server | Installing SteamCMD
ttt-server | =================================
ttt-server | fetching GitHub check_steamcmd.sh...OK
ttt-server | fetching GitHub core_steamcmd.sh...OK
######################################################################## 100.0%
ttt-server | OK
ttt-server | extracting steamcmd_linux.tar.gz...OK
ttt-server | fetching GitHub install_server_files.sh...OK
ttt-server |
ttt-server | Installing Garry's Mod Server
ttt-server | =================================
ttt-server | fetching GitHub update_steamcmd.sh...OK
ttt-server | /home/steam/lgsm/modules/check_system_requirements.sh: line 66: [: 0.5: integer expression expected
[ START ] Installing gmodserver: SteamCMD
ttt-server | Complete! Installing gmodserver: SteamCMD
[ ERROR ] Installing gmodserver: No appmanifest_4020.acf found
[ INFO ] Installing gmodserver: Forcing update to correct issue
[ START ] Installing gmodserver: SteamCMD
ttt-server | Complete! Installing gmodserver: SteamCMD
[ FAIL ] Installing gmodserver: Still no appmanifest_4020.acf found
ttt-server | fetching GitHub core_exit.sh...OK
ttt-server | [entrypoint.sh]update / installation done!
ttt-server | [prepareServer.sh]check configurations
ttt-server | [initConfig.sh]Request for replacing hostname to "My Server", source is found 1 times
ttt-server | [initConfig.sh]Request for replacing sv_password to "server-password", source is found 1 times
ttt-server | [initConfig.sh]Request for replacing sv_voiceenable to "1", source is found 1 times
ttt-server | [prepareServer.sh]force workshop download
ttt-server | [forceWorkshopDownload.sh]processing workshop collection 2176094350
ttt-server | [prepareServer.sh]install & mount gamefiles
ttt-server | [installAndMountAddons.sh]installing & mounting css
ttt-server exited with code 1
- Don't worry, Open Source works like this; sometimes someone has time, sometimes not. Thanks for your response!
- The error from lsgm shouldn't be an issue, this is the line 66:
if (($(echo "${physmemtotalgb} < ${ramrequirementgb}" | bc -l))); then
, so we can ignore it in the log - Maybe even if the emulation is activated via
platform: linux/amd64
steam checks the platform so that it still identifies the arm architecture?