openwrt 在MAC OS X上编译失败

我的入门初步目标是:借助QEMU MIPS虚拟机,成功运行起MIPS架构的OPENWRT来。

我现有的环境是MAC OS X已编译好了QEMU虚拟机。原打算在MAC OS X中编译出OPENWRT的,但失败了。接下来,打算换到LINUX UBUNTU环境下编译OPENWRT.

下面记录下失败的经过:


环境介绍:

MAC OS X 10.9.5


思路:

1、安装QEMU作为虚拟机运行OPENWRT内核

2、下载openwrt源码,在MAC OS上交叉编译


步骤:

步骤1:

检查自己的MAC OS盘是否大小写不敏感

touch a

touch A

如果只有一个文件,那就是不敏感。

如果不敏感,需做步骤2.

步骤2:

用磁盘实用工具创建一个大小写敏感的、大小30G的映象文件openwrt.img,采用自动增长方式。 

分区挂到MAC OS X


安装SVN

sudo port install subversion



获取源码

svn co svn://svn.openwrt.org/openwrt/branches/backfire/ backfire


此时直接进行试一下make menuconfig 

会检查环境,下面是我的环境缺少的工具包:

sh-3.2# make menuconfig V=99

Checking 'working-make'... ok.

Checking 'case-sensitive-fs'... ok.

Checking 'getopt'... failed.

Checking 'fileutils'... failed.

Checking 'working-gcc'... ok.

Checking 'working-g++'... ok.

Checking 'ncurses'... ok.

Checking 'zlib'... ok.

Checking 'gawk'... failed.

Checking 'flex'... ok.

Checking 'unzip'... ok.

Checking 'bzip2'... ok.

Checking 'patch'... ok.

Checking 'perl'... ok.

Checking 'python'... ok.

Checking 'wget'... failed.

Checking 'gnutar'... failed.

Checking 'svn'... ok.

Checking 'gnu-find'... failed.

Checking 'getopt-extended'... ok.

Checking 'non-root'... failed.


Build dependency: Please install GNU getopt

Build dependency: Please install GNU fileutils

Build dependency: Please install GNU awk.

Build dependency: Please install wget.

Build dependency: Please install GNU tar.

Build dependency: Please install GNU find

Build dependency: Please do not compile as root.


Prerequisite check failed. Use FORCE=1 to override.

make: *** [tmp/.prereq-build] Error 1


解决方法:

GNU find 在findutils中,其他都好找,不愿一个一个试的话,直接拷贝下面的指令即可:

sudo port install coreutils asciidoc binutils bzip2 fastjar flex getopt gtk2 intltool jikes zlib openssl p5-extutils-makemaker python26 rsync ruby sdcc unzip gettext libxslt bison gawk autoconf wget gmake ncurses findutils



上述包安装后之后,编译出错。暂时没有解决:

make menuconfig V=99

make[1]: Entering directory `/Volumes/openwrt/backfire/scripts/config'

Undefined symbols for architecture x86_64:

  "_kconf_id_lookup", referenced from:

      _zconflex in zconf.tab.o

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

make[1]: *** [conf] Error 1

make[1]: Leaving directory `/Volumes/openwrt/backfire/scripts/config'

make: *** [scripts/config/mconf] Error 2




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值