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的更多相关文章

  1. 在ubuntu 14.04 64位系统上安装32位库

    转自:http://www.enjoydiy.com/2937.html 有些软件还是依赖32位的库,但是64位的系统已经成为现在的主流.以前的ubuntu可以通过下面的命令安装:           ...

  2. ubuntu 14.04 64位 下 编译安装MySQL 5.7.11

    步骤一: 先去mysql的官方网站 去down 编译源码包 mysql 网址:www.mysql.com downloads  (MySQL Community Server) 下载版本选择  sou ...

  3. ubuntu 14.04 64位安装iNodeClient

    ubuntu 14.04 64位安装iNodeClieng(华三校园客服端) http://pan.baidu.com/s/12dpxk ubuntu 14.04 64bit Install H3C ...

  4. Go在Ubuntu 14.04 64位上的安装过程

    1. 从 https://golang.org/dl/  或  https://studygolang.com/dl 下载最新的发布版本go1.10即go1.10.linux-amd64.tar.gz ...

  5. Ubuntu 14.04(64位)+GTX970+CUDA8.0+Tensorflow配置 (双显卡NVIDIA+Intel集成显卡) ------本内容是长时间的积累,有时间再详细整理

    (后面内容是本人初次玩GPU时,遇到很多坑的问题总结及尝试解决办法.由于买独立的GPU安装会涉及到设备的兼容问题,这里建议还是购买GPU一体机(比如https://item.jd.com/396477 ...

  6. ubuntu 14.04 64位安装bigbluebutton

    BigBlueButton 是一个使用 ActionScript 开发的在线视频会议系统或者是远程教育系统,主要功能包括在线PPT演示.视频交流和语音交流,还可以进行文字交流.举手发言等功能,特别适合 ...

  7. Ubuntu 14.04 64位上安装wps office软件(转http://m.blog.csdn.net/blog/yhc13429826359/24179933)

    废话少说,只给出方法供各位参考!wps for Linux版本已经有两三年没有大的动作,当然其他平台,比如windows,Android,ios上的wps效果还是很赞的说. 下面是我成功安装的步骤: ...

  8. Ubuntu 14.04 64位上安装wps office软件

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/tao_627/article/details/24179933 废话少说,仅仅给出方法供各位參考! ...

  9. Ubuntu 14.04 64位安装Android Studio 和 genymotion (下)

    接上一篇,上回书说到,我们可以进android studio的编辑器了.感觉不错.挺好的,先不说genymotion,先看看你的android项目有没有r文件,项目有没有错误? 如果没有问题的话,下面 ...

随机推荐

  1. R语言实战读书笔记(二)创建数据集

    2.2.2 矩阵 matrix(vector,nrow,ncol,byrow,dimnames,char_vector_rownames,char_vector_colnames) 其中: byrow ...

  2. (转载)C语言 数组与指针的区别

    1) 字符串指针变量是个变量,指向字符串的首地址:而字符串数组名是个常量,为字符串数组第一个元素的地址: 2)字符串指针变量可以赋值,而字符串数组名不能赋值:对于字符数组只能对各个元素赋值,不能用以下 ...

  3. JProfiler 使用说明

    一个全功能的 Java 剖析工具( profiler ),专用于分析 J2SE 和 J2EE 应用程序.它把 CPU .执行绪和内存的剖析组合在一个强大的 应用中. JProfiler 可提供许多 I ...

  4. erl_0013 erlang 带参数模块 parameterized modules are no longer supported

    code: -module(mod_test, [Name]). -export([show/0]). show() -> io:format("show:~p~n",[Na ...

  5. swun 1766 我的悲剧不可能那么好数

    解题思路: 一向提交特别慎重的我,这题竟然PE了5发左右,放了几天,再回来写,直接1A, 相当的自豪,而且是最优解题者.这题千万要注意,化繁为简,文章只包括大小   写字母和数字,还有空行. #inc ...

  6. Android如何获取系统高度、标题栏和状态栏高度

    在android应用中,有时需要计算个View的位置,导致需要计算状态栏高度,标题栏高度等信息.为以后方便,在此做个简单记录. 晒代码前先了解一下android屏幕区域的划分,如下图(该图引用自此文h ...

  7. Android下监听Home键

    网上看到demo,亲测了以下机器和设备,均测试通过: 测试通过的手机: 1.华为荣耀3(Android 4.2.2) 2.小米2s(Android 4.1.1) 3.联想的手机 (Android2.3 ...

  8. 大数据时代的技术hive:hive介绍

    我最近研究了hive的相关技术,有点心得,这里和大家分享下. 首先我们要知道hive到底是做什么的.下面这几段文字很好的描述了hive的特性: 1.hive是基于Hadoop的一个数据仓库工具,可以将 ...

  9. Android Studio你不知道的调试技巧

    写代码不可避免有Bug,通常情况下除了日志最直接的调试手段就是debug:那么你的调试技术停留在哪一阶段呢?仅仅是下个断点单步执行吗?或者你知道 Evaluate Expression, 知道条件断点 ...

  10. Arduino 软重启 软件reset

    将12脚连接一个1K电阻,然后用电阻另一端连接RESET脚.注意不是12脚直接连接RESET!! 代码如下(要注意RESET脚为LOW时自动重启) #define PIN 12 void setup( ...