先从网上下了一个ncurses5.6 的在用 ./configure --host=arm-linux --prefix=/usr/local/arm/2.95.3 编译后 下载到arm板子上
后出错,说不能打开 Error opern terminal 经过分析排错发现是 TERM=xterm 要改为TERM=vt100 因为在 /etc/v/vt100 后解决这个问题
后又出现
symbol nl_langinfo, version GLIBC_2.0 not defined in file libc.so.6 with link time refere readelf -a libc-x.x.x.so | grep nl_langinfo,没有找到nl_langinfo相关的符号信息,就是当前的libc的库版本低。后改为5.4的,5.2 5.1 等都不行,忙活了一天都没结果,静下心想,方向可能错了,后想应是ARM内的lib/下的那个库的版本低了,后经几次测试,果然是这样,想想那提示,早就应该到呀,唉,谁叫我急呢
摘抄网上的一些信息
glibc的主目录一般有如下4类的库名:
本文以GLIBC2.2.3例:
1@实际的共享连接库如: glibc2.2.3的数学连接库是libm-2.2.3.so
libc2.2.3
2@主修订版本的符号连接库libc.so.6
libdl.so.2
3@与版本号无关联的库 libm.so
库中还需要动态连接器和其符号连接:
如:ld-2.2.3.so
ld-linux.so.2
一般ARM类型的是这样的
###找出你的应用程序所需要的库:
工具:LDD.这个不能实现跨平台的检查功能. ---就是不能用host 的ldd来检查我门ARM平台的应用程序的能力.
uClibc中的LDD具有跨越平台查阅的能力其名字是:arm-uclibc-ldd /busy/box
下图为:本人用的库的状况:
ld-2.2.5.so libmemusage.so libpthread.so.0
ld-linux.so.2 libnsl-2.2.5.so libqte.so
libBrokenLocale-2.2.5.so libnsl.so.1 libqte.so.2
libBrokenLocale.so.1 libnss_compat-2.2.5.so libqte.so.2.3
libSegFault.so libnss_compat.so.2 libqte.so.2.3.7
libanl-2.2.5.so libnss_dns-2.2.5.so libresolv-2.2.5.so
libanl.so.1 libnss_dns.so.2 libresolv.so.2
libc-2.2.5.so libnss_files-2.2.5.so librt-2.2.5.so
libc.so.6 libnss_files.so.2 librt.so.1
libcrypt-2.2.5.so libnss_hesiod-2.2.5.so libstdc++.so
libcrypt.so.1 libnss_hesiod.so.2 libstdc++.so.5
libdl-2.2.5.so libnss_nis-2.2.5.so libstdc++.so.5.0.4
libdl.so.2 libnss_nis.so.2 libthread_db-1.0.so
libgcc_s.so libnss_nisplus-2.2.5.so libthread_db.so.1
libgcc_s.so.1 libnss_nisplus.so.2 libutil-2.2.5.so
libjpeg.so libpcprofile.so libutil.so.1
libjpeg.so.62 libpng.so libz.so
libjpeg.so.62.0.0 libpng.so.3 libz.so.1
libm-2.2.5.so libpng.so.3.1.2.5 libz.so.1.2.1
libm.so.6 libpthread-0.9.so
阅读(531) | 评论(0) | 转发(0) |