我正在试图弄清楚如何编译coreutils 8.20(特别是排序)并让它使用我的64位库而不是32位库。
我的32位库位于:/ lib
我的64位库位于:/ lib / 64
我将LD_LIBRARY_PATH设置为/ lib / 64,但它仍然从/ lib加载库,而且配置脚本的所有命令行选项似乎都没有我需要的。
#>: ldd ./src/sort
libgen.so.1 => /lib/libgen.so.1
librt.so.1 => /lib/librt.so.1
libc.so.1 => /lib/libc.so.1
libaio.so.1 => /lib/libaio.so.1
libmd.so.1 => /lib/libmd.so.1
libm.so.2 => /lib/libm.so.2
/platform/SUNW,Sun-Fire-V890/lib/libc_psr.so.1
/platform/SUNW,Sun-Fire-V890/lib/libmd_psr.so.1
#>: echo $LD_LIBRARY_PATH
/lib/64
当我在先前安装的sort(来自coreutils 8.9)上运行ldd时,它正在使用64位库:
#>: ldd ./sort
librt.so.1 => /lib/64/librt.so.1
libc.so.1 => /lib/64/libc.so.1
libaio.so.1 => /lib/64/libaio.so.1
libmd.so.1 => /lib/64/libmd.so.1
libm.so.2 => /lib/64/libm.so.2
/platform/SUNW,Sun-Fire-V890/lib/sparcv9/libc_psr.so.1
/platform/SUNW,Sun-Fire-V890/lib/sparcv9/libmd_psr.so.1
系统信息: SunOS 5.10 Generic_147440-26 sun4u sparc SUNW,Sun-Fire-V890
任何建议都将受到赞赏。
答案 0 :(得分:0)
显然我需要将environment / makefile变量设置为“-m64”
./configure --prefix "<ouput_dir>" CXXFLAGS="-m64" CFLAGS="-m64" LDFLAGS="-m64"
我认为Sagar Srivastava在我以前的搜索未找到的帖子中给出答案: How to use "make" to use 64 bit libs because of ELFCLASS64 error