zlib => sub { my @f = (glob('/usr/lib/libz.so*'),
glob('/lib/libz.so*'),
glob('/lib64/libz.so*'),
glob('/usr/lib/i386-linux-gnu/libz.so*'),
glob('/usr/lib32/libz.so*'),
glob('/usr/lib/x86_64-linux-gnu/libz.so*') ); @f > 1 ? 1 : 0 },
'zlib-devel' => sub { -f '/usr/include/zlib.h' },
可见,zlib指向的是一个libz.so*的库文件,这个库文件可能位于/usr或者是/lib目录下,那么我们在/usr和/lib目录下,分别使用find ./ -depth -name libz.so*命令来找找看这个库文件的路径,肯定能找到的。
修改后的Ltibutils.pm如下所示:
zlib => sub { my @f = (
glob('/usr/lib/i386-linux-gnu/libz.so*'),
glob('/lib/i386-linux-gnu/libz.so*'),
glob('/usr/lib/x86_64-linux-gnu/libz.so*') ); @f > 1 ? 1 : 0 },
'zlib-devel' => sub { -f '/usr/include/zlib.h' },
-->接着遇到问题
/opt/freescale/ltib/usr/src/rpm/BUILD/elftosb-3.0.35-4.1.0/common/stdafx.h:30:36: fatal error: /usr/include/sys/types.h: No such file or directory
compilation terminated.
make[1]: *** [AESKey.o] Error 1
make[1]: Leaving directory `/opt/freescale/ltib/usr/src/rpm/BUILD/elftosb-3.0.35-4.1.0/bld/linux'
make: *** [all] Error 2
error: Bad exit status from /home/gxx/per_imx6q/L3.0.35_4.1.0_130816_source/ltib/ltib/tmp/rpm-tmp.28187 (%build)
RPM build errors:
Bad exit status from /home/gxx/per_imx6q/L3.0.35_4.1.0_130816_source/ltib/ltib/tmp/rpm-tmp.28187 (%build)
Build time for elftosb: 1 seconds
Failed building elftosb
Died at ./ltib line 1392.
traceback:
main::build_host_rpms:1392
main::host_checks:1447
main:554
Started: Thu Nov 6 10:31:55 2014
Ended: Thu Nov 6 10:38:16 2014
Elapsed: 381 seconds
These packages failed to build:
elftosb
Build Failed
按照提示错误,参考帖子
解决方式:
以上错误是因为/opt/freescale/ltib/usr/src/rpm/BUILD/elftosb-x.x.x/common/stdafx.h,包含的头文件types.h的路径不对导致,修改stdafx.h文件:
1)cd /opt/freescale/pkgs/
2)tar zxvf elftosb-x.x.x.tar.gz
3)修改stdafx.h文件(一个在elftosb-x.x.x,另一个在elftosb-x.x.x/common目录),#include"/usr/include/sys/types.h" 改成 #include"/usr/include/i386-linux-gnu/sys/types.h"
4)重新打包:
tar zcvf elftosb-x.x.x.tar.gz elftosb-x.x.x
5)rm -rf /opt/freescale/ltib/usr/src/rpm/BUILD/elftosb-x.x.x
-->然后执行./ltib
到这一步停下
run "git gc" manually. See "git help gc" for more information.
Counting objects:60409, done.
这个时候ctrl+c,
然后再./ltib
遇到failed buding busybox,按照文档i.MX6 Ubuntu12.04上编译LTIB.pdf进行解决
现在已经编译通过