I’m running a CentOS 7 container inside a Docker on OpenWrt with the following kernel version: Linux iStoreOS 5.10.176 #0 SMP Tue Jul 25 05:14:16 2023 x86_64 GNU/Linux. However, no matter what I try, I can’t run the 32-bit version of steamcmd within the CentOS 7 container. It gives the following error:
./steamcmd.sh: line 37: /home/steamcmd/linux32/steamcmd: cannot execute binary file.
What could be the issue? Why can’t a 64-bit CentOS run a 32-bit program? I’ve already installed the required dependencies for running 32-bit programs: glibc.i686, libstdc++.i686, libcurl4-gnutls-dev.i686, and libcurl.i686.
Expected that the steamcmd program would execute successfully without any issues.
2
Answers
Solved this problem by set these two flags CONFIG_IA32_EMULATION=y,
CONFIG_X86_X32=y in kernel config and recompile the openwrt firmware.
Flags:
After that you also need to install some libs in your CentOS container.
This works fine for me.
Steamcmd works fine
Got the same problem, added the i386 support flags and recompiled openwrt fireware, the problem still exists.I tried centos7 and ubuntu 20.04. Any libs needed is installed.