ubuntu 14.04 64位系统编译RT288x_SDK
sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev gawk asciidoc libz-dev git git-man liberror-perl libsigsegv2 mercurial python-iniparse tortoisehg tortoisehg-nautilus python-nautilus build-essential gcc-multilib
编译buildroot
/opt/buildroot-2012.11./output/toolchain/gcc-4.6./gcc/doc/cppopts.texi:: @itemx must follow @item
make[]: *** [doc/cpp.info] 错误
原因是ubuntu 14.04版本带的texinfo版本过高导致,需要降级
wget http://ftp.gnu.org/gnu/texinfo/texinfo-4.13a.tar.gz
tar -zxvf texinfo-.13a.tar.gz
cd texinfo-4.13
./configure
make
sudo make install
编译mksquash
#cd RT288x_SDK/toolchain/mksquash_lzma-3.2
#make
#make install (copy lzma_alone to /opt/buildroot-gcc463/usr/bin/)
错误1
/usr/bin/ld: mksquashfs.o: undefined reference to symbol 'log10@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned exit status
make[]: *** [mksquashfs] 错误
上网搜了一下,应该缺少math库的链接导致的,在编译选项中增加-lm可以解决
修改文件RT288x_SDK/toolchain/mksquash_lzma-3.2/squashfs3.2-r2/squashfs-tools/Makefile
mksquashfs: LDLIBS += -lpthread -lunlzma_r -llzma_r -lstdc++ -lm
http://blog.csdn.net/chaehom/article/details/7776047
错误2
uncomp.c:(.text+0x4b):对‘inflateReset’未定义的引用
uncomp.c:(.text+0x8c):对‘inflate’未定义的引用
uncomp.c:(.text+0x180):对‘zError’未定义的引用
/home/yondy/MTK7688_SDK/MediaTek_ApSoC_SDK_4300_20140916/RT288x_SDK/toolchain/mksquash_lzma-3.2/lzma443/C/7zip/Compress/LZMA_C/libunlzma.a(uncomp.o):在函数‘sqlzma_init’中:
uncomp.c:(.text+0x3a3):对‘inflateInit_’未定义的引用
collect2: error: ld returned exit status
make[]: *** [unsquashfs] 错误
make[]:正在离开目录 `/home/yondy/MTK7688_SDK/MediaTek_ApSoC_SDK_4300_20140916/RT288x_SDK/toolchain/mksquash_lzma-3.2/squashfs3.-r2/squashfs-tools'
make: *** [all] 错误
还是修改修改文件RT288x_SDK/toolchain/mksquash_lzma-3.2/squashfs3.2-r2/squashfs-tools/Makefile
在最后面增加-lz选项
unsquashfs: LDLIBS += -lunlzma -lz
编译完成以后,复制到opt下的相应目录
sudo cp ~/MTK7688_SDK/MediaTek_ApSoC_SDK_4300_20140916/RT288x_SDK/toolchain/mksquash_lzma-3.2/lzma443/C/7zip/Compress/LZMA_Alone/lzma_alone /opt/buildroot-gcc463/usr/bin/
source make报错
error while loading shared libraries: libz.so.: cannot open shared object file: No such file or directory
原因是缺少libz.so.1这个库,可以通过ubuntu的apt-file search查找对应的软件包
sudo apt-get install apt-file
之后更新
sudo apt-file update
然后就可以查找了
$ apt-file search libz.so.
lib32z1: /usr/lib32/libz.so.
lib32z1: /usr/lib32/libz.so.1.2.
libx32z1: /usr/libx32/libz.so.
libx32z1: /usr/libx32/libz.so.1.2.
zlib1g: /lib/x86_64-linux-gnu/libz.so.
zlib1g: /lib/x86_64-linux-gnu/libz.so.1.2.
选择安装lib32z1
sudo apt-get install lib32z1
错误
/home/yondy/MTK7688_SDK/MediaTek_ApSoC_SDK_4300_20140916/RT288x_SDK/source/vendors/Ralink/MT7628/mkimage: invalid entry point -n
make[]: *** [image] 错误
make[]:正在离开目录 `/home/yondy/MTK7688_SDK/MediaTek_ApSoC_SDK_4300_20140916/RT288x_SDK/source/vendors/Ralink/MT7628'
make[]: *** [image] 错误
make[]:正在离开目录 `/home/yondy/MTK7688_SDK/MediaTek_ApSoC_SDK_4300_20140916/RT288x_SDK/source/vendors'
make: *** [image] 错误
修改RT288x_SDK/source/vendors/Ralink/***/Makefile
ENTRY=`readelf -h $(ROOTDIR)/$(LINUXDIR)/vmlinux | grep "Entry" | awk '{print $$4}'` ; \
为
ENTRY=`readelf -h $(ROOTDIR)/$(LINUXDIR)/vmlinux | grep "入口点地址" | awk '{print $$2}'` ; \
主要原因是原始的编译脚本是英文环境下编写的,在中文的环境下,出现匹配异常
Entry Point: 0x8000C120
入口点地址:0x8000C120
http://www.oschina.net/question/1401799_178896
ubuntu 14.04 64位系统编译RT288x_SDK的更多相关文章
- 在ubuntu 14.04 64位系统上安装32位库
转自:http://www.enjoydiy.com/2937.html 有些软件还是依赖32位的库,但是64位的系统已经成为现在的主流.以前的ubuntu可以通过下面的命令安装: ...
- ubuntu 14.04 64位 下 编译安装MySQL 5.7.11
步骤一: 先去mysql的官方网站 去down 编译源码包 mysql 网址:www.mysql.com downloads (MySQL Community Server) 下载版本选择 sou ...
- ubuntu 14.04 64位安装iNodeClient
ubuntu 14.04 64位安装iNodeClieng(华三校园客服端) http://pan.baidu.com/s/12dpxk ubuntu 14.04 64bit Install H3C ...
- Go在Ubuntu 14.04 64位上的安装过程
1. 从 https://golang.org/dl/ 或 https://studygolang.com/dl 下载最新的发布版本go1.10即go1.10.linux-amd64.tar.gz ...
- Ubuntu 14.04(64位)+GTX970+CUDA8.0+Tensorflow配置 (双显卡NVIDIA+Intel集成显卡) ------本内容是长时间的积累,有时间再详细整理
(后面内容是本人初次玩GPU时,遇到很多坑的问题总结及尝试解决办法.由于买独立的GPU安装会涉及到设备的兼容问题,这里建议还是购买GPU一体机(比如https://item.jd.com/396477 ...
- ubuntu 14.04 64位安装bigbluebutton
BigBlueButton 是一个使用 ActionScript 开发的在线视频会议系统或者是远程教育系统,主要功能包括在线PPT演示.视频交流和语音交流,还可以进行文字交流.举手发言等功能,特别适合 ...
- Ubuntu 14.04 64位上安装wps office软件(转http://m.blog.csdn.net/blog/yhc13429826359/24179933)
废话少说,只给出方法供各位参考!wps for Linux版本已经有两三年没有大的动作,当然其他平台,比如windows,Android,ios上的wps效果还是很赞的说. 下面是我成功安装的步骤: ...
- Ubuntu 14.04 64位上安装wps office软件
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/tao_627/article/details/24179933 废话少说,仅仅给出方法供各位參考! ...
- Ubuntu 14.04 64位安装Android Studio 和 genymotion (下)
接上一篇,上回书说到,我们可以进android studio的编辑器了.感觉不错.挺好的,先不说genymotion,先看看你的android项目有没有r文件,项目有没有错误? 如果没有问题的话,下面 ...
随机推荐
- R语言实战读书笔记(二)创建数据集
2.2.2 矩阵 matrix(vector,nrow,ncol,byrow,dimnames,char_vector_rownames,char_vector_colnames) 其中: byrow ...
- (转载)C语言 数组与指针的区别
1) 字符串指针变量是个变量,指向字符串的首地址:而字符串数组名是个常量,为字符串数组第一个元素的地址: 2)字符串指针变量可以赋值,而字符串数组名不能赋值:对于字符数组只能对各个元素赋值,不能用以下 ...
- JProfiler 使用说明
一个全功能的 Java 剖析工具( profiler ),专用于分析 J2SE 和 J2EE 应用程序.它把 CPU .执行绪和内存的剖析组合在一个强大的 应用中. JProfiler 可提供许多 I ...
- erl_0013 erlang 带参数模块 parameterized modules are no longer supported
code: -module(mod_test, [Name]). -export([show/0]). show() -> io:format("show:~p~n",[Na ...
- swun 1766 我的悲剧不可能那么好数
解题思路: 一向提交特别慎重的我,这题竟然PE了5发左右,放了几天,再回来写,直接1A, 相当的自豪,而且是最优解题者.这题千万要注意,化繁为简,文章只包括大小 写字母和数字,还有空行. #inc ...
- Android如何获取系统高度、标题栏和状态栏高度
在android应用中,有时需要计算个View的位置,导致需要计算状态栏高度,标题栏高度等信息.为以后方便,在此做个简单记录. 晒代码前先了解一下android屏幕区域的划分,如下图(该图引用自此文h ...
- Android下监听Home键
网上看到demo,亲测了以下机器和设备,均测试通过: 测试通过的手机: 1.华为荣耀3(Android 4.2.2) 2.小米2s(Android 4.1.1) 3.联想的手机 (Android2.3 ...
- 大数据时代的技术hive:hive介绍
我最近研究了hive的相关技术,有点心得,这里和大家分享下. 首先我们要知道hive到底是做什么的.下面这几段文字很好的描述了hive的特性: 1.hive是基于Hadoop的一个数据仓库工具,可以将 ...
- Android Studio你不知道的调试技巧
写代码不可避免有Bug,通常情况下除了日志最直接的调试手段就是debug:那么你的调试技术停留在哪一阶段呢?仅仅是下个断点单步执行吗?或者你知道 Evaluate Expression, 知道条件断点 ...
- Arduino 软重启 软件reset
将12脚连接一个1K电阻,然后用电阻另一端连接RESET脚.注意不是12脚直接连接RESET!! 代码如下(要注意RESET脚为LOW时自动重启) #define PIN 12 void setup( ...