【问题标题】:Using perlbrew is it possible to do multiple installs by architecture?使用 perlbrew 是否可以按架构进行多次安装?
【发布时间】:2012-10-06 09:17:48
【问题描述】:

我希望能够安装多个版本的 Perl,但我也需要按体系结构安装它们。

我知道我可以使用 perlbrew 按版本进行安装:5.10.1、5.12.3、5.16.0 等。我找不到按体系结构、Solaris-sparc、Solaris- 进行安装的方法x86、Linux-i686、Linux-x86_64等

做一个hand install我可以做到这一点

手动安装没什么大不了的,但 perlbrew 让管理等方面的一些事情变得更容易。

编辑: 在 cmets 中,我使用的是安装在各种平台上的通用主目录 NFS。

【问题讨论】:

  • 你想做什么?在 linux-x86_64 上安装 solaris-sparc 版本?这对你有什么帮助?
  • 我有一个通过 NFS 挂载的公共主目录。当我登录到 Solaris 主机时,我得到perl: Cannot find /lib64/ld-linux-x86-64.so.2。正如 hobbs 建议的那样,我可以使用 --as 为其创建一个名称,并在我 ssh 进入主机时让我的 shell 配置切换到正确的 Perl。

标签: perl architecture multiple-versions perlbrew


【解决方案1】:

您可以使用--as 选项到perlbrew install 为安装指定不同的名称(以避免与相同版本冲突),您可以传递任何Configure -D-U 或@ 987654326@ 选项到perlbrew,它将通过它们。但我也看不出在 perlbrew 的上下文中,不同拱门的 perl 是如何有用的。

下面是使用 perlbrew 在实际 64 位机器上安装 32 位 perl 的示例:

perlbrew install perl-5.8.8 --as perl-5.8.8-i386-linux-thread-multi -Dcc='cc -m32' -Dplibpth='/lib64 /usr/lib64 /usr/lib/ /usr/lib/x86_64-linux-gnu/' -Darchname=i386-linux-thread-multi -Dusethreads

通过-D 传递给Configure 的标志会因环境和特定需求而异。

【讨论】:

  • 我的主机是Linux x86_64位。但是,我也使用 Solaris 主机。当我 ssh 进入它们时,我得到:perl: Cannot find /lib64/ld-linux-x86-64.so.2。据我所知,这是因为我的默认 Perl 安装是在 Linux 上编译的。感谢您的信息,我会试一试。
  • 从 Solaris 安装 Solaris 版本,从 Linux 安装 Linux 版本。这可能没有交叉编译那么痛苦。而且您必须确保切换到您的平台支持的 perl 版本。
  • 还有一点:模块不会在不同的平台上共享,因为不同的版本使用不同的 lib 目录。纯 Perl 模块可能是可共享的,但任何需要编译的东西(XS、Swig、Inline::C*)都不能跨平台工作。
  • @mugen 因为模块将安装在 perlbrews 中,所以这不是问题。我想我现在看到了这里发生的事情(共享主目录),只要您只尝试从每台机器上的适当拱门“perlbrew 使用”perls,它可能会正常工作:)
  • 我知道。我只是想指出这一点,以防止聪明的变通办法导致另一个问题:)
猜你喜欢
  • 1970-01-01
  • 2011-07-16
  • 1970-01-01
  • 2015-06-08
  • 1970-01-01
  • 2023-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多