提问人:Dr. Timofey Prodanov 提问时间:7/19/2019 更新时间:7/19/2019 访问量:517
ld 在空环境中找不到 -lz,即使有 LIBRARY_PATH、LD_LIBRARY_PATH 和 LD_PRELOAD
ld cannot find -lz in an empty environment even with LIBRARY_PATH, LD_LIBRARY_PATH and LD_PRELOAD
问:
我正在尝试创建一个包,其中包含必须使用 .但是,当软件包正在构建时,即使我为其提供了任何可能的路径,也找不到。conda
c
-lz
ld
zlib
据我了解,创建几乎为空的环境,然后用必要的库和工具填充它。它还安装 ,因此有 in 和 in 。conda
zlib
zlib.h
$BUILD_PREFIX/include/
libz.so, libz.a
$BUILD_PREFIX/lib
编译本身看起来像
$BUILD_PREFIX/bin/x86_64-conda_cos6-linux-gnu-cc -fPIC -g -Wall -O2 -Wc++-compat main.o -o <name> -L. -l<name> -lm -lz -lpthread
x86_64-conda_cos6-linux-gnu-cc
是 ,它调用此处定义为 。然后出现错误。gcc version 7.3.0
ld
$BUILD_PREFIX/bin/x86_64-conda_cos6-linux-gnu-ld
ld
cannot find -lz
我试过使用
export C_INCLUDE_PATH="$BUILD_PREFIX/include"
export LIBRARY_PATH="$BUILD_PREFIX/lib"
export LD_LIBRARY_PATH="$BUILD_PREFIX/lib"
export LD_PRELOAD="$BUILD_PREFIX/lib/libz.so"
在任何组合中,但这不起作用。
有没有其他方法可以显示库的路径?ld
答: 暂无答案
评论
LD_*
-L
-L.
cd $BUILD_PREFIX/lib && ls -l libz*
libz.a
libz.so -> libz.so.1.2.11
libz.so.1 -> libz.so.1.2.11
libz.so.1.2.11