dm6446运行出现`GLIBC_2.4' not found ,是什么原因,和编译器版本有关吗,是不是要换Linux内核的版本
root@192.168.1.127:~# cd /opt/dvevm
root@192.168.1.127:/opt/dvevm# ./loadmodules.sh
cmemk: module license '(c) Texas Instruments' taints kernel.
cmem initialized 3 pools between 0x87800000 and 0x88000000
dsplinkk: no version for "struct_module" found: kernel tainted.
DDR_START 0x8fa00000 DDR_SIZE 0x400000
root@192.168.1.127:/opt/dvevm# ./encodedecode
./encodedecode: /lib/tls/libpthread.so.0: version `GLIBC_2.4' not found (require
d by ./encodedecode)
root@192.168.1.127:/opt/dvevm# ./encode
./encode: /lib/tls/libpthread.so.0: version `GLIBC_2.4' not found (required by .
/encode)
root@192.168.1.127:/opt/dvevm# MGC_HdrcServiceUsbSt
Chris Meng:
David,
TI官方的DM6446 dvsdk是没有该问题的。请问你修改了什么部分?
David5:
回复 Chris Meng:
是这样的,我用的是合众达的板子,可是他提供的sdk上servers端的编译出错,我解决不了,所以我去TI下了一个dvsdk2_00_00_22,所有的编译都正常,但是原来的合众达sdk上编译器是mv_pro_4.0,Linux内核是Linux2..6.10,而TI官网dvsdk2_00_00_22上的编译器是mv_pro5.0,内核是Linux2.6.18,会不会是这个原因,所以我是不是应该重新在板子上移植一个2.10.18的内核?
原来合众达的SDK 上servers端编译结果如下,我反复检查过配置文件,不知道问题出在哪里,如果能解决下面的问题,问题会简单很多。
[root@localhost video_copy]# make/home/feng/dvevm_1_00_00_32/xdctools_1_20/xdc XDCPATH="/home/feng/dvevm_1_00_00_32/codec_engine_1_00/examples;/home/feng/dvevm_1_00_00_32/codec_engine_1_00/packages;/home/feng/dvevm_1_00_00_32/xdais_5_00/packages;/home/feng/dvevm_1_00_00_32/dsplink_1_30_07ce/packages;/home/feng/dvevm_1_00_00_32/cmem_1_00/packages;/home/feng/dvevm_1_00_00_32/framework_components_1_00_01/packages;/home/feng/dvevm_1_00_00_32/bios_5_33_03/packages" \ XDCOPTIONS=v all## making package.mak (because of package.bld) …/home/feng/dvevm_1_00_00_32/xdctools_1_20/tconf -DXDC_OM1= -Dxdc.traceEnable= -p /home/feng/dvevm_1_00_00_32/xdctools_1_20/jre -Dxdc.path="/home/feng/dvevm_1_00_00_32/codec_engine_1_00/examples;/home/feng/dvevm_1_00_00_32/codec_engine_1_00/packages;/home/feng/dvevm_1_00_00_32/xdais_5_00/packages;/home/feng/dvevm_1_00_00_32/dsplink_1_30_07ce/packages;/home/feng/dvevm_1_00_00_32/cmem_1_00/packages;/home/feng/dvevm_1_00_00_32/framework_components_1_00_01/packages;/home/feng/dvevm_1_00_00_32/bios_5_33_03/packages;/home/feng/dvevm_1_00_00_32/xdctools_1_20/packages;../.." -Dxdc.root=/home/feng/dvevm_1_00_00_32/xdctools_1_20 -Dxdc.hostOS=Linux -Dconfig.importPath=".;/home/feng/dvevm_1_00_00_32/codec_engine_1_00/examples;/home/feng/dvevm_1_00_00_32/codec_engine_1_00/packages;/home/feng/dvevm_1_00_00_32/xdais_5_00/packages;/home/feng/dvevm_1_00_00_32/dsplink_1_30_07ce/packages;/home/feng/dvevm_1_00_00_32/cmem_1_00/packages;/home/feng/dvevm_1_00_00_32/framework_components_1_00_01/packages;/home/feng/dvevm_1_00_00_32/bios_5_33_03/packages;/home/feng/dvevm_1_00_00_32/xdctools_1_20/packages;../..;/home/feng/dvevm_1_00_00_32/xdctools_1_20;/home/feng/dvevm_1_00_00_32/xdctools_1_20/etc" -Dxdc.bld.targets="" -DTOOLS= /home/feng/dvevm_1_00_00_32/xdctools_1_20/packages/xdc/bld/bld.js /home/feng/dvevm_1_00_00_32/codec_engine_1_00/packages/config.bld package.bld package.makconfig.bld> Info: Reading user build settings from file /home/feng/dvevm_1_00_00_32/codec_engine_1_00/examples/user.bldbuilding for target C64P …## generating interfaces for package servers.video_copy (because package/package.xdc.xml is older than package.xdc) …/home/feng/dvevm_1_00_00_32/xdctools_1_20/jre/bin/java -cp "/home/feng/dvevm_1_00_00_32/xdctools_1_20/iliad.jar:/home/feng/dvevm_1_00_00_32/xdctools_1_20/antlr.jar:/home/feng/dvevm_1_00_00_32/xdctools_1_20/js.jar" -Dxdc.path="/home/feng/dvevm_1_00_00_32/codec_engine_1_00/examples;/home/feng/dvevm_1_00_00_32/codec_engine_1_00/packages;/home/feng/dvevm_1_00_00_32/xdais_5_00/packages;/home/feng/dvevm_1_00_00_32/dsplink_1_30_07ce/packages;/home/feng/dvevm_1_00_00_32/cmem_1_00/packages;/home/feng/dvevm_1_00_00_32/framework_components_1_00_01/packages;/home/feng/dvevm_1_00_00_32/bios_5_33_03/packages;/home/feng/dvevm_1_00_00_32/xdctools_1_20/packages;../.." Iliad.CMD.Build -m package/package.xdc.dep -i package/package.xdc.inc package.xdc## configuring video_copy.x64P from package/cfg/video_copy_x64P.cfg …/home/feng/dvevm_1_00_00_32/xdctools_1_20/tconf -DXDC_OM1= -Dxdc.traceEnable= -p /home/feng/dvevm_1_00_00_32/xdctools_1_20/jre -Dxdc.path="/home/feng/dvevm_1_00_00_32/codec_engine_1_00/examples;/home/feng/dvevm_1_00_00_32/codec_engine_1_00/packages;/home/feng/dvevm_1_00_00_32/xdais_5_00/packages;/home/feng/dvevm_1_00_00_32/dsplink_1_30_07ce/packages;/home/feng/dvevm_1_00_00_32/cmem_1_00/packages;/home/feng/dvevm_1_00_00_32/framework_components_1_00_01/packages;/home/feng/dvevm_1_00_00_32/bios_5_33_03/packages;/home/feng/dvevm_1_00_00_32/xdctools_1_20/packages;../.." -Dxdc.root=/home/feng/dvevm_1_00_00_32/xdctools_1_20 -Dxdc.hostOS=Linux -Dconfig.importPath=".;/home/feng/dvevm_1_00_00_32/codec_engine_1_00/examples;/home/feng/dvevm_1_00_00_32/codec_engine_1_00/packages;/home/feng/dvevm_1_00_00_32/xdais_5_00/packages;/home/feng/dvevm_1_00_00_32/dsplink_1_30_07ce/packages;/home/feng/dvevm_1_00_00_32/cmem_1_00/packages;/home/feng/dvevm_1_00_00_32/framework_components_1_00_01/packages;/home/feng/dvevm_1_00_00_32/bios_5_33_03/packages;/home/feng/dvevm_1_00_00_32/xdctools_1_20/packages;../..;/home/feng/dvevm_1_00_00_32/xdctools_1_20;/home/feng/dvevm_1_00_00_32/xdctools_1_20/etc ;/home/feng/dvevm_1_00_00_32/bios_5_33_03/packages/ti/bios/include" -Dxdc.bld.targets="" -DTOOLS= /home/feng/dvevm_1_00_00_32/xdctools_1_20/packages/xdc/cfg/cfg.js package/cfg/video_copy_x64P video_copy.x64Pvideo_copy.x64P .cfg> Warning: DSKT2 scratch sizes may be inappropriate for optimal allocation.codecs.videnc_copy.close() …ti.sdo.ce.osal.close() …js: "/home/feng/dvevm_1_00_00_32/xdctools_1_20/include/utils.tci", line 649: exception from uncaught JavaScript throw: TypeError: Cannot call method "findPkg" of undefined "/home/feng/dvevm_1_00_00_32/xdctools_1_20/packages/xdc/cfg/cfg.js", line 117gmake: *** [package/cfg/video_copy_x64Pcfg_c.c] Error 1gmake: *** Deleting file `package/cfg/video_copy_x64Pcfg_c.c'gmake: *** [package/cfg/video_copy_x64Pcfg_c.c] Deleting file `package/cfg/video_copy_x64Pcfg.cmd'gmake: *** [package/cfg/video_copy_x64Pcfg_c.c] Deleting file `package/cfg/video_copy_x64Pcfg.s62'make: *** [all] 错误 2[root@localhost video_copy]#
lu edward:
回复 David5:
你好:
编译的问题网上有一篇文章的,make + 文件名 有个顺序的。我在做dm368的时候发现dvsdk0402确实有个模块编译不过去。
你要换kernel这个工作量比较大的,因为你的开发板是那块国外demo变过来的你未必知道,如果只是升级kernel,那么里面很多BSP的东西要按照目前的硬件设计来修改。
loadmodul。sh失败了导致你后面的程序运行不正常。具体的要看uboot中的bootargs设置。
希望对你有帮助
David5:
回复 lu edward:
你的意思是说运行出现`GLIBC_2.4' not found 的错误与glibc无关,是因为ubootargs的设置不对,那么用DVSDK2_00_00_22上的mv_pro5.0编译器,内核应当为2.6.18,编译出来的程序也是可以在linux2.6.10上正常运行的是吧?
Chris Meng:
回复 David5:
David5是这样的,我用的是合众达的板子,可是他提供的sdk上servers端的编译出错,我解决不了,所以我去TI下了一个dvsdk2_00_00_22,所有的编译都正常,但是原来的合众达sdk上编译器是mv_pro_4.0,Linux内核是Linux2..6.10,而TI官网dvsdk2_00_00_22上的编译器是mv_pro5.0,内核是Linux2.6.18,会不会是这个原因,所以我是不是应该重新在板子上移植一个2.10.18的内核?
不同版本的编译器使用的glibc版本也可能不同。建议所有的软件是在同一个编译器下编译出来的。
David5:
回复 Chris Meng:
是的,我想问的是不同版本编译出的程序是否都能在Linux2.6.10和llinux2..6.18上运行,还是说这两个linux版本对应着不同的编译器版本,所以出现了`GLIBC_2.4' not found 的这个问题?