Я искал в Google и нашел еще один вопрос по stackoverflow без ответа, и некоторые люди сказали, что они успешно с checkinstall. Я следую за этим:
sudo apt-get install uuid-dev libsystemd-dev libssl-dev checkinstall
sudo apt-get install libjemalloc1 libjemalloc-dev
wget http://ftp.ruby-lang.org/pub/ruby/2.7/ruby-2.7.0.tar.gz
tar -xzvf ruby-2.7.0.tar.gz
cd ruby-2.7.0/
./configure --with-jemalloc
make
sudo checkinstall --default --backup=no --deldoc=yes --install=yes --pkgname=ruby --pkgversion='2.7.0'
Но он застревает:
# sudo checkinstall -D --default --fstrans=no --backup=no --deldoc=yes --install=no --pkgname=ruby --pkgversion='2.7.0'
checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.
The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]: y
Preparing package documentation...OK
*****************************************
**** Debian package creation selected ***
*****************************************
This package will be built according to these values:
0 - Maintainer: [ root@hdd-rig ]
1 - Summary: [ Package created with checkinstall 1.6.2 ]
2 - Name: [ ruby ]
3 - Version: [ 2.7.0 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ amd64 ]
8 - Source location: [ ruby-2.7.0 ]
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:
Installing with make install...
========================= Installation results ===========================
BASERUBY = /usr/bin/ruby --disable=gems
CC = gcc
LD = ld
LDSHARED = gcc -shared
CFLAGS = -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -std=gnu99
XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -fPIE -DCANONICALIZATION_FOR_MATHN -I. -I.ext/include/x86_64-linux -I./include -I. -I./enc/unicode/12.1.0
CPPFLAGS =
DLDFLAGS = -Wl,--compress-debug-sections=zlib -fstack-protector-strong -pie
SOLIBS = -lz -lpthread -lrt -lrt -ljemalloc -lgmp -ldl -lcrypt -lm
LANG = en_US.UTF-8
LC_ALL =
LC_CTYPE =
MFLAGS =
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
./revision.h unchanged
generating enc.mk
Он висит там часами. У кого-нибудь есть инструкции о том, как собрать пакет .deb ruby 2.9.0 с ./configure --with-jemallo c?
Я не могу использовать rbenv или что-то подобное, поскольку я необходимо развернуть этот бинарный пакет на тысячах систем, а компиляция на каждой из них слишком медленная.