组件升级回顾
记录组件升级相关事宜
前言
c++组件升级
一、背景
drogenCloud上编译代码,需要升级第三方开源库组件。一开始啥也不懂。不知怎么下手。
以我现在对drogenCloud了解,就是一个执行编译的服务器。事实上,在linux上编译so也是执行drogenCloud的过程,当然是其中一部分,但是整体概念差不多。
一开始的时候我还看代码仓有windows和linux两个文件夹。我要对开源代码升级,就为难了。我还以为有所有的开源代码都有对应linux和windows两套代码。
对此还专门打电话问了斐飞,他说他也不知道。
现在我就懂了,其实知识一套开源代码,至于为什么有linux和windows两个文件夹。对比代码
代码还是有区别的。至于怎么处理的,我猜测大概可能因为windows和linux对于同一代码需要适配,做的修改吧。
先不管这个了。
然后就是删除代码仓c++开源片段代码的事情。我一开始觉得可以直接删除的,因为毕竟git开源仓什么都能下载到,心哥当时疑问头文件也能删吗。我当时就觉得可以,毕竟源码都是从代码仓下载的。但是后来大删特删的时候,drogenCloud编译的时候出错了。我这时候又开始觉得心哥是对的,头文件是不能删除的。
研究了一下脚本文件,突然发现虽然头文件被我删了,但是可以将下载下来的头文件按照之前的拷贝一份啊。所干就干。自己在脚本里增加代码。
#!/bin/bash
PREFIX_INC_PATH=$(cd "$(dirname "$0")";pwd)
#tar xzvf zlib-1.2.11.tar.gz
#git clone -b v1.2.11 https://github.com/luvit/zlib
chmod -R 777 zlib
rm -rf ../include
mkdir ../include
cp ./zlib/zconf.h ./zlib/zlib.h ../include
mkdir install
cd zlib
export CFLAGS="-O3 -fPIE -fPIC"
./configure --prefix=$PREFIX_INC_PATH/install -static
make
make install
rm -rf $PREFIX_INC_PATH/../include $PREFIX_INC_PATH/../lib
mkdir -p $PREFIX_INC_PATH/../lib/linux
cp -rf $PREFIX_INC_PATH/install/include $PREFIX_INC_PATH/../
cp -rf $PREFIX_INC_PATH/install/lib/libz.a $PREFIX_INC_PATH/../lib/linux/libz.a
rm -rf $PREFIX_INC_PATH/install
rm -rf $PREFIX_INC_PATH/zlib
增加了拷贝到流程。上传执行drogenCloud执行,发现有问题。于是有开始思考这件事情。研究脚本时突然发现。
?
所以一开始纠结不能懂的其实也不难啊!
于是就要重新处理问题。
将脚本又改了一下,计划将源码拷贝进服务器执行一下脚本,验证实际脚本执行后情况。这也是一种不错的方法。复杂问题简单化,抽象问题具象化。
由此我又联想到,其实对于studio_wrapper编译so的时候。一开始困于没有网络,各种工具都要离线安装,其实也可在在有网的服务器编好第三方库静态文件,也可以的。当然还是直接在本身服务器编号好呀!
报错:
build_3rd.sh: line 3: $'\r': command not found
解决办法
[root@ncn4a-mapopenservice-34-12-242 build]# yum -y install dos2unix
Last metadata expiration check: 5 days, 9:34:25 ago on Thu 07 Dec 2023 10:35:45 AM CST.
Package dos2unix-7.4.0-5.h1.eulerosv2r8.aarch64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
[root@ncn4a-mapopenservice-34-12-242 build]# dos2unix build_3rd.sh
dos2unix: converting file build_3rd.sh to Unix format...
[root@ncn4a-mapopenservice-34-12-242 build]# chmod 755 build_3rd.sh
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!