如何从源代码编译并重新打包成二进制文件以供分发?

如何从源代码编译并重新打包成二进制文件以供分发?

目前我已经从源代码编译并安装了 GDAL3.0.4 库,这还需要我编译并安装 Proj6.0.0。效果很好。

所以我的下一部分是,我需要打包可执行文件(可能是二进制文件),以便我可以将其安装在其他服务器中,而无需再次从源代码进行编译。

我对此真的很陌生。所以我尝试抬起并移动整个文件夹,将其压缩并将其移动到另一台服务器中,并尝试sudo make install在新服务器中进行GDAL。它似乎有效,但我gdalinfo: error while loading shared libraries: libproj.so.15: cannot open shared object file: No such file or directory在调用 gdalinfo 命令时遇到错误。这导致我为 proj6 做 samw。但现在,由于 g++ 不可用,我不得不对 proj6 执行相同的操作。

我正在 redhat7.7 上运行,该服务器在此服务器中禁用了存储库。

我目前的方法可能完全错误,希望得到一些建议。最终目标是打包一个 gdal 版本以安装在其他服务器上,而无需从源代码编译它。

编辑:所以我发现我可以通过 rpm 构建它,所以我需要为此编写自己的规范文件?

答案1

我总是建议阅读RPM 封装指南给那些开始打包 rpm 的人。

我建议安装“rpmdevtools”包来开始使用 rpm 规范文件。该指南还提供了几个可供使用的示例规范文件。该rpmdev-newspec命令可以从模板(python、Perl、库等)创建多种类型的包。

获得规范文件后,您可以使用多种工具来构建包。我更喜欢这个mock命令,因为它在 chrooted 构建过程中构建所有内容,因此您不必担心污染您的构建系统,也不必让您的构建系统污染打包过程。它还允许您构建其他版本,因此我可以在我的 Fedora 系统上构建 RHEL 软件包。

相关内容