组件升级回顾

2023-12-13 10:30:15

记录组件升级相关事宜

文章目录


前言

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提供了大量能使我们快速便捷地处理数据的函数和方法。

文章来源:https://blog.csdn.net/2301_77560238/article/details/134956977
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。