OpenBTS build in TK1

1.uhd drivers: use official site binary install,
http://files.ettus.com/manual/page_install.html
直接使用这样的方法安装uhd的驱动后还会出现问题,提示rx_stream类没有issue_stream_cmd成员,tx_stream类没有recv_async_msg成员。此时去确认一下/usr/include目录下的uhd库的源代码,发现stream.hpp文件中缺失了一些成员的定义。这也许是版本的问题。
解决方法:在x86平台上安装uhd,然后将/usr/include/uhd目录下的stream.hpp文件拷贝出来,覆盖ARM7平台的相同文件。

2.dependence error:libuuid1 (= 2.20.1-5.1ubuntu20) but 2.20.1-5.1ubuntu20.1 is to be installed
https://gns3.com/discussions/cannot-compile-dynamips-to-gns3-
使用这样的指令:

sudo apt-get install libuuid1=2.20.1-5.1ubuntu20 

就可以了。

3.libzmq5 package problem: no libzmq5 package in Ubuntu 14.04, change ~/dev/build.sh use libzmq3 instead.

# zmq
installIfMissing libzmq3-dev
# changed by jm, libzmq5 cannot be installed in 14.04
#installIfMissing libzmq5
installIfMissing libzmq3
installIfMissing python-zmq

4.处理coredumper的问题。
4.1 openbts使用google-coredumper的库来支持coredump。但是,这个库在2008年的时候就停止维护了,通过查看相关源码,这个库只能支持x86, x64,ARM 3等体系架构,而TK1使用的ARM 7A是不支持的。如果想使用这个库,必须对google-coredumper进行相关的移植工作。这个工作的性价比并不高。

/* We currently only support x86-32, x86-64, ARM, MIPS, and PPC on Linux.
 * Porting to other related platforms should not be difficult.
 */
#if (defined(__i386__) || defined(__x86_64__) || defined(__ARM_ARCH_3__) ||   \
     defined(__mips__) || defined(__PPC__)) && defined(__linux)

4.2 所以,我们想办法将coredumper相关的代码从OpenBTS中剔除。要进行下面几个工作:
4.2.1 将OpenBTS中调用coredumper的代码注释掉。很幸运,这部分代码不多。

4.2.2 修改/dev/build.sh,把coredumper相关的编译命令去掉。

#jm: we cannot build libcoredumper because we donnot have a code in ARM7 ARCH.
#TODO: write the coredumper code that can be build in ARM7
#if [ "$COMPONENT" == "all" ] || [ "$COMPONENT" == "libcoredumper" ]; then
#   echo "# libcoredumper - building Debian package and installing as dependency"
#   sayAndDo cd libcoredumper
#   sayAndDo ./build.sh
#   sayAndDo mv libcoredumper* ../$BUILDNAME
#   sayAndDo cd ..
#   sayAndDo sudo dpkg -i $BUILDNAME/libcoredumper*.deb
#   echo "# - done"
#   echo
#fi

4.2.3 修改与coredumper相关的链接命令,主要修改各个CommonLibs文件夹下的Make.am文件。

5.安装boost库
boost库是必须的,在编译的时候会有依赖关系的需求。使用

apt-get install libboost-dev

安装boost库即可。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值