0

I'm compiling Ruby 2.5.5 with jemalloc in a Docker container, and I'm trying to build a deb package with the checkinstall tool.

Here is the Dockerfile and build script I'm using.

Steps to reproduce:

# Requirements: Docker, curl

mkdir -p /tmp/docker-ruby
cd docker-ruby
curl -sfLO https://gist.githubusercontent.com/ndbroadbent/2b03ea2c9c6ed08500cd844234205e55/raw/bd7f72bbf77dc6840b9e32c02166ce0f3489e306/build_ruby.sh
curl -sfLO https://gist.githubusercontent.com/ndbroadbent/2b03ea2c9c6ed08500cd844234205e55/raw/bd7f72bbf77dc6840b9e32c02166ce0f3489e306/Dockerfile.ruby
chmod +x build_ruby.sh
./build_ruby.sh

Here is the output from the checkinstall step:

Step 14/15 : RUN checkinstall -d2 -D -y --install=no --fstrans=no      --nodoc --pkgversion="$RUBY_VERSION" --pakdir=/packages make install
 ---> Running in 4ca63735aa76

checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
           This software is released under the GNU GPL.

debug: TAR=tar
debug: VISUAL=

debug: Setting umask => 0022
debug: The temporary directory is: [ /var/tmp/tmp.7lnjYwu1sP ]


*****************************************
**** Debian package creation selected ***
*****************************************

This package will be built according to these values:

0 -  Maintainer: [ root@4ca63735aa76 ]
1 -  Summary: [ Package created with checkinstall 1.6.2 ]
2 -  Name:    [ ruby ]
3 -  Version: [ 2.5.5 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ amd64 ]
8 -  Source location: [ ruby ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ ruby ]
12 - Conflicts: [  ]
13 - Replaces: [  ]


Enter a number to change any of them or press ENTER to continue: debug: CK_INCLUDE_FILE =



Installing with make install...========================= Installation results ===========================
debug: INSTW_EXCLUD before sort =/usr/src/ruby,/dev,/proc,/tmp,/var/tmp
debug: INSTW_EXCLUDE=/dev,/proc,/tmp,/usr/src/ruby,/var/tmp,
debug: INSTW_ROOTPATH=/var/tmp/tmp.7lnjYwu1sP
debug: INSTW_LOGFILE=/var/tmp/tmp.7lnjYwu1sP/newfiles.tmp
debug: INSTW_DBGFILE=/var/tmp/tmp.7lnjYwu1sP/dbgfile
debug: INSTW_DBGLVL=2
generating x86_64-linux-fake.rb

It gets permanently stuck after the generating x86_64-linux-fake.rb line.

If I change that command to RUN make install, then it works fine:

Step 14/15 : RUN make install
 ---> Running in 4c70a15ead50
generating x86_64-linux-fake.rb
x86_64-linux-fake.rb updated
    CC = gcc
    LD = ld
    LDSHARED = gcc -shared
...

Does anyone have any idea why checkinstall is causing make install to freeze like this?

Your Answer

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

Browse other questions tagged or ask your own question.