Ltib 编译出问题

1、运行./ltib –m config 就出错了

错误1:提示没安装zlib,其实系统已经安装了相应的包,只是没找到,网上有说注释掉zlib检查的代码,但我想这不是好办法,总不能出错的地方就不要了。

解决方法 :添加路径,打开目录/ltib/bin/Ltibutils.pm 文件,search for zlib部分代码;


--- original/bin/Ltibutils.pm   2012-08-15 12:04:53.728901999 -0500
+++ ltib/bin/Ltibutils.pm       2012-08-15 12:12:01.916901781 -0500
@@ -562,7 +562,7 @@
     binutils         => ‘ar --version 2>/dev/null‘,
     ‘gcc-c++‘        => ‘g++ --version 2>/dev/null‘,
     glibc            => ‘ldd --version 2>/dev/null‘,
-    ‘glibc-devel‘    => sub { -f ‘/usr/lib/libm.so‘ || -f ‘/usr/lib64/libm.so‘ || -f ‘/usr/lib32/libm.so‘ || -f ‘/usr/lib/x86_64-linux-gnu/libm.so‘ || -f ‘/usr/lib/i386-linux-gnu/libm.so‘ },
+    ‘glibc-devel‘    => sub { -f ‘/usr/lib/libm.so‘ || -f ‘/usr/lib64/libm.so‘ || -f ‘/usr/lib32/libm.so‘ || -f ‘/usr/lib/x86_64-linux-gnu/libm.so‘ || -f ‘/usr/lib/i386-linux-gnu/libm.so‘ || -f ‘/usr/lib64/libz.so‘ },
     ‘glibc-headers‘  => sub { -f ‘/usr/include/stdio.h‘ },
     ‘libstdc++‘ => sub {
             return system_nb(<<TXT) == 0;
@@ -585,6 +585,7 @@
     zlib         => sub { my @f = (glob(‘/usr/lib/libz.so*‘),
                                    glob(‘/lib/libz.so*‘),
                                    glob(‘/lib64/libz.so*‘),
+                                  glob(‘/lib/i386-linux-gnu/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 },
哪个路径没有,添加哪个路径。
错误2:

You don‘t have a working TeX binary installed, but the texi2dvi script
can‘t proceed without it. If you want to use this script, you have to
install some kind of TeX, for example TeX Live Debian packages. You can do
that with this command:
       apt-get install texlive
make[2]: *** [flex.pdf] Error 1
make[2]: Leaving directory `/opt/freescale/ltib/usr/src/rpm/BUILD/flex-2.5.37/doc‘
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/opt/freescale/ltib/usr/src/rpm/BUILD/flex-2.5.37‘
make: *** [install] Error 2
error: Bad exit status from /home/cody/i.mx6/ltib/tmp/rpm-tmp.99407 (%install)

RPM build errors:
    Bad exit status from /home/cody/i.mx6/ltib/tmp/rpm-tmp.99407 (%install)
Build time for flex: 27 seconds

Failed building flex
Died at ./ltib line 1392.
traceback:
 main::build_host_rpms:1392
  main::host_checks:1447
   main:554
解决:sudo apt-get install texinfosudo apt-get install texlive错误3:

Build path taken because: directory build, no prebuilt rpm, 

Cowardly refusing to clobber existing directory:
 /opt/freescale/ltib/usr/src/rpm/BUILD/flex-2.5.37
Remove this by hand if you really want to rebuild this package from scratch

Died at ./ltib line 1392.
traceback:
 main::build_host_rpms:1392
  main::host_checks:1447
   main:554
解决:sudo rm -Rf /opt/freescale/ltib/usr/src/rpm/BUILD/flex-2.5.37sudo rm -Rf /opt/freescale/ltib/usr/src/rpm/BUILD/libtool-2.4.2 错误4:

/opt/freescale/ltib/usr/src/rpm/BUILD/elftosb-3.0.35-4.0.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.0.0/bld/linux‘
make: *** [all] Error 2
error: Bad exit status from /home/cody/i.mx6/ltib/tmp/rpm-tmp.77914 (%build)

RPM build errors:
    Bad exit status from /home/cody/i.mx6/ltib/tmp/rpm-tmp.77914 (%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

解决:将下面内容保存为:elftosb-types_h-fix.patch并放在/opt/freescale/pkgs/目录

diff -rupN elftosb-11.09.01/common/stdafx.h elftosb-11.09.01-new/common/stdafx.h
--- elftosb-11.09.01/common/stdafx.h    2011-03-01 05:05:19.000000000 +0100
+++ elftosb-11.09.01-new/common/stdafx.h        2013-05-07 06:03:56.399989483 +0200
@@ -27,7 +27,7 @@
 // For Linux systems only, types.h only defines the signed
 // integer types.  This is not professional code.
 // Update: They are defined in the header files in the more recent version of redhat enterprise gcc.
-#include "/usr/include/sys/types.h"
+#include
 #include
 //typedef unsigned long uint32_t;
 //typedef unsigned short uint16_t;
diff -rupN elftosb-11.09.01/stdafx.h elftosb-11.09.01-new/stdafx.h
--- elftosb-11.09.01/stdafx.h   2013-05-07 06:04:25.055987505 +0200
+++ elftosb-11.09.01-new/stdafx.h       2013-05-07 06:03:23.671990775 +0200
@@ -27,7 +27,7 @@
 // For Linux systems only, types.h only defines the signed
 // integer types.  This is not professional code.
 // Update: They are defined in the header files in the more recent version of redhat enterprise gcc.
-#include "/usr/include/sys/types.h"
+#include
 //typedef unsigned long uint32_t;
 //typedef unsigned short uint16_t;
 //typedef unsigned char uint8_t;
再编辑文件ltib_root/dist/lfs-5.1/elftosb/elftosb.spec,增加如下红色部分内容:...Source : %{name}-%{version}-%{release}.tar.gzPatch0 : elftosb-types_h-fix.patchBuildRoot : %{_tmppath}/%{name}  ...%setup -n %{name}-%{version}-%{release}%patch0 -p1%Buildmake...再删掉/opt/freescale/ltib/usr/src/rpm/BUILD/elftosb-3.0.35-4.0.0,或其它以elftosb开头的,如有的话
 
注意: 在编译的过程中,你或许会遇到下面的问题:(In compile process, you will meet the following problem.)  1. sys/acl.h: No such file or directory  --> sudo apt-get install libacl1-dev  2. compr_lzo.c:29:23: error: lzo/lzo1x.h: No such file or directory  --> sudo apt-get install liblzo-dev (Maybe use liblzo2-dev replace it)  3. uuid/uuid.h: No such file or directory --> sudo apt-get install uuid-dev  4. 到这里应该没什么错误了,再根据官方文档“i.MX_6Dual6Quad_Sabre-AI_Linux_User_Guide”来配置就OK了 5.运行./ltib 又遇到错误:

/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: cannot find /lib/ld-linux.so.3
collect2: ld returned 1 exit status
make: *** [busybox_unstripped] Error 1
error: Bad exit status from /home/cody/i.mx6/ltib/tmp/rpm-tmp.92805 (%build)

RPM build errors:
    Bad exit status from /home/cody/i.mx6/ltib/tmp/rpm-tmp.92805 (%build)
Build time for busybox: 46 seconds

Failed building busybox

解决:https://community.freescale.com/message/332355#332355

1) install patch-ltib-ubuntu12.04.sh from (https://community.freescale.com/docs/DOC-93455).
2) create a soft link under /usr/include.
     sudo ln -s i386-linux-gun/sys sys
3) install additional packages.
     sudo aptitude -y install asciidoc texlive-latex-base dblatex xutils-dev
     sudo apt-get install texinfo
4) modify ltib/dist/lfs-5.1/base_libs/base_libs.spec.
     ...
     perl -w -e ‘
     # @ARGV = grep { `file $_` =~ m,ASCII C program text, } @ARGV;
     # exit (0) unless @ARGV;

6.终于看到成功的信息

Build Succeeded
时间: 2024-10-08 15:01:16

Ltib 编译出问题的相关文章

修改OpenSSL默认编译出的动态库文件名称

在 Windows 平台上调用动态链接库 dll 文件时,有两种方式:a) 隐式的加载时链接:使用 *.lib (导入库)文件,在 IDE 的链接器相关设置中加入导入库 lib 文件的名称,或在程序中加入预编译指令 #pragma comment (lib,”*.lib”).b) 显式的运行时链接.不使用 *.lib (导入库)文件,使用 Load Library(),GetProcAddress() 函数来加载动态库中的函数.要注意的是在导入库 lib 文件内部包含了其对应 dll 文件的名称

只有lua才能编译出小于200K的代码吗?NO! Python 也可以。

现在Python给人的感觉是大,东西多,在Windows上安装后居然要占100多兆的空间.lua给人的感觉是很小,很轻便.Python 2.7在linux下编译出来的代码在strip之后也有3M多,早期版本应该会更小些,但也应该有七八百兆吧.那么Python是不是不能编译出轻便,体积小的代码呢?答案是否定的,这里介绍几个Python的变种,来看下Python可以有多小. 1.Pymite 这是一个可以运行在8位单片机上的Python,没想到吧!单片机上的rom往往小于100KB,RAM小于8KB

vs2010编译出的exe“应用程序无法正常启动(0xc0150002)”

今天编译出一个使用ogre1.6.5动态库的应用程序,启动时报"应用程序无法正常启动(0xc0150002)"的错误提示. 编译环境是Win10+VS2010.这个错误可以在Windows 日志中查看到详细信息(计算机--管理--事件查看器--Windows日志--应用程序). 错误原因是:ogremain连接两个旧版本的lib库(可能是vs2005编译出的).因此分别找到对应库的源码,在vs2010环境下重新编译出类库,再进行链接. 再次编译OgreMain.dll时又出现一个问题:

如何使用Ant脚本编译出Jar和Apk包

一.前言 今天我们来看一个非常出名的工具ant,我们知道AndroidStudio中已经集成了gradle了,那么ant已经没有往日的辉煌了,但是他并没有被淘汰,因为在web项目中打出war包的时候也是可以用到的,虽然maven也很火,其实我开始工作已经快三年了,但是真心的还没用过ant脚本,因为在第一年的时候,我没有实际的出过release包,后面又开始用gradle了,所以直接略过了ant脚本了,但是今天因为有一个需求,就是想自动化的打出一个jar包,所以就想到了ant脚本,正好也算是学习了

反编译出Class文件的方法

本文地址:http://blog.csdn.net/sushengmiyan/article/details/18798473 本文作者:sushengmiyan 我们在使用Eclipse的时候,经常是会使用别人的Jar包,然后,通常情况下,我们是不会得到他们的源码的,出发是个开源项目.但是有时候很多 异常会从jar包里爆出来,我们没有源代码,就无法去查找具体原因,那么有没有一个工具可以让我们直接就像自己写的代码一样在Eclipse中按住 Ctrl+鼠标,就直接查看源码呢? 对,这个工具就是JA

使用AS编译jni文件无法编译出arm64-v8a,x86_64和mips64平台的.so文件的解决方法

我用的插件版本是:classpath 'com.android.tools.build:gradle-experimental:0.4.0',AS集成和使用ndk编译项目参考官方demo:https://github.com/googlesamples/android-ndk 正常情况下配置下图所示即可编译指定平台的.so文件 但是如果你也出现以下问题(即无法编译出arm64-v8a,x86_64和mips64平台的.so文件) 其实原因很简单,那是因为compileSdkVersion太低了,

lua编译出so文件

把lua编译出so文件 http://superuser.com/questions/557884/getting-error-recompile-with-fpic http://guiquanz.me/2012/08/02/lua_improvements/ http://lua-users.org/lists/lua-l/2006-10/msg00091.html

在VS2008下编译出sqlite3.dll和sqlite3.lib

废话就不多说了,直接进入主题. 1.进入http://sqlite.org/download.html下载sqlite-amalgamation-3071300.zip和sqlite-dll-win32-x86-3071300.zip,解压: 2.创建一个空的win32 dll项目,将解压缩的文件添加进来,进行编译,没有报错,但是查看编译目录,发现只是生成了sqlite3.dll而不见sqlite3.lib文件: 3.项目属性--配置属性--连接器--输入--模块定义文件,添加sqlite3.d

proftpd +mysql+ssl ,无法成功编译出mod_sql mod_sql_mysql 模

proftpd +mysql+ssl ,无法成功编译出mod_sql mod_sql_mysql 模块,内网yum 按的mysql 外网源码装的mysql,都不行,还是看官方文档的 http://www.proftpd.org/docs/contrib/mod_sql.html#Installation centos  proftpd-1.3.5版本 1.内网yum mysql环境 #  ./configure --prefix=/usr/local/proftpd --with-modules