配置coreutils时如何指定lib目录

时间:2013-03-06 20:54:38

标签: gcc compilation gnu-coreutils

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

任何建议都将受到赞赏。

1 个答案:

答案 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