交叉编译glibc出现找不到__fork_handlers的错误
时间:2010-06-20
来源:互联网
mv -f /home/user/glibc-build/shlib.ldsT /home/user/glibc-build/shlib.lds arm-poky-linux-gnueabi-gcc -shared -static-libgcc -Wl,-O1 -Wl,-z,defs -Wl,-dynamic-linker=/lib/ld-linux.so.3 -B/home/user/glibc-build/csu/ -Wl,--version-script=/home/user/glibc-build/libc.map -Wl,-soname=libc.so.6 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -nostdlib -nostartfiles -e __libc_main -L/home/user/glibc-build -L/home/user/glibc-build/math -L/home/user/glibc-build/elf -L/home/user/glibc-build/dlfcn -L/home/user/glibc-build/nss -L/home/user/glibc-build/nis -L/home/user/glibc-build/rt -L/home/user/glibc-build/resolv -L/home/user/glibc-build/crypt -L/home/user/glibc-build/nptl -Wl,-rpath-link=/home/user/glibc-build:/home/user/glibc-build/math:/home/user/glibc-build/elf:/home/user/glibc-build/dlfcn:/home/user/glibc-build/nss:/home/user/glibc-build/nis:/home/user/glibc-build/rt:/home/user/glibc-build/resolv:/home/user/glibc-build/crypt:/home/user/glibc-build/nptl -o /home/user/glibc-build/libc.so -T /home/user/glibc-build/shlib.lds /home/user/glibc-build/csu/abi-note.o /home/user/glibc-build/elf/soinit.os /home/user/glibc-build/libc_pic.os /home/user/glibc-build/elf/sofini.os /home/user/glibc-build/elf/interp.os /home/user/glibc-build/elf/ld.so -lgcc /home/user/glibc-build/libc_pic.os: In function `fork_handler_alloc': /home/user/glibc-2.6.1/nptl/../nptl/sysdeps/unix/sysv/linux/register-atfork.c:63: undefined reference to `__fork_handlers' /home/user/glibc-build/libc_pic.os: In function `__unregister_atfork': /home/user/glibc-2.6.1/nptl/../nptl/sysdeps/unix/sysv/linux/unregister-atfork.c:95: undefined reference to `__fork_handlers' /home/user/glibc-build/libc_pic.os: In function `__libc_pthread_init': /home/user/glibc-2.6.1/nptl/../nptl/sysdeps/unix/sysv/linux/libc_pthread_init.c:78: undefined reference to `__fork_generation_pointer' /home/user/glibc-build/libc_pic.os: In function `free_mem': /home/user/glibc-2.6.1/nptl/../nptl/sysdeps/unix/sysv/linux/register-atfork.c:135: undefined reference to `__fork_handlers' /usr/local/poky/eabi-glibc/arm/lib/gcc/arm-poky-linux-gnueabi/4.3.0/../../../../arm-poky-linux-gnueabi/bin/ld: /home/user/glibc-build/libc.so: hidden symbol `__fork_handlers' isn't defined /usr/local/poky/eabi-glibc/arm/lib/gcc/arm-poky-linux-gnueabi/4.3.0/../../../../arm-poky-linux-gnueabi/bin/ld: final link failed: Nonrepresentable section on output collect2: ld returned 1 exit status make[1]: *** [/home/user/glibc-build/libc.so] Error 1 make[1]: Leaving directory `/home/user/glibc-2.6.1' make: *** [all] Error 2 |
../glibc-2.6.1/configure --host=arm-poky-linux-gnueabi --enable-add-ons --with-binutils=/usr/local/poky/eabi-glibc/arm/arm-poky-linux-gnueabi/bin/ --with-include=/usr/local/poky/eabi-glibc/arm/arm-poky-linux-gnueabi/usr/include/ -without-gd --build=i686-pc-linux-gnu --disable-sanity-checks --prefix=/usr |
作者: Maxshine 发布时间: 2010-06-20
启用 NTPL,建立交叉编译工具链过程中,配置 glibc 时,需设置下 config.cache,参考 CLFS 手册即可。
http://cross-lfs.org/view/1.1.0/x86/...ols/glibc.html
PS: 安装交叉编译工具链到 /usr 很愚蠢,需要 root 权限,稍有不慎即可毁掉宿主系统;
不要争论说某某发行版如此如此,老油条做这些自有分寸,小油条还是小心为上;
习惯上,最好单独新建一用户,安装工具链到其家目录,或安装到 /opt。
作者: 聚焦深空 发布时间: 2010-06-20
作者: 聚焦深空
不给出自己参考资料,问问题很没诚意,也不利于解决问题。
启用 NTPL,建立交叉编译工具链过程中,配置 glibc 时,需设置下 config.cache,参考 CLFS 手册即可。 http://cross-lfs.org/view/1.1.0/x86/...ols/glibc.html PS: 安装交叉编译工具链到 /usr 很愚蠢,需要 root 权限,稍有不慎即可毁掉宿主系统; 不要争论说某某发行版如此如此,老油条做这些自有分寸,小油条还是小心为上; 习惯上,最好单独新建一用户,安装工具链到其家目录,或安装到 /opt。 |
诚意这东西你怎么看出来。
/usr给一个而已,没打算安装,想做一个locale给ebook
作者: Maxshine 发布时间: 2010-06-20
没必要做工具链,locale 只是数据,平台无关,可从其它系统同版本二进制软件包中拷贝。
PS: 工具链做多了,最终都会使用类似方法,不是简单看下 readme 就能解决的。
作者: 聚焦深空 发布时间: 2010-06-20
一个ebook,它没有gbk的内码。所以不能显示chm这些文件的中文。ebook的主人说是缺少/usr/lib/gconv/gbk.so这些东西。用file查了下应该是ARM的ELF格式的库文件。网上找到一个方法是用localedef来做,但是这个ebook自带环境没有这个工具。所以就想编译glibc,拿到localedef,最好能直接得到需要的gbk.so这些东东。
我不了解i18n。像目前的需求是能读取中文内容及正确编码,应该需要给系统添加相应的内码就行,而不需要修改统的locale。添加内码支持,需要哪些资源和库呢?
作者: Maxshine 发布时间: 2010-06-20
作者: Maxshine 发布时间: 2010-06-21
前面说清楚,不早解决了。
作者: 聚焦深空 发布时间: 2010-06-21
作者: Maxshine 发布时间: 2010-06-21
作者: 聚焦深空
有诚意,首贴中应该说清楚不是。
没必要做工具链,locale 只是数据,平台无关,可从其它系统同版本二进制软件包中拷贝。 PS: 工具链做多了,最终都会使用类似方法,不是简单看下 readme 就能解决的。 |
作者: Maxshine 发布时间: 2010-06-21
建立交叉编译工具链单看 readme 不够。
相关文档中 CLFS 比较简明。
不参考文档,那就要适当读源代码。
PS: 有文档不参考也很愚蠢。
作者: 聚焦深空 发布时间: 2010-06-21
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28