- How to compile 32bit C program on 64bit RHEL and make it run on 64bit RHEL? - Red Hat Customer Portal
- What glibc version is shipped with a particular Red Hat Enterprise Linux? - Red Hat Customer Portal
$ podman run --rm -it ubi8 bash
[root@cb5737b3dbe4 /]# dnf install -y glibc.i686 glibc-devel.i686 gcc -q
Installed:
binutils-2.30-119.el8.x86_64 cpp-8.5.0-18.el8.x86_64 gcc-8.5.0-18.el8.x86_64 glibc-2.28-225.el8.i686 glibc-devel-2.28-225.el8.i686 glibc-devel-2.28-225.el8.x86_64 glibc-gconv-extra-2.28-225.el8.i686
glibc-gconv-extra-2.28-225.el8.x86_64 glibc-headers-2.28-225.el8.i686 glibc-headers-2.28-225.el8.x86_64 glibc-langpack-en-2.28-225.el8.x86_64 isl-0.16.1-6.el8.x86_64 kernel-headers-4.18.0-477.10.1.el8_8.x86_64 libgcc-8.5.0-18.el8.i686
libgomp-8.5.0-18.el8.x86_64 libmpc-1.1.0-9.1.el8.x86_64 libpkgconf-1.4.2-1.el8.x86_64 libxcrypt-4.1.1-6.el8.i686 libxcrypt-devel-4.1.1-6.el8.i686 libxcrypt-devel-4.1.1-6.el8.x86_64 pkgconf-1.4.2-1.el8.x86_64
pkgconf-m4-1.4.2-1.el8.noarch pkgconf-pkg-config-1.4.2-1.el8.x86_64
[root@cb5737b3dbe4 /]# rpm -qa|grep glibc
glibc-common-2.28-225.el8.x86_64
glibc-langpack-en-2.28-225.el8.x86_64
glibc-2.28-225.el8.i686
glibc-gconv-extra-2.28-225.el8.x86_64
glibc-devel-2.28-225.el8.i686
glibc-minimal-langpack-2.28-225.el8.x86_64
glibc-2.28-225.el8.x86_64
glibc-gconv-extra-2.28-225.el8.i686
glibc-headers-2.28-225.el8.x86_64
glibc-devel-2.28-225.el8.x86_64
glibc-headers-2.28-225.el8.i686
[root@cb5737b3dbe4 /]# cat > hello.c << _EOF
> #include <stdio.h>
> #include <stdint.h>
>
> int main() {
> #ifdef __x86_64__
> printf("Running on 64-bit\n");
> #else
> printf("Running on 32-bit\n");
> #endif
>
> printf("Hello, World!\n");
> return 0;
> }
> _EOF
[root@cb5737b3dbe4 /]#
[root@cb5737b3dbe4 /]# gcc -m32 -o hello.32bit hello.c
[root@cb5737b3dbe4 /]# gcc -o hello.64bit hello.c
[root@cb5737b3dbe4 /]# ./hello.32bit
Running on 32-bit
Hello, World!
[root@cb5737b3dbe4 /]# ./hello.64bit
Running on 64-bit
Hello, World!