x86_64 上 aarch64 的 Glibc 2.34 交叉编译问题

x86_64 上 aarch64 的 Glibc 2.34 交叉编译问题
aarch64-linux-gnueabihf-gcc ../sysdeps/gnu/getutmpx.c -c -std=gnu11 -fgnu89-inline  -g -O2 -Wall -Wwrite-strings -Wundef -Werror -fmerge-all-constants -frounding-math -fno-stack-protector -fno-common -Wstrict-prototypes -Wold-style-definition -fmath-errno   -fPIC   -ftls-model=initial-exec      -I../include -I/mnt/lfs/sources/glibc-2.34/build/login  -I/mnt/lfs/sources/glibc-2.34/build  -I../sysdeps/unix/sysv/linux/aarch64  -I../sysdeps/aarch64/nptl  -I../sysdeps/unix/sysv/linux/generic  -I../sysdeps/unix/sysv/linux/wordsize-64  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/aarch64/fpu  -I../sysdeps/aarch64/multiarch  -I../sysdeps/aarch64  -I../sysdeps/wordsize-64  -I../sysdeps/ieee754/ldbl-128  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem /mnt/lfs/cross-tools/lib/gcc/aarch64-linux-gnueabihf/11.2.0/include -isystem /mnt/lfs/cross-tools/lib/gcc/aarch64-linux-gnueabihf/11.2.0/include-fixed -isystem /mnt/lfs/cross-tools/aarch64-linux-gnueabihf/usr/include -D_LIBC_REENTRANT -include /mnt/lfs/sources/glibc-2.34/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h  -DPIC -DSHARED     -DTOP_NAMESPACE=glibc -o /mnt/lfs/sources/glibc-2.34/build/login/getutmpx.os -MD -MP -MF /mnt/lfs/sources/glibc-2.34/build/login/getutmpx.os.dt -MT /mnt/lfs/sources/glibc-2.34/build/login/getutmpx.os
aarch64-linux-gnueabihf-gcc ../sysdeps/gnu/getutmp.c -c -std=gnu11 -fgnu89-inline  -g -O2 -Wall -Wwrite-strings -Wundef -Werror -fmerge-all-constants -frounding-math -fno-stack-protector -fno-common -Wstrict-prototypes -Wold-style-definition -fmath-errno   -fPIC   -ftls-model=initial-exec      -I../include -I/mnt/lfs/sources/glibc-2.34/build/login  -I/mnt/lfs/sources/glibc-2.34/build  -I../sysdeps/unix/sysv/linux/aarch64  -I../sysdeps/aarch64/nptl  -I../sysdeps/unix/sysv/linux/generic  -I../sysdeps/unix/sysv/linux/wordsize-64  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/aarch64/fpu  -I../sysdeps/aarch64/multiarch  -I../sysdeps/aarch64  -I../sysdeps/wordsize-64  -I../sysdeps/ieee754/ldbl-128  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem /mnt/lfs/cross-tools/lib/gcc/aarch64-linux-gnueabihf/11.2.0/include -isystem /mnt/lfs/cross-tools/lib/gcc/aarch64-linux-gnueabihf/11.2.0/include-fixed -isystem /mnt/lfs/cross-tools/aarch64-linux-gnueabihf/usr/include -D_LIBC_REENTRANT -include /mnt/lfs/sources/glibc-2.34/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h  -DPIC -DSHARED     -DTOP_NAMESPACE=glibc -o /mnt/lfs/sources/glibc-2.34/build/login/getutmp.os -MD -MP -MF /mnt/lfs/sources/glibc-2.34/build/login/getutmp.os.dt -MT /mnt/lfs/sources/glibc-2.34/build/login/getutmp.os
echo 'login/getlogin.o login/getlogin_r.o login/setlogin.o login/getlogin_r_chk.o login/getutent.o login/getutent_r.o login/getutid.o login/getutline.o login/getutid_r.o login/getutline_r.o login/utmp_file.o login/utmpname.o login/updwtmp.o login/getpt.o login/grantpt.o login/unlockpt.o login/ptsname.o login/ptsname_r_chk.o login/login.o login/login_tty.o login/logout.o login/logwtmp.o login/openpty.o login/forkpty.o login/setutxent.o login/getutxent.o login/endutxent.o login/getutxid.o login/getutxline.o login/pututxline.o login/utmpxname.o login/updwtmpx.o login/getutmpx.o login/getutmp.o' > /mnt/lfs/sources/glibc-2.34/build/login/stamp.oT
mv -f /mnt/lfs/sources/glibc-2.34/build/login/stamp.oT /mnt/lfs/sources/glibc-2.34/build/login/stamp.o
echo 'login/getlogin.os login/getlogin_r.os login/setlogin.os login/getlogin_r_chk.os login/getutent.os login/getutent_r.os login/getutid.os login/getutline.os login/getutid_r.os login/getutline_r.os login/utmp_file.os login/utmpname.os login/updwtmp.os login/getpt.os login/grantpt.os login/unlockpt.os login/ptsname.os login/ptsname_r_chk.os login/login.os login/login_tty.os login/logout.os login/logwtmp.os login/openpty.os login/forkpty.os login/setutxent.os login/getutxent.os login/endutxent.os login/getutxid.os login/getutxline.os login/pututxline.os login/utmpxname.os login/updwtmpx.os login/getutmpx.os login/getutmp.os' > /mnt/lfs/sources/glibc-2.34/build/login/stamp.osT
mv -f /mnt/lfs/sources/glibc-2.34/build/login/stamp.osT /mnt/lfs/sources/glibc-2.34/build/login/stamp.os
make[2]: Leaving directory '/mnt/lfs/sources/glibc-2.34/login'
make  subdir=elf -C elf ..=../ subdir_lib
make[2]: Entering directory '/mnt/lfs/sources/glibc-2.34/elf'
../Makerules:1137: *** multiple target patterns.  Stop.
make[2]: Leaving directory '/mnt/lfs/sources/glibc-2.34/elf'
make[1]: *** [Makefile:478: elf/subdir_lib] Error 2
make[1]: Leaving directory '/mnt/lfs/sources/glibc-2.34'
make: *** [Makefile:9: all] Error 2

配置:

../configure                           \
  -prefix=$LFS/cross-tools           \
  --host=$CLFS_TARGET                \
  --build=$(../scripts/config.guess) \
  --enable-kernel=3.2                \
  --with-headers=$LFS/cross-tools/${CLFS_TARGET}/usr/include    \
  libc_cv_slibdir=/usr/lib \
 && make $MAKEFLAGS\
 && make DESTDIR=$LFS/cross-tools/${CLFS_TARGET} install

在哪里

$LFS="/mnt/lfs"

$CLFS_TARGET="aarch64-linux-gnueabihf"

$MAKEFLAGS="-j7"

配置参数:

echo "rootsbindir=/usr/sbin CC=${CLFS_TARGET}-gcc" > configparms

相关内容