LFS 5장을 읽고 있어요. LibSTDC를 컴파일하려고 합니다. 빌드 디렉토리를 입력한 후 다음을 생성하고 실행했습니다.
../libstdc++-v3/configure \
--host=$LFS_TGT \
--build=$(../config.guess) \
--prefix=/usr \
--disable-multilib \
--disable-nls \
--disable-libstdcxx-pch \
--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/13.2.0
나는 얻다:
checking for unistd.h... no
checking for dlfcn.h... no
checking for objdir... .libs
checking if x86_64-lfs-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no
checking for x86_64-lfs-linux-gnu-gcc option to produce PIC... -fPIC -DPIC
checking if x86_64-lfs-linux-gnu-gcc PIC flag -fPIC -DPIC works... yes
checking if x86_64-lfs-linux-gnu-gcc static flag -static works... yes
checking if x86_64-lfs-linux-gnu-gcc supports -c -o file.o... yes
checking if x86_64-lfs-linux-gnu-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-lfs-linux-gnu-gcc linker (/mnt/lfs/tools/x86_64-lfs-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES.
오류를 무시하고 "make"를 계속 실행했습니다.
make를 실행한 후 다음을 얻습니다.
make: *** No targets specified and no makefile found. Stop.
makefile이나 다른 어떤 것도 사용하지 말고 ls를 사용하세요. 그냥 "config.log" 파일입니다. 그 안에는 많은 줄이 있습니다. 마지막 25개는 다음과 같습니다.
target='x86_64-lfs-linux-gnu'
target_alias='x86_64-lfs-linux-gnu'
target_cpu='x86_64'
target_os='linux-gnu'
target_vendor='lfs'
thread_header=''
tmake_file=''
toplevel_builddir='/mnt/lfs/sources/gcc-13.2.0/build/..'
toplevel_srcdir='/mnt/lfs/sources/gcc-13.2.0/libstdc++-v3/..'
## ----------- ##
## confdefs.h. ##
## ----------- ##
/* confdefs.h */
#define PACKAGE_NAME "package-unused"
#define PACKAGE_TARNAME "libstdc++"
#define PACKAGE_VERSION "version-unused"
#define PACKAGE_STRING "package-unused version-unused"
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#define STDC_HEADERS 1
#define LT_OBJDIR ".libs/"
configure: exit 1
cd를 이전 디렉터리 "gcc-13.2.0"으로 이동하고 make를 실행하면 동일한 오류가 발생합니다. "configure"를 실행하면 다음 오류가 발생합니다.
configure: error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations. Source code for these libraries can be found at
their respective hosting sites as well as at
https://gcc.gnu.org/pub/gcc/infrastructure/. See also
http://gcc.gnu.org/install/prerequisites.html for additional info. If
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
make sure that you have installed both the libraries and the header
files. They may be located in separate packages.
저는 LFS 사용자이고 $LFS 변수가 설정되어 있습니다. 이것이 무엇인지에 대한 아이디어를 주시면 감사하겠습니다. 감사합니다!