无法在solaris 10中解析curl的此依赖关系
我正在尝试在solaris 10上安装curl 我已经安装了curl包和其他依赖项,如下所示无法在solaris 10中解析curl的此依赖关系,curl,solaris,solaris-10,Curl,Solaris,Solaris 10,我正在尝试在solaris 10上安装curl 我已经安装了curl包和其他依赖项,如下所示 application SMCcurl curl application SMClgcc346 libgcc application SMClibidn libidn application SMCliconv libi
application SMCcurl curl
application SMClgcc346 libgcc
application SMClibidn libidn
application SMCliconv libiconv
application SMClintl libintl
application SMClssh2 libssh2
application SMCossl openssl
application SMCzlib zlib
当我尝试运行curl时,我得到的错误如下
/usr/local/bin # ./curl --version
ld.so.1: curl: fatal: libidn.so.11: version `LIBIDN_1.0' not found (required by file /usr/local/lib/libcurl.so.4)
ld.so.1: curl: fatal: libidn.so.11: open failed: No such file or directory
Killed
寻找它的解决方案,但没有运气
ldd curl
命令的输出为
libcurl.so.4 => /usr/local/lib/libcurl.so.4
libidn.so.11 => /usr/local/lib/libidn.so.11
libintl.so.8 => /usr/local/lib/libintl.so.8
libsec.so.1 => /usr/lib/libsec.so.1
libc.so.1 => /usr/lib/libc.so.1
libiconv.so.2 => /usr/local/lib/libiconv.so.2
libnsl.so.1 => /usr/lib/libnsl.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libssh2.so.1 => /usr/local/lib/libssh2.so.1
libssl.so.1.0.0 => /usr/local/ssl/lib/libssl.so.1.0.0
libcrypto.so.1.0.0 => /usr/local/ssl/lib/libcrypto.so.1.0.0
libsocket.so.1 => /usr/lib/libsocket.so.1
librt.so.1 => /usr/lib/librt.so.1
libz.so => /usr/local/lib/libz.so
libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1
libidn.so.11 (LIBIDN_1.0) => (version not found)
libavl.so.1 => /lib/libavl.so.1
libmp.so.2 => /lib/libmp.so.2
libmd.so.1 => /lib/libmd.so.1
libscf.so.1 => /lib/libscf.so.1
libaio.so.1 => /lib/libaio.so.1
libdoor.so.1 => /lib/libdoor.so.1
libuutil.so.1 => /lib/libuutil.so.1
libgen.so.1 => /lib/libgen.so.1
libm.so.2 => /lib/libm.so.2
/platform/SUNW,Netra-440/lib/libc_psr.so.1
/platform/SUNW,Netra-440/lib/libmd_psr.so.1
有人能告诉我如何解决这些依赖关系吗?您需要从包装商那里了解他们使用的定义该版本的libidn版本。您可以使用pvs命令查看库提供的版本,例如
pvs-d/usr/local/lib/libidn.so.11
您需要从打包程序中了解他们使用的定义该版本的libidn版本。您可以使用pvs命令查看库提供的版本,例如pvs-d/usr/local/lib/libidn.so.11
,这可能是因为您安装了另一个提供相同库文件不同版本的软件包。今天我遇到了同样的问题,发现我有一个名为SUNWgnu idn
的包,它在/usr/lib/
中安装了libidn.so.11
pvs-d/usr/lib/libidn.so.11
libidn.so.11;
libidn.so.11;
LIBIDN_1.0;
而libidn.so.11
是SMClibidn
包的一部分,是正确的版本
pvs-d/usr/local/lib/libidn.so.11
libidn.so.11;
libidn.so.11;
LIBIDN_1.0;
删除冲突包SUNWgnu idn
解决了该问题
您可以使用pkginfo
工具搜索其他已安装的软件包
pkginfo | grep idn
这可能是因为您安装了另一个包,该包提供同一库文件的不同版本。今天我遇到了同样的问题,发现我有一个名为
SUNWgnu idn
的包,它在/usr/lib/
中安装了libidn.so.11
pvs-d/usr/lib/libidn.so.11
libidn.so.11;
libidn.so.11;
LIBIDN_1.0;
而libidn.so.11
是SMClibidn
包的一部分,是正确的版本
pvs-d/usr/local/lib/libidn.so.11
libidn.so.11;
libidn.so.11;
LIBIDN_1.0;
删除冲突包SUNWgnu idn
解决了该问题
您可以使用pkginfo
工具搜索其他已安装的软件包
pkginfo | grep idn
我不知道这个问题是否解决了,但我在尝试lynx时发现,有两个库的名称几乎相似:
bash-3.2# ldd /usr/local/bin/lynx
libidn.so.11 => /usr/local/lib/libidn.so.11
libidn.so.11 (LIBIDN_1.0) => (version not found)
...
第一个libidn.so.11来自于“SMClibidn”包版本1.11,但不知道从哪里可以找到导致问题的版本:
-“libidn.so.11(libidn_1.0)=>(未找到版本)”
我尝试卸载“SMClibidn”的1.11版,并安装1.22版和“瞧”,lynx正在工作
我希望这也适用于您。我不知道这个问题是否已解决,但我在尝试lynx时发现,有两个库的名称几乎相似:
bash-3.2# ldd /usr/local/bin/lynx
libidn.so.11 => /usr/local/lib/libidn.so.11
libidn.so.11 (LIBIDN_1.0) => (version not found)
...
第一个libidn.so.11来自于“SMClibidn”包版本1.11,但不知道从哪里可以找到导致问题的版本:
-“libidn.so.11(libidn_1.0)=>(未找到版本)”
我尝试卸载“SMClibidn”的1.11版,并安装1.22版和“瞧”,lynx正在工作
我希望这也适用于您。问题是查找包SUNWgnu idn。UnixPackages中的wget首先在/usr/lib中找到libidn。因此,当您需要wget时,首先将LD_LIBRARY_路径设置为指定/usr/local/lib。问题在于查找包SUNWgnu idn。UnixPackages中的wget首先在/usr/lib中找到libidn。因此,当您需要wget时,首先将LD_LIBRARY_路径设置为指定/usr/local/lib。您必须安装“libidn-1.11-sol10-sparc-local” 您必须安装“libidn-1.11-sol10-sparc-local”
您是否考虑过,如果您不在Solaris 10上,这将变得容易得多。在Solaris 11上,您只需执行
pkg安装web/curl
即可!您是否考虑过,如果您不在Solaris 10上,这将变得容易得多。在Solaris 11上,您只需执行pkg安装web/curl
即可!