【问题标题】:How to force libtool to install 64-bit libraries for libffi in /lib instead of /lib64如何强制 libtool 在 /lib 而不是 /lib64 中为 libffi 安装 64 位库
【发布时间】:2017-11-23 18:39:31
【问题描述】:

我正在尝试在 SLES-11 docker 容器中编译 libffi 64 位。

configure 和 make 行非常简单:

./configure --prefix=/opt/<prog>/ --libdir=/opt/<prog>/lib
make 
make install

现在 libtool 决定像这样安装 .so:

/opt/<prog>/lib/../lib64/libffi.so

摆脱 ../lib64 部分的妙招是什么?

【问题讨论】:

    标签: libtool libffi


    【解决方案1】:

    发现问题。

    Libtool 不是问题。

    libffi 配置的神奇之处在于。它试图变得聪明并调用“gcc --print-multi-os-directory”并将其填充到 toolexeclibdir 中。

    似乎疯狂通常是从配置脚本中修补出来的,例如: https://github.com/chef/omnibus-software/blob/master/config/patches/libffi/libffi-3.2.1-disable-multi-os-directory.patch

    【讨论】:

      【解决方案2】:

      以下配置命令适用于我:

      configure --prefix=$PREFIX --libdir=$PREFIX/lib --disable-multi-os-directory
      

      【讨论】:

      • 提供更多细节和解释也许总是更好的参考。
      • 问题是关于在这种情况下禁用多操作系统目录的魔术。 ../lib64 来自 gcc --print-multi-os-directory 命令,可以从命令行禁用。默认是开启的,看起来有点奇怪。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      • 2020-04-19
      • 1970-01-01
      • 2015-12-20
      • 2019-01-24
      • 2013-03-04
      • 2012-01-07
      相关资源
      最近更新 更多