この質問が以前に要求されたことがあり、あまりにも明白な質問である場合は、事前にお詫び申し上げます。この時点で、私は始めるための指示に正確に従っています。問題のページは次のとおりです。
http://linuxfromscratch.org/lfs/view/stable/chapter05/glibc.html
これは、以下を実行することを指定します。
patch -Np1 -i ../glibc-2.22-upstream_i386_fix-1.patch
しかし、そうすると、次が返されるようです。
lfs@linux-NVIDIA-nForce-590-SLI /mnt/lfs/tools $ patch -Np1 -i ../glibc-2.22-upstream_i386_fix-1.patch
can't find file to patch at input line 20
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Submitted By: Bruce Dubbs <bdubbs at linuxfromscratch dot org>
|Date: 2015-08-23
|Initial Package Version: 2.22
|Upstream Status: In repository
|Origin: https://github.molgen.mpg.de/git-mirror/glibc
|Description: This patch fixes a build problem on 32-bit systems.
|
|commit a08e80d1143f6b0386d5bc8cc7b8ed576091dbf3
|Author: Andrew Senkevich <[email protected]>
|Date: Wed Aug 19 16:54:28 2015 +0300
|
| [BZ #18796]
| * scripts/test-installation.pl: Don't add -lmvec to build options if
| libmvec wasn't built.
|
|diff --git a/scripts/test-installation.pl b/scripts/test-installation.pl
|index cac1562..79b2b3e 100755
|--- a/scripts/test-installation.pl
|+++ b/scripts/test-installation.pl
--------------------------
File to patch:
では、まず、以前にこのガイドに従った人のために、パッチがパッチするファイルと正確にどの部分に関連する必要がありますか?私が読んだところでは、どこにいても構いませんが、/mnt/lfs/sourcesディレクトリにあると予想されます。具体的にはどのファイルをパッチしますか?このコマンドを実行するときにどのディレクトリに配置する必要がありますか?
参考までに、ガイドで要求されているように、/mnt/lfs /mnt/lfs/sources /mnt/lfs/toolsディレクトリを作成し、/mnt/lfs/toolsでコマンドを実行しましたが、どこで何をすべきかわかりません。これにより、問題のファイルを../.として参照できます。
現在のパッチは/mnt/lfs/sourcesにあり、glibc-2.22の抽出ファイルは/mnt/lfs/toolsにあります。
lfs@linux-NVIDIA-nForce-590-SLI /mnt/lfs $ ls -lah /mnt/lfs/sources/glibc-2.22-upstream_i368_fix-1.patch
-rw-r--r-- 1 linux linux 1.9K Sep 30 20:23 /mnt/lfs/sources/glibc-2.22-upstream_i368_fix-1.patch
lfs@linux-NVIDIA-nForce-590-SLI /mnt/lfs $ ls -lah /mnt/lfs/tools/glibc-2.22 -ddrwxr-xr-x 68 lfs lfs 4.0K Aug 5 01:42 /mnt/lfs/tools/glibc-2.22
見逃したことがあれば教えてください。私はこのパッチポイントを理解し、それが何をすべきかを理解するために壁に頭を置いています。
答え1
抽出されたglibc-2.22ディレクトリになければなりません(したがって、パッチパスはパッチが親..
ディレクトリにあると仮定します。あなたの場合はです$LFS
)。ディレクトリに抽出してビルドする
必要がありますが、そのような目的ではありません(一時システムを保存することです)。本当に注意深く読む必要があります。$LFS/source
$LFS/tools
5.3章。
答え2
ここでは、省略された glibc tarball の圧縮を先に解く必要があります。
tar -xf glibc-2.22.tar.xz
cd glibc-2.22
patch -Np1 -i ../glibc-2.22-upstream_i386_fix-1.patch
頑張ってください:)