9

So I'm trying to create a Docker image that contains gcc.

I'm running the command RUN yum -y install gcc within my Dockerfile.

It downloads the package until it finally fails trying to install a dependency.

Rpmdb checksum is invalid: dCDPT(pkg checksums): glibc-headers.x86_64 0:2.17-157.el7_3.1 - u

Here's the output below:

Dependencies Resolved

================================================================================
 Package              Arch         Version                  Repository     Size
================================================================================
Installing:
 gcc                  x86_64       4.8.5-11.el7             base           16 M
Installing for dependencies:
 cpp                  x86_64       4.8.5-11.el7             base          5.9 M
 glibc-devel          x86_64       2.17-157.el7_3.1         updates       1.1 M
 glibc-headers        x86_64       2.17-157.el7_3.1         updates       668 k
 kernel-headers       x86_64       3.10.0-514.6.2.el7       updates       4.8 M
 libgomp              x86_64       4.8.5-11.el7             base          152 k
 libmpc               x86_64       1.0.1-3.el7              base           51 k
 mpfr                 x86_64       3.1.1-4.el7              base          203 k
Updating for dependencies:
 glibc                x86_64       2.17-157.el7_3.1         updates       3.6 M
 glibc-common         x86_64       2.17-157.el7_3.1         updates        11 M
 libgcc               x86_64       4.8.5-11.el7             base           97 k

Transaction Summary
================================================================================
Install  1 Package  (+7 Dependent packages)
Upgrade             ( 3 Dependent packages)

Total download size: 44 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
--------------------------------------------------------------------------------
Total                                              2.3 MB/s |  44 MB  00:19     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : libgcc-4.8.5-11.el7.x86_64                                  1/14 
  Updating   : glibc-2.17-157.el7_3.1.x86_64                               2/14 
warning: /etc/nsswitch.conf created as /etc/nsswitch.conf.rpmnew
error: lua script failed: [string "%triggerin(glibc-common-2.17-106.el7_2.6.x86_64)"]:1: attempt to compare number with nil
Non-fatal <unknown> scriptlet failure in rpm package glibc-2.17-157.el7_3.1.x86_64
  Updating   : glibc-common-2.17-157.el7_3.1.x86_64                        3/14 
  Installing : mpfr-3.1.1-4.el7.x86_64                                     4/14 
  Installing : libmpc-1.0.1-3.el7.x86_64                                   5/14 
  Installing : cpp-4.8.5-11.el7.x86_64                                     6/14 
  Installing : libgomp-4.8.5-11.el7.x86_64                                 7/14 
  Installing : kernel-headers-3.10.0-514.6.2.el7.x86_64                    8/14 
  Installing : glibc-headers-2.17-157.el7_3.1.x86_64                       9/14 
  Installing : glibc-devel-2.17-157.el7_3.1.x86_64                        10/14 
  Installing : gcc-4.8.5-11.el7.x86_64                                    11/14 
  Cleanup    : glibc-2.17-106.el7_2.6.x86_64                              12/14 
  Cleanup    : glibc-common-2.17-106.el7_2.6.x86_64                       13/14 
  Cleanup    : libgcc-4.8.5-4.el7.x86_64                                  14/14

Rpmdb checksum is invalid: dCDPT(pkg checksums): glibc-headers.x86_64 0:2.17-157.el7_3.1 - u

The command '/bin/sh -c yum -y install gcc' returned a non-zero code: 1
  • Add this line RUN touch /var/lib/rpm/* before your yum install. source – dtmland Aug 30 '18 at 23:31
9

I was having this exact issue when creating a Docker image. First installing yum-plugin-ovl, which is a yum plugin for the Docker overlay fs, fixed the issue for me.

Example:

... RUN yum -y update \ && yum -y install yum-plugin-ovl \ && yum -y install gcc ...

See this GitHub issue for more information on the fix.

| improve this answer | |

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.