一个项目需要在Ubuntu10.04上使用LLVM 3.8,从llvm.org上下载了一个binary包下来,运行提示要求GLIBC_2.14。由于Ubuntu 10.04已经停止维护了,GLIBC最高只支持到2.12。
编译GLIBC 2.14
一开始想编译一个GLIBC2.14来用。
wgethttp://mirror.bjtu.edu.cn/gnu/libc/glibc-2.14.tar.xz
tar Jxvfglibc-2.14.tar.xz
cd glibc-2.14
mkdir build
cd build
../configure--prefix=/opt/glibc-2.14
make -j8
../misc/syslog.c: In function‘__vsyslog_chk’:
../misc/syslog.c:123: sorry, unimplemented:inlining failed in call to ‘syslog’: function body not available
../misc/syslog.c:155: sorry, unimplemented:called from here
make[2]: ***[/mnt/adm/sources/glibc-build/misc/syslog.o] Error 1
make[2]: Leaving directory`/mnt/adm/sources/glibc-src/misc'
make[1]: *** [misc/subdir_lib] Error 2
make[1]: Leaving directory`/mnt/adm/sources/glibc-src'
make: *** [all] Error 2
CFLAGS="-O2 -U_FORTIFY_SOURCE-fno-stack-protector" ../configure --prefix=/opt/glibc-2.14
make -j8
mawk: scripts/gen-sorted.awk: line 19:regular expression compile failed (bad class -- [], [^] or [)
/[^
mawk: scripts/gen-sorted.awk: line 19:syntax error at or near ]
mawk: scripts/gen-sorted.awk: line 19:runaway regular expression /, "", subd ...
rm -f/mnt/custom_linux/sources/build/stamp.o; >/mnt/custom_linux/sources/build/stamp.o
rm -f/mnt/custom_linux/sources/build/stamp.os; >/mnt/custom_linux/sources/build/stamp.os
rm -f/mnt/custom_linux/sources/build/stamp.oS; >/mnt/custom_linux/sources/build/stamp.oS
sudo apt-get installgawk
CFLAGS="-O2 -U_FORTIFY_SOURCE-fno-stack-protector" ../configure --prefix=/opt/glibc-2.14
make -j82>/dev/stdout > make.log
glibc-2.14/build/libc_pic.a(init-first.os):(.data+0x0):multiple definition of `__libc_multiple_libcs'
glibc-2.14/build/elf/dl-allobjs.os:/home/yubing/glibc-2.14/elf/rtld.c:657:first defined here
glibc-2.14/build/libc_pic.a(dl-addr.os): Infunction `_dl_addr_inside_object':
glibc-2.14/elf/dl-addr.c:158: multipledefinition of `_dl_addr_inside_object&