版本号介绍
- 板子型号:imx6ull
- 系统环境:ubuntu 18.04
- linux-arm:Linux-4.9.88
- libuuid:libuuid-1.0.3
- openssl:openssl-1.1.1a
- mosquitto:mosquitto-1.6.9
准备好三个源码包
- libuuid下载地址:sourceforge.net/projects/li…
- openssl下载地址:www.openssl.org/source/old/…
- mosquitto下载地址:mosquitto.org/files/
- 在/home/book下新建mosquitto目录,把三个源码包分别放入mosquitto/uuid、mosquitto/openssl、mosquitto/mosquitto目录下
编译安装libuuid-1.0.3
- 进入mosquitto/uuid目录
- 解压文件:tar zxf libuuid-1.0.3.tar.gz
- 进入libuuid-1.0.3目录
- 配置安装位置
./configure --prefix=/home/book/mosquitto/uuid/libuuid-1.0.3/install --host=arm-linux CC=arm-buildroot-linux-gnueabihf-gcc
- make
- make install
- 生成以下文件即编译成功
编译安装openssl-1.1.1a
- 进入mosquitto/openssl目录
- 解压文件:tar zxf openssl-1.1.1a.tar.gz
- 进入openssl-1.1.1a目录
- 配置安装位置
./config no-asm -shared --prefix=`pwd`/install
如果输出:
换下面这条命令执行
./Configure --prefix=`pwd`/output shared no-asm linux-armv4
输出结果如下,即成功
5. 修改Makefile 对于这个版本的openssl修改
PLATFORM=linux-armv4
CROSS_COMPILE=arm-linux-gnueabihf-
- make
- make install
出现以下文件即安装成功
编译安装mosquitto
- 进入mosquitto/mosquitto目录
- 解压文件:tar zxf mosquitto-1.6.9.tar.gz
- 进入mosquitto-1.6.9目录
vi config.mk修改配置文件
CFLAGS:=-I/home/book/mosquitto/openssl/openssl-1.1.1a/install/include -I/home/book/mosquitto/uuid/libuuid-1.0.3/install/include
LDFLAGS=-L/home/book/mosquitto/openssl/openssl-1.1.1a/install/lib -lm -ldl -lssl -lcrypto -L/home/book/mosquitto/uuid/libuuid-1.0.3/install/lib -luuid -lrt
LIB_LIBS:=
PASSWD_LIBS:=
BROKER_LIBS = -L/home/book/mosquitto/openssl/openssl-1.1.1a/install/lib -lm -ldl -lssl -lcrypto -L/home/book/mosquitto/uuid/libuuid-1.0.3/install/lib -luuid
PASSWD_LIBS = -L/home/book/mosquitto/openssl/openssl-1.1.1a/install/lib -lssl -lcrypto
LIB_LIBS = /home/book/mosquitto/openssl/openssl-1.1.1a/install/lib -lssl -lcrypto
BROKER_LIBS = -L/home/book/mosquitto/openssl/openssl-1.1.1a/install/lib -lm -ldl -lssl -lcrypto -L/home/book/mosquitto/uuid/libuuid-1.0.3/install/lib -luuid
PASSWD_LIBS = -L/home/book/mosquitto/openssl/openssl-1.1.1a/install/lib -lssl -lcrypto`
LIB_LIBS = /home/book/mosquitto/openssl/openssl-1.1.1a/install/lib -lssl -lcrypto
5. 配置环境变量
export DESTDIR=/home/book/mosquitto/openssl/openssl-1.1.1a/install
- make
- make install
将编译生成的uuid、openssl、mosquitto库移植
- 使用nfs挂载文件(参考链接)juejin.cn/post/734313…
- mosquitto的搬运
首先在 /usr 目录下建立 mqtt 文件夹
cp /mnt/mosquitto/mosquitto-1.6.9/install/usr/local/bin /usr/mqtt/ -arf
cp /mnt/mosquitto/mosquitto-1.6.9/install/usr/local/include /usr/mqtt/ -arf
cp /mnt/mosquitto/mosquitto-1.6.9/install/usr/local/lib /usr/mqtt/ -arf
cp /mnt/mosquitto/mosquitto-1.6.9/install/usr/local/sbin /usr/mqtt/ -arf
cp /mnt/mosquitto/mosquitto-1.6.9/install/usr/local/share /usr/mqtt/ -arf
注意:一定要加 -arf 因为存在链接文件,如果没有 -a 将会将软链接文件拷贝成实体文件 将失去原有的效果
3. openssl的搬运
建立ssl文件夹sudo mkdir ssl
cp /mnt/openssl/openssl-1.1.1a/install/bin /usr/ssl/ -arf
cp /mnt/openssl/openssl-1.1.1a/install/lib /usr/ssl/ -arf
cp /mnt/openssl/openssl-1.1.1a/install/ssl /usr/ssl/ -arf
- ibuuid的搬运
在 /usr 建立uuid文件夹
sudo cp /mnt/uuid/uuid/libuuid-1.0.3/install/lib /usr/uuid/ -arf
移植成功后配置开发板环境变量
1. vi /etc/profile
添加一下内容
#mqtt start
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/ssl/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/uuid/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/mqtt/lib
export PATH=$PATH:/usr/ssl/bin
export PATH=$PATH:/usr/mqtt/bin
export PATH=$PATH:/usr/mqtt/sbin
#mqtt end
source /etc/profile使其配置生效
测试
mosquitto_pub -h ip地址 -t temp -m "hello"
mosquitto_sub -h ip地址 -t temp