Description of problem: If you find a project that uses "-m32" as a compiler argument, then you will get a linker error on RHEL7 The following came from compiling the internal Solarflare full source code tree on RHEL7 ================================= $ gcc -m32 test.c /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.2/libgcc_s.so when searching for -lgcc_s /usr/bin/ld: cannot find -lgcc_s collect2: error: ld returned 1 exit status ================================= The error is that /usr/lib/gcc/i686-redhat-linux/4.8.2/libgcc_s.so is not available. On previous RHEL versions I would have installed the gcc.i686 package to fix this problem for an x86_64 system wanting to generate i686 binaries, but gcc.i686 is no longer available for RHEL7 AFAIK. It will therefore be much harder to alter the build system so that all places that "gcc -m32" are made conditional, rather than just installing a package in order to address the problem. It is not a problem for RHEL7 as such but it may make it much harder to get other external projects to compile. Version-Release number of selected component (if applicable): How reproducible: 100% Steps to Reproduce: 1. Compile trivial C code with gcc -m32 code.c Actual results: Linker error as above Expected results: Additional info:
For building 32-bit programs on x86_64, you need to yum install glibc-devel.686 libgcc.i686 and if it is C++, also libstdc++-devel.i686 and obviously any other devel libraries you plan to use that isn't installed for i686.
(In reply to Jakub Jelinek from comment #1) > For building 32-bit programs on x86_64, you need to > yum install glibc-devel.686 libgcc.i686 > and if it is C++, also libstdc++-devel.i686 > and obviously any other devel libraries you plan to use that isn't installed > for i686. I had obviously picked those up before as a dependency by installing gcc.i686 I can confirm that glibc-devel.686 libgcc.i686 were available for RHEL7 on x86_64. Many thanks for the info.