忙碌的libmount

忙碌的libmount

之前遇到libmount格式不争取的问题,今天再整理一下

会遇到libmount.so格式不正确的问题,说我们之前安装的是x86版本的。
所以需要重新编译个arm版本的。

官方下载util-linux源文件

http://ftp.ntu.edu.tw/pub/linux/utils/util-linux/v2.32/

交叉编译

./configure CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ --prefix=/home/william/gstreamer/libmount/util-linux-2.32/install --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf 

但是,又遇到了automake不对的问题

执行:

aclocal
automake

再次进行编译,遇到了python不是交叉编译的问题,所以继续下载python,然后安装python3.6

https://www.python.org/downloads/source/ 下载3.6.9的source
xz-d *
tar xvf xxx.tar -C /xxx/xxx

编译

./configure CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ --host=arm-linux-gnueabihf --build=x86_64-linux --prefix=$(pwd)/install ac_cv_file__dev_ptc=no ac_cv_file__dev_ptmx=no --disable-ipv6

make
make install

虽然最后会报错pip错误,但是请忽略之。

接着回到libmount的编译。在此之前,运行如下语句

./configure --prefix=/home/william/gstreamer/libmount/util-linux-2.32/install  --host=arm-linux-gnueabihf   --target=arm-linux-gnueabihf LDFLAGS="-L/home/william/gstreamer/Python-3.6.9/install/lib" CPPFLAGS="-I/home/william/gstreamer/Python-3.6.9/install/include"

会遇到
arm-linux-gnueabihf/python3.6m/pyconfig.h: No such file or directory错误。
这个错误,挺难的。

要把刚才Python-3.6.9/install/include下的python3.6m拷贝一份到
/usr/include/arm-linux-gnueabihf/python3.6m!
然后根据google上面说的,要在CPPFLAGS中把-I/usr/include/arm-linux-gnueabihf/python3.6m加上。

所以才有了最终可以编译运行的脚本:

./configure CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ --prefix=$(pwd)/install --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf  LDFLAGS="-L/home/william/gstreamer/Python-3.6.9/install/lib" CPPFLAGS="-I/home/william/gstreamer/Python-3.6.9/install/include  -I/usr/include/arm-linux-gnueabihf/python3.6m" 

之后make &make install , install最后可能还有有问题,但没啥关系了。

主要是sudo apt-get source libmount-dev有很多内容,我们只需要libmout.so为目标平台格式的即可。
通过file xxx.so文件可以查看。所以,可以忽略别的错误。

网络上还有说,如果LD的时候遇到错误,那么把刚才编译出来的python3.6软连接到系统中。
sudo ln -s /home/william/gstreamer/Python-3.6.9/install/bin/python3.6 python

本例,没有遇到这个情况

现在可以继续回归到之前glib编译了。
打算直接cp过去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值