-1

我试图弄清楚如何编译 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

任何意见,将不胜感激。

4

1 回答 1

0

显然我需要将环境/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

于 2013-03-07T15:40:54.080 回答