如何强制 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
我正在尝试在 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