checkinstall を使用してソース GCC 6.2.0 をインストールしようとしましたが、失敗します。
configure と make を実行すると、すべて正常に見えますが、checkinstall を実行しようとすると、次のエラーが発生します。
ranlib: could not create temporary file whilst writing archive: No more archived files
発生時にログに記録:
make[4]: Leaving directory '/home/alexandre/Documents/objdir/libcc1'
make[3]: Leaving directory '/home/alexandre/Documents/objdir/libcc1'
make[2]: Leaving directory '/home/alexandre/Documents/objdir/libcc1'
make[2]: Entering directory '/home/alexandre/Documents/objdir/x86_64-pc-linux-gnu/libgcc'
/bin/bash /home/alexandre/Documents/objdir/../gcc-6.2.0/libgcc/../mkinstalldirs /home/alexandre/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0
/usr/bin/install -c -m 644 libgcc_eh.a /home/alexandre/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0/
chmod 644 /home/alexandre/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0/libgcc_eh.a
ranlib /home/alexandre/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0/libgcc_eh.a
ranlib: could not create temporary file whilst writing archive: No more archived files
Makefile:1112: recipe for target 'install-shared' failed
make[2]: *** [install-shared] Error 1
make[2]: Leaving directory '/home/alexandre/Documents/objdir/x86_64-pc-linux-gnu/libgcc'
Makefile:17621: recipe for target 'install-target-libgcc' failed
make[1]: *** [install-target-libgcc] Error 2
make[1]: Leaving directory '/home/alexandre/Documents/objdir'
Makefile:2323: recipe for target 'install' failed
make: *** [install] Error 2
**** Installation failed. Aborting package creation.
前もって感謝します。
答え1
これは既知の問題です。フォルダが見つからないために、checkinstall がインストールを中断することがあります。また、(何らかのバグにより) 必要な権限があるにもかかわらず、新しいフォルダの作成を拒否することがあります。この場合、手動でフォルダを作成する必要があります。この場合、フォルダを作成します。/home/alexandre/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0
権限を手動で設定します。
sudo mkdir /home/alexandre/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0
sudo chmod 644 /home/alexandre/gcc-6.2.0/lib/gcc/x86_64-pc-linux-gnu/6.2.0
もう一つの可能性としては、インストール前の設定手順を見逃している可能性があります。
./configure --disable-static
再コンパイルし、checkinstall を使用してインストールします。