GCC 10をビルドしようとしましたが、最終的に失敗しました(しかし代わりに実行しようとしたmake install
ので、.debパッケージをビルドできました)。失敗した部分は次のとおりです。sudo checkinstall -D --install=no --fstrans=no
make install
...
/bin/bash /mnt/loop/tmp/pi/gcc-10.1.0_source/gcc-10.1.0/gcc/../mkinstalldirs /usr/lib/gcc/arm-linux-gnueabihf/10.1.0/include
rm -rf /usr/lib/gcc/arm-linux-gnueabihf/10.1.0/include-fixed
mkdir /usr/lib/gcc/arm-linux-gnueabihf/10.1.0/include-fixed
chmod a+rx /usr/lib/gcc/arm-linux-gnueabihf/10.1.0/include-fixed
echo `${PWDCMD-pwd}`
/mnt/loop/tmp/pi/gcc-10.1.0_build/gcc
(cd `${PWDCMD-pwd}`/include ; \
tar -cf - .; exit 0) | (cd /usr/lib/gcc/arm-linux-gnueabihf/10.1.0/include; tar xpf - )
(cd `${PWDCMD-pwd}`/include-fixed ; \
tar -cf - .; exit 0) | (cd /usr/lib/gcc/arm-linux-gnueabihf/10.1.0/include-fixed; tar --ignore-failed-read -xpf - )
tar: ./python3.5: Cannot change mode to rwxrwxrwx: No such file or directory
tar: Exiting with failure status due to previous errors
Makefile:3861: recipe for target 'install-headers-tar' failed
make[2]: *** [install-headers-tar] Error 2
具体的には${PWDCMD-pwd}
/mnt/loop/tmp/pi/gcc-10.1.0_build/gccを修正しましたが、この部分は失敗しました。
(cd `${PWDCMD-pwd}`/include-fixed ; \
tar -cf - .; exit 0) | (cd /usr/lib/gcc/arm-linux-gnueabihf/10.1.0/include-fixed; tar --ignore-failed-read -xpf - )
tar: ./python3.5: Cannot change mode to rwxrwxrwx: No such file or directory
したがって、このブロックは入り、/mnt/loop/tmp/pi/gcc-10.1.0_build/gcc/include-fixed
内容を/usr/lib/gcc/arm-linux-gnueabihf/10.1.0/include-fixed
使用してコピーしますtar
。
ソースディレクトリが/mnt/loop/tmp/pi/gcc-10.1.0_build/gcc/include-fixed
存在し、次の内容が含まれます。
$ ls -la /mnt/loop/tmp/pi/gcc-10.1.0_build/gcc/include-fixed/
total 68
drwxr-xr-x 5 pi pi 4096 Feb 2 20:42 .
drwxr-xr-x 21 pi pi 36864 Feb 3 01:21 ..
drwxr-xr-x 2 pi pi 4096 Feb 2 06:26 arm-linux-gnueabihf
-rw-r--r-- 1 pi pi 6171 Feb 2 20:42 limits.h
drwxr-xr-x 3 pi pi 4096 Feb 2 06:26 python2.7
lrwxrwxrwx 1 pi pi 10 Feb 2 06:26 python3.5 -> python3.5m
drwxr-xr-x 3 pi pi 4096 Feb 2 06:26 python3.5m
-rw-r--r-- 1 pi pi 750 Feb 2 20:42 README
-rw-r--r-- 1 pi pi 330 Feb 2 06:26 syslimits.h
./python3.5
これにより、「Cannot Change mode to rwxrwxrwx」を引き起こすファイルが存在し、実際にはシンボリックリンクであることがわかります。
実際、この時点ではターゲットディレクトリも入力され、少なくともシンボリック./python3.5
リンクはコピーされました。
$ ls -la /usr/lib/gcc/arm-linux-gnueabihf/10.1.0/include-fixed/
total 36
drwxr-xr-x 5 root root 4096 Feb 3 01:21 .
drwxr-xr-x 5 pi pi 4096 Feb 3 01:21 ..
drwx------ 2 root root 4096 Feb 2 06:26 arm-linux-gnueabihf
-rw-r--r-- 1 pi pi 6171 Feb 2 20:42 limits.h
drwx------ 3 root root 4096 Feb 3 01:21 python2.7
lrwxrwxrwx 1 pi pi 10 Feb 2 06:26 python3.5 -> python3.5m
drwx------ 3 root root 4096 Feb 3 01:21 python3.5m
-rw-r--r-- 1 pi pi 750 Feb 2 20:42 README
-rw-r--r-- 1 pi pi 330 Feb 2 06:26 syslimits.h
したがって、権限の問題がある場合は、衝突しないように「ただ」説得する必要があると思います。元の代わりにtar
使用しているようです。 ) - しかし、明らかに上記のログを見るとそうではありません。働いている。tar --ignore-failed-read -xpf -
tar xpf -
/mnt/loop/tmp/pi/gcc-10.1.0_build/gcc/Makefile
この状況で私が(例えば)tar
仕事を終わらせるためにここで崩れないように説得するにはどうすればよいですか?make install
checkinstall
ベストアンサー1
しかし、回避策は不足しています。シンボリックリンクは独自のフォルダのソースに相対的なものなので、次のようにします。
mv /mnt/loop/tmp/pi/gcc-10.1.0_build/gcc/include-fixed/python3.5 /tmp/
...削除してください。これは合格です。私の意図は、ターゲットディレクトリに復元することでしたが、もう別のエラーが発生します...