Checkinstall が gnu gcc 6.2.0 のインストールに失敗する

Checkinstall が gnu gcc 6.2.0 のインストールに失敗する

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 を使用してインストールします。

関連情報