卷曲和xmllint在AIX上
问题描述:
一起工作我想通过AIX机器上使用的命令卷曲 & xmllint。为了使它们工作,我不得不将条目添加到我的LIBPATH变量中。但是,我似乎无法让他们一起工作。卷曲和xmllint在AIX上
当我LIBPATH=/opt/freeware/lib64/:/opt/freeware/lib/:/usr/lib/
,xmllint工作正常,但卷曲没有。 curl_error
当我LIBPATH=/opt/freeware/lib64/:/usr/lib
,卷曲工作正常,但xmllint没有。 xmllint_error
有没有办法让他们一起工作?我是否缺少任何库导入?尽管我没有太多有关软件包安装步骤的知识,但我没有root权限。
我的$ PATH包含值/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java5/jre/bin:/usr/java5/bin
答
在一个理想的世界[指:当配合使用了正确的-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,建议将只是命令之前清除LIBPATH>设置新的LIBPATH和执行命令?但是,我试图创建一个shell脚本,它将使用curl进行web服务调用,同时使用xmllint命令解析响应。那么他们没有任何办法可以使用单个环境导入工作?但为了让你知道,这对Linux和Cygwin有用。 – Niranjan
编辑我的答案。此外,我开始写一些关于在Linux链接:http://web.axelero.hu/lzsiga/aix-linking.html –
非常感谢Lorinczy的帮助。我确实使用了ldd,但是后来我的Unix管理员做了一些修改以使其运行。一旦我得到所做的更改,就会发布解决方案。太低的代表给公众最多投票:( – Niranjan