以前,Posterre 10的二进制文件可以从该网站下载,它们可以在任何Linux上工作。我需要以同样的方式为Posterre 15构建二进制文件,以便它们可以在任何发行版上工作。
cd /home/username/postgres-15/build_postgres
../configure --prefix=/home/username/postgres-15/install
make
make install
字符串
我试着在Ubuntu 16中构建,但在Centos 7中不工作。我尝试在Centos 7中构建,它在Ubuntu 16中工作,但现在在Ubuntu 22中不工作(加载共享库时出错:第二部分:无法打开共享对象文件:无此文件或目录)。
有没有可能做一个通用的装配体?
1条答案
按热度按时间nx7onnlm1#
当涉及到共享库时,构建“通用二进制文件”实际上是不可能的,因为不同的发行版(和发行版版本)可能有不兼容的库版本(正如您在问题中看到的
libldap
)。您最好的选择是创建一个包含二进制文件和任何必要库的自包含软件包。这将在 * 许多 * 情况下起作用。
最简单的解决方案是在容器中运行服务,因为这使您可以完全控制服务可见的运行时环境。我可以在CentOS 7、Fedora 38、Ubuntu 22等平台上运行
docker run -d -e POSTGRES_PASSWORD=secret postgres:15
。如果您选择此选项,则工作已经为您完成;您可以使用官方的postgres
映像。容器的替代方案可能是类似AppImage的东西,这是一种专门为解决您遇到的问题而创建的分发格式。我自己从来没有开发过一个应用程序映像,所以我真的不能评论它的易用性。
我只会使用官方的
postgres
容器,并完成它。