I have inherited a software project which builds a set of RPMs to be installed on a RHEL server. When I attempt to install the packages on a server, I get a "transaction check vs depsolve" error saying the package requires libc.so.6. I have found that the error will go away if I install glibc.i686.

The problem here is that this package is supposed to be for the x86_64 architecture and shouldn't depend on 32-bit libraries. Is there a way I can find what is triggering the error? All of the binaries in the package I have checked so far are built for x86_64.


I ended up extracting the RPM and using a one-liner to find the offending binaries:

find . -print0 | xargs -0 file | grep 'ELF 32'

This listed all of the 32-bit binaries in the directory.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.