如何强制 libtool 在 /lib 而不是 /lib64 中为 libffi 安装 64 位库

How to force libtool to install 64-bit libraries for libffi in /lib instead of /lib64

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

配置和制作行非常简单:

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

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

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

摆脱 ../lib64 部分的魔术是什么?

找到问题。

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

以下配置命令对我有用:

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