声明:原创作品,严禁用于商业目的。 如有任何技术问题,欢迎和我交流:19826269205(微信同号)。
文章目录
1. easycwmp源码编译和测试(X86平台)
环境:
linux系统:Ubuntu 18.04
CPE:easycwmp-1.8.6.tar.gz
ACS: 华为ITMS测试版
安装EasyCwmp所需要的依赖:若安装过程提示找不到安装包,请到更新Ubuntu源。
sudo apt-get install git cmake autoconf
1.1 配置我们将要使用的USER和GROUP变量:
UUSER=yy
GROUP=yy
1.2. 创建目录
sudo mkdir -p /opt/{
dev,git}
sudo chown -R $USER:$GROUP /opt/{
dev,git}
1.3. 安装curl
sudo apt install libcurl4-openssl-dev
您的发行版应该已经包含curl开发包。可以直接使用。
注意:如果使用SSL软件包依赖关系来构建libcurl,则建议使用OpenSSL进行构建,因为EasyCwmp主要是使用OpenSSL与libcurl一起测试的。
如果使用PolarSSL构建libcurl,则无法使用ACS服务器进行摘要身份验证。
1.4 安装json-c
下载json:
git clone git://github.com/json-c/json-c.git /opt/git/json-c
因为出现错误:fatal: read error: Connection reset by peer
把git换成http即可。
git clone http://github.com/json-c/json-c.git /opt/git/json-c
cd /opt/git/json-c/
生成配置文件:
mkdir build
cd build
cmake ../CMakeLists.txt
../cmake-configure --prefix=/usr
编译
cd ..
make
sudo make install
sudo ln -sf /usr/include/json-c /usr/include/json
1.5.安装libubox
下载libubox:
git clone git://nbd.name/luci2/libubox.git /opt/git/libubox
或者命令
git clone http://git.nbd.name/luci2/libubox.git libubox
cd /opt/git/libubox/
安装依赖工具cmake:
sudo apt install cmake
配置编译
cmake CMakeLists.txt -DBUILD_LUA=OFF
make
libubox在make时,报错:
/opt/git/libubox/blobmsg_json.c:78:6: error: implicit declaration of function ‘is_error’;
/opt/git/libubox/jshn.c:162:6: error: implicit declaration of function ‘is_error’;
需要在对应C文件中添加
#define is_error(ptr) (ptr == NULL)
宏定义重新编译
安装:
sudo make install
sudo ln -sf /usr/local/lib/libubox.so /usr/lib/libubox.so
sudo mkdir -p /usr/share/libubox
sudo ln -sf /usr/local/share/libubox