可以在RHEL 5.5上运行从src(带有gcc 4.8.5)编译的perl v5.28.0?

时间:2018-07-25 14:46:55

标签: perl gcc redhat rhel perl5

我的问题是,是否有可能从源代码中运行经过编译的perl 5.28.0(在CentOS 7上使用GCC 4.8.5)以便能够在GCC版本较低的RHEL 5.5(Tikanga)上使用其他的libs,glibc等也是如此。

我们的生产环境正在运行非常旧的perl版本(5.8.8),并且出于安全方面的考虑,它处于严重的锁定状态,即我们的大多数服务器都缺少make,gcc和相关工具,并且没有root用户可以访问任何人

我想知道是否可以使用GCC 4.8.5从源代码(即最新的5.28.0)编译perl,并尝试在我们的生产服务器(使用GCC 4.8.2)上使用此编译版本。

这将避免我因官僚主义缓慢而头疼,而且我可以使用新工具进行我的项目。

尚未找到有关此主题的任何讨论或提示。谁能阐明一些想法?

谢谢。

2天后更新:

似乎在RHEL7上编译的Perl 5.28在RHEL5.5上不起作用。您将必须在RHEL5.5上对其进行编译,并使其可重新定位以便在任何服务器上进一步使用。

所以我下载了RHEL 5.5和CentOS5.5 ISO并遇到了可引导的iso相关问题。

  1. 无法为rhel 5.5和centos5.5制作合适的可引导磁盘。

  2. rhel5.5 iso是单个dvd映像,在命令提示符下执行file rhel5.5.iso时,它显示为可引导。尝试了unebootin,红褐色的iso创建者,dd命令并创建了ISO,并一一尝试了所有的ISO,但无法显示启动菜单。在制作启动盘时尝试使用FAT,NTFS FS。现在卡在这里。

  3. Centos5.5 iso共有8个600mb文件。必须用它创建一个单一的iso映像,并找到一些在线过程来做它并制作了一个ISO文件。得到了启动菜单,看起来像它的工作。但是后来它挂断了进行某种形式的源媒体检查测试,因此无法继续进行。找到了一个与修复相关的文章,您将md5sum标记到了iso上,并且应该可以,但是没有。

现在在grokbase上发现了一些东西,它提到了一种新技术,可以使我从上面第3点提到的失败的角度出发。

3 个答案:

答案 0 :(得分:1)

编辑:static compilation绕过了您谨慎对待的问题。您需要确定结果是否适合您的预期目的。


否则,您将按照计划进行传统编译。如果libc太大不同,它将无法正常工作。您当然可以继续尝试,然后确定。

真正的解决方案是设置生产环境的副本(可以在虚拟机中)并在那里编译内容。

答案 1 :(得分:0)

您可以尝试使用ActiveState.com的PerlApp + ActivePerl(可能是Perl开发工具包PDK的一部分)。我已经使用了很多年了。它编译perl源代码,并将模块(也包括已编译的模块)包括在Windows上的.exe程序文件和Linux上的二进制可执行文件中。有付费版本和免费/演示版本。如果我没记错的话,付费版本允许交叉编译和更多版本的Perl。

在开发与生产计算机上使用不同版本的glibc / libc可能会遇到麻烦,因此请尝试在CentOS 5.5 Linux(免费)上使用PerlApp进行编译。 CentOS5.5与RHEL5.5类似,足以满足大多数项目的需要。祝你好运。

答案 2 :(得分:-1)

尝试perlbrew(是一种无管理员的Perl安装管理工具)