Open1

ConoHa WING に git の最新版をインストールする

strtstrt

ConoHa WING に git の最新版をインストールした時の設定や作業のメモ。

環境変数として .bashrc に以下を追加しておく(ステップバイステップで手順を示したかったが、試行錯誤が多く断念)。

# ============================================
# Perl5の設定
# ============================================
PERL5LIB=~/perl5/lib/perl5:$PERL5LIB
PERL_LOCAL_LIB_ROOT=~/perl5:$PERL_LOCAL_LIB_ROOT
PATH=~/perl5/bin:$PATH
export PERL5LIB PERL_LOCAL_LIB_ROOT PATH

# ============================================
# ビルドの設定
# ============================================
export LDFLAGS="-L$HOME/opt/ssl/lib64 -L$HOME/opt/curl/lib $LDFLAGS"
export CPPFLAGS="-I$HOME/opt/ssl/include -I$HOME/opt/curl/include $CPPFLAGS"
export LD_LIBRARY_PATH=$HOME/opt/ssl/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$HOME/opt/curl/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$HOME/opt/libpsl/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=$HOME/opt/ssl/lib64/pkgconfig:$PKG_CONFIG_PATH
export PKG_CONFIG_PATH=$HOME/opt/curl/lib/pkgconfig:$PKG_CONFIG_PATH

opensslのインストール

まず perl の List::Util モジュールをアップデートする。
以下を実行した後、.bashrc にも環境変数の設定を書いておく。

mkdir -p ~/perl5/lib/perl5
PERL5LIB=~/perl5/lib/perl5:$PERL5LIB
PERL_LOCAL_LIB_ROOT=~/perl5:$PERL_LOCAL_LIB_ROOT
PATH=~/perl5/bin:$PATH
export PERL5LIB PERL_LOCAL_LIB_ROOT PATH

cpan List::Util

opensslのインストール

wget https://github.com/openssl/openssl/releases/download/openssl-3.3.2/openssl-3.3.2.tar.gz
tar xvzf openssl-3.3.2.tar.gz
cd openssl-3.3.2
./config shared --prefix=$HOME/opt/ssl --openssldir=$HOME/opt/ssl
make
make install

curl のインストール

curl をインストールする前にlibpstをインストールする。
libpsl を make するために Python の idna をアップグレードする。

pip install --user --upgrade idna

libpsl のインストール

wget https://github.com/rockdaboot/libpsl/archive/refs/tags/0.21.5.tar.gz
tar xvzf 0.21.5.tar.gz
cd libpsl-0.21.5
#public_suffix_list.dat を list の下にダウンロード
cd list
wget https://raw.githubusercontent.com/publicsuffix/list/refs/heads/master/public_suffix_list.dat
cd ..
./autogen.sh
./configure --prefix=$HOME/opt/libpsl
make
make install

curl のインストール

wget https://curl.se/download/curl-8.10.1.tar.gz
tar xvzf curl-8.10.1.tar.gz
cd curl-8.10.1
./configure --prefix=$HOME/opt/curl --with-ssl=$HOME/opt/ssl \
            LDFLAGS="-L$HOME/opt/libpsl/lib -L$HOME/opt/ssl/lib64" \
            CPPFLAGS="-I$HOME/opt/libpsl/include -I$HOME/opt/ssl/include"
make
make install

git の最新版をインストールする。

gettext をインストールする。

wget https://ftp.gnu.org/pub/gnu/gettext/gettext-0.22.5.tar.gz
tar xvzf gettext-0.22.5.tar.gz
cd gettext-0.22.5
./configure CXXFLAGS="-std=c++03" --prefix=$HOME/opt/gettext
make
make install
git clone https://github.com/git/git.git
cd git
# --without-opensslオプションはシステムのOpenSSLとの競合を避けるため。
./configure CXXFLAGS="-std=c++03" CFLAGS="-std=gnu99" \
            --prefix=$HOME/opt/git \
            --with-curl=$HOME/opt/curl \
            --with-openssl=$HOME/opt/ssl \
            --without-openssl \
            LDFLAGS="-L$HOME/opt/ssl/lib64 -L$HOME/opt/curl/lib -Wl,-rpath,$HOME/opt/ssl/lib64:$HOME/opt/curl/lib" \
            CPPFLAGS="-I$HOME/opt/ssl/include -I$HOME/opt/curl/include"
make
make install