skip to Main Content

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


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

    CONFIG_IA32_EMULATION=y
    CONFIG_X86_X32=y
    

    After that you also need to install some libs in your CentOS container.

    This works fine for me.
    Steamcmd works fine

    Login or Signup to reply.
  2. 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.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search