我希望使用命令 curl & AIX框中的 xmllint 。为了使它们工作,我必须在 LIBPATH 变量中添加条目。但是,我似乎无法让他们一起工作。
当我的 var image = document.getElementById("uploaded-image");
image.className += "profile-pic";
, xmllint 工作正常时, curl 却没有。 curl_error
当我的 LIBPATH=/opt/freeware/lib64/:/opt/freeware/lib/:/usr/lib/
, curl 工作正常,但 xmllint 却没有。xmllint_error
有没有办法让他们一起工作?我错过了任何库导入吗?我对包安装步骤知之甚少,但我没有root访问权限。
我的$ PATH包含值LIBPATH=/opt/freeware/lib64/:/usr/lib
答案 0 :(得分:0)
在一个理想的世界中[意思是:如果链接发生在正确的-blibpath
和-bipath
选项],您可以取消设置LIBPATH
,一切都会有效。如果不是这样,您可以创建启动器脚本,例如:
cat /opt/freeware/bin/curl.sh
#!/bin/sh
export LIBPATH=<whatever_it_needs>
exec /opt/freeware/bin/curl
编辑:在解决问题之前,您应该使用dump -H -X32_64
检查二进制文件以找出它们的依赖关系(命令ldd
也很有用)。例如:
$ dump -H -X32_64 /usr/local/bin/curl
/usr/local/bin/curl:
INDEX PATH BASE MEMBER
0 /usr/local/lib:/usr/lib:/lib
1 /usr/local/lib libcrypto.so.1.0.2
2 /usr/local/lib libcurl.so.4
3 /usr/local/lib libgcc_s.a shr.o
4 /usr/local/lib libiconv.so.2
5 /usr/local/lib libidn.so.11
6 /usr/local/lib libintl.so.8
7 /usr/local/lib libssl.so.1.0.2
8 /usr/local/lib libz.so.1
9 /usr/local/lib libcpotlas.so.1
10 /usr/lib libpthreads.a shr_xpg5.o
11 /usr/lib libc.a shr.o
$ dump -H -X32_64 /usr/local/bin/xmllint
INDEX PATH BASE MEMBER
0 /usr/local/lib64:/usr/lib:/lib
1 /usr/local/lib64 libgcc_s.a shr.o
2 /usr/local/lib64 libiconv.so.2
3 /usr/local/lib64 liblzma.so.5
4 /usr/local/lib64 libxml2.so.2
5 /usr/local/lib64 libz.so.1
6 /usr/local/lib64 libcpotlas.so.1
7 /usr/lib libpthreads.a shr_xpg5_64.o
8 /usr/lib libc.a shr_64.o
在这些情况下,依赖项具有文件路径,因此根本不需要LIBPATH