+ -
当前位置:首页 → 问答吧 → CLFS 1.1.0 编译glibc-2.7错误

CLFS 1.1.0 编译glibc-2.7错误

时间:2009-04-30

来源:互联网

错误信息:

make[3]: Leaving directory `/mnt/hgfs/D/sources/glibc-2.7/elf'
i486-pc-linux-gnu-gcc -nostdlib -nostartfiles -r -o /mnt/hgfs/D/sources/glibc-build/elf/librtld.os '-Wl,-(' /mnt/hgfs/D/sources/glibc-build/elf/dl-allobjs.os /mnt/hgfs/D/sources/glibc-build/elf/rtld-libc.a -lgcc '-Wl,-)' \
-Wl,-Map,/mnt/hgfs/D/sources/glibc-build/elf/librtld.os.map
i486-pc-linux-gnu-gcc -nostdlib -nostartfiles -shared \
-Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -Wl,-z,defs -Wl,--verbose 2>&1 | \
LC_ALL=C \
sed -e '/^=========/,/^=========/!d;/^=========/d' \
-e 's/\. = 0 + SIZEOF_HEADERS;/& _begin = . - SIZEOF_HEADERS;/' \
> /mnt/hgfs/D/sources/glibc-build/elf/ld.so.lds
i486-pc-linux-gnu-gcc -nostdlib -nostartfiles -shared -o /mnt/hgfs/D/sources/glibc-build/elf/ld.so \
-Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -Wl,-z,defs \
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os -Wl,--version-script=/mnt/hgfs/D/sources/glibc-build/ld.map \
-Wl,-soname=ld-linux.so.2 -T /mnt/hgfs/D/sources/glibc-build/elf/ld.so.lds
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `process_envvars':
/mnt/hgfs/D/sources/glibc-2.7/elf/rtld.c:2690: undefined reference to `__open'
/mnt/hgfs/D/sources/glibc-2.7/elf/rtld.c:2662: undefined reference to `__access'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `dl_main':
/mnt/hgfs/D/sources/glibc-2.7/elf/rtld.c:1640: undefined reference to `__access'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `_dl_discover_osversion':
/mnt/hgfs/D/sources/glibc-2.7/elf/../sysdeps/unix/sysv/linux/dl-osinfo.h:91: undefined reference to `__open'
/mnt/hgfs/D/sources/glibc-2.7/elf/../sysdeps/unix/sysv/linux/dl-osinfo.h:94: undefined reference to `__read'
/mnt/hgfs/D/sources/glibc-2.7/elf/../sysdeps/unix/sysv/linux/dl-osinfo.h:95: undefined reference to `__close'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `lose':
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:811: undefined reference to `__close'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `open_verify':
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1633: undefined reference to `__open'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1644: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1645: undefined reference to `__libc_read'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1764: undefined reference to `__lseek'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1765: undefined reference to `__libc_read'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1743: undefined reference to `__lseek'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1744: undefined reference to `__libc_read'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1747: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1654: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1795: undefined reference to `__close'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1796: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `open_path':
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1885: undefined reference to `__GI___xstat64'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1936: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1905: undefined reference to `__GI___fxstat64'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1911: undefined reference to `__close'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1915: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1932: undefined reference to `__close'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `_dl_map_object_from_fd':
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:862: undefined reference to `__GI___fxstat64'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:878: undefined reference to `__close'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:995: undefined reference to `__lseek'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:996: undefined reference to `__libc_read'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:866: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:1434: undefined reference to `__close'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:907: undefined reference to `__close'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `_dl_map_object':
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:2159: undefined reference to `__close'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-load.c:2243: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `_dl_new_object':
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-object.c:168: undefined reference to `__getcwd'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-object.c:168: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `_dl_protect_relro':
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-reloc.c:331: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `_dl_relocate_object':
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-reloc.c:198: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `_dl_map_object_deps':
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-deps.c:201: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-deps.c:204: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os:/mnt/hgfs/D/sources/glibc-2.7/elf/dl-deps.c:491: more undefined references to `rtld_errno' follow
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `_dl_sysdep_read_whole_file':
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-misc.c:58: undefined reference to `__open'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-misc.c:61: undefined reference to `__GI___fxstat64'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-misc.c:79: undefined reference to `__close'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `_dl_start_profile':
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-profile.c:287: undefined reference to `__open'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-profile.c:304: undefined reference to `__GI___fxstat64'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-profile.c:296: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-profile.c:298: undefined reference to `__close'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-profile.c:296: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-profile.c:335: undefined reference to `__close'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-profile.c:355: undefined reference to `__close'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-profile.c:320: undefined reference to `__lseek'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-profile.c:327: undefined reference to `__libc_write'
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-profile.c:327: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `*__GI__dl_make_stack_executable':
/mnt/hgfs/D/sources/glibc-2.7/elf/../sysdeps/unix/sysv/linux/dl-execstack.c:92: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-2.7/elf/../sysdeps/unix/sysv/linux/dl-execstack.c:61: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `_dl_sysdep_start':
/mnt/hgfs/D/sources/glibc-2.7/elf/../elf/dl-sysdep.c:237: undefined reference to `__libc_check_standard_fds'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `__strtoul_internal':
/mnt/hgfs/D/sources/glibc-2.7/elf/dl-minimal.c:284: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `__brk':
/mnt/hgfs/D/sources/glibc-2.7/elf/../sysdeps/unix/sysv/linux/i386/brk.c:47: undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `mmap':
(.text+0x13c10): undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `__munmap':
(.text+0x13c4c): undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os: In function `mprotect':
(.text+0x13c8e): undefined reference to `rtld_errno'
/mnt/hgfs/D/sources/glibc-build/elf/librtld.os:(.text+0x13cc8): more undefined references to `rtld_errno' follow
collect2: ld returned 1 exit status
make[2]: *** [/mnt/hgfs/D/sources/glibc-build/elf/ld.so] Error 1
make[2]: Leaving directory `/mnt/hgfs/D/sources/glibc-2.7/elf'
make[1]: *** [elf/subdir_lib] Error 2


编译环境:
主机系统——Ubuntu 8.04.2
主机GCC——gcc-4.2.4
完全按照CLFS-1.1.0-x86手册上的步骤,首先打补丁glibc-2.7-libgcc_eh-1.patch,glibc-2.7-localedef_segfault-1.patch,glibc-2.7-i586_chk-2.patch,然后创建glibc-build并进入,创建config.cache,然后configure:
BUILD_CC="gcc" CC="${CLFS_TARGET}-gcc" AR="${CLFS_TARGET}-ar" RANLIB="${CLFS_TARGET}-ranlib" CFLAGS="-march=$(cut -d- -f1 <<< $CLFS_TARGET) -mtune=generic -g -O2" ../glibc-2.7/configure --prefix=/tools --host=${CLFS_TARGET} --build=${CLFS_HOST} --disable-profile --enable-add-ons --with-tls --enable-kernel=2.6.0 --with-__thread --with-binutils=/cross-tools/bin --with-headers=/tools/include --cache-file=config.cache

这里解释一下变量:
CLFS_HOST="i486-cross-linux-gnu"
CLFS_TARGET="i486-pc-linux-gnu"


不知哪位高人能够解答一下?

作者: hougollen   发布时间: 2009-04-30

呵呵问题解决了

作者: hougollen   发布时间: 2009-04-30

我估计是文件系统的问题,因为我是在虚拟机下进行编译的,因此应用了Vmware的sharefolder,但是sharefolder是有问题的,我记得自己之前编译ARM交叉编译环境时,总是出问题,后来放到自己的虚拟硬盘上时,问题消失了。只是不太清楚具体是怎么回事,哪位知道的话解释解释。

作者: hougollen   发布时间: 2009-04-30

热门下载

更多