安照readme重新打包deb,已安装了libsodium.so.18.1.1但还是提示dpkg-shlibdeps: error: no dependency information found for /usr/lib/libsodium.so.18。
请问怎么解决。
make[1]: Leaving directory '/root/ss/shadowsocks-libev'
dh_installman
dh_systemd_enable
dh_installinit
dh_systemd_start
dh_perl
dh_link
dh_strip_nondeterminism
dh_compress
dh_fixperms
dh_strip
dh_makeshlibs
dh_shlibdeps
dpkg-shlibdeps: error: no dependency information found for /usr/lib/libsodium.so.18 (used by debian/shadowsocks-libev/usr/bin/ss-redir)
Hint: check if the library actually comes from a package.
dh_shlibdeps: dpkg-shlibdeps -Tdebian/shadowsocks-libev.substvars debian/shadowsocks-libev/usr/bin/ss-server debian/shadowsocks-libev/usr/bin/ss-manager debian/shadowsocks-libev/usr/bin/ss-redir debian/shadowsocks-libev/usr/bin/ss-tunnel debian/shadowsocks-libev/usr/bin/ss-local returned exit code 2
debian/rules:27: recipe for target 'binary' failed
make: * [binary] Error 2
dpkg-buildpackage: error: debian/rules binary gave error exit status 2
root@eth:~/ss/shadowsocks-libev# ls /usr/lib/libsodium.so.18 -l
lrwxrwxrwx 1 root root 19 Feb 3 22:20 /usr/lib/libsodium.so.18 -> libsodium.so.18.1.1
root@eth:~/ss/shadowsocks-libev# ls /usr/lib/libsodium.so.18.1.1 -l
-rwxr-xr-x 1 root root 2390736 Feb 3 22:20 /usr/lib/libsodium.so.18.1.1
If you insist on building from source, you will need to manually install libsodium from jessie-backports, NOT libsodium in main repository.
运行 sudo apt-get -t jessie-backports install libsodium 安装。
你是怎么安装的?
@hellofwy 用 apt -t jessie-backports install 命令和说明里编译安装方式都试过报一样的错。
刚又试了一下,后重新编译libsodium-dev后打包报:
dpkg-shlibdeps: error: no dependency information found for /usr/lib/libmbedcrypto.so.0 (used by debian/shadowsocks-libev/usr/bin/ss-local)
root@hus:~/ss/shadowsocks-libev# ls /usr/lib/libmbedcrypto.so.0 -l
-rwxr-xr-x 1 root root 449320 Feb 19 05:12 /usr/lib/libmbedcrypto.so.0
安装 libmbedtls:
sudo apt-get -t jessie-backports install libmbedtls
@hellofwy
root@eth:~/ss/shadowsocks-libev# sudo apt-get -t jessie-backports install libmbedtls
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libmbedtls
Sorry it's libmbedtls-dev:
sudo apt-get -t jessie-backports install libmbedtls-dev
已经是最新的了
2017年2月19日 19:15,"hellofwy" notifications@github.com写道:
Sorry it's libmbedtls-dev:
sudo apt-get -t jessie-backports install libmbedtls-dev—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/shadowsocks/shadowsocks-libev/issues/1276#issuecomment-280912246,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC11t3HtvA842NzECMj4xzEDD9RcAgrvks5reCRbgaJpZM4MFaC3
.
那如果可以,删除 shadowsocks-libev 文件夹,重新下载代码,重新编译一遍试试吧。
我前几天按照 README 安装,中间分别提示缺 libsodium 和 libmbedtls , 装了后就成功了。
刚才git pull 有代码更新,不知是不是在修改什么。
谢谢你,有空再试下。
2017年2月19日 19:40,"hellofwy" notifications@github.com写道:
那如果可以,删除 shadowsocks-libev 文件夹,重新下载代码,重新编译一遍试试吧。
我前几天按照 README 安装,中间分别提示缺 libsodium 和 libmbedtls , 装了后就成功了。—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/shadowsocks/shadowsocks-libev/issues/1276#issuecomment-280913562,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC11t9vsGqkgYv7J33WmUza1hAZOT3lXks5reCo1gaJpZM4MFaC3
.
下载gz 文件解压后直接dpkg-buildpackage -b -us -uc -d 可以生成.deb
git 下来的按readme 或直接 dpkg-buildpackage 都要报dpkg-shlibdeps: error: no dependency information found for /usr/lib/libsodium.so.18
尝试在编译完 libsodium 后调用一下 ldconfig?
@lxlslz 试了一下,还是dpkg-shlibdeps: error: no dependency information found for /usr/lib/libsodium.so.18 (used by debian/shadowsocks-libev/usr/bin/ss-server)
Hint: check if the library actually comes from a package.
试试最新添加的自动编译脚本:https://github.com/shadowsocks/shadowsocks-libev/blob/master/scripts/build_deb.sh
如果还是不行,考虑重新装系统,避免中间误操作对后续编译的影响。
@hellofwy 脚本一样报错。
......
dh_shlibdeps
dpkg-shlibdeps: error: no dependency information found for /usr/lib/libsodium.so.18 (used by debian/shadowsocks-libev/usr/bin/ss-local)
Hint: check if the library actually comes from a package.
dh_shlibdeps: dpkg-shlibdeps -Tdebian/shadowsocks-libev.substvars debian/shadowsocks-libev/usr/bin/ss-local debian/shadowsocks-libev/usr/bin/ss-redir debian/shadowsocks-libev/usr/bin/ss-server debian/shadowsocks-libev/usr/bin/ss-manager debian/shadowsocks-libev/usr/bin/ss-tunnel returned exit code 2
debian/rules:32: recipe for target 'binary' failed
make: * [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
debuild: fatal error at line 1376:
dpkg-buildpackage -rfakeroot -D -us -uc -i -I failed
gbp:error: 'debuild -i -I -us -uc' failed: it exited with 29
......
Same problem here
cannot reproduce.
build in clean system please.
don't "make install", which makes your system dirty.
碰到一样的,vi debian/rules,添加:
override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
保存后编译即可。
no need to patch the script, so far.
if any issue occurs, please report, in detail.
@IronXiao 主要不知道ignore后,deb包是否完整。
@triaqu
使用无问题
debian8之前手动安装的libsodium,一直失败,删除后用jessie-backports安装了libsodium,和libmbedtls,服务端和客户端全部成功。(从源码编译)
@madeye 找到原因了,安装mbedTLS and libsodium后,find 发现 libsodium.so.18和libmbedcrypto.so.0 在分别在两个目录下都有,删除 /usr/lib下的这两个文件成功生成deb.
我也解决了,libsodium.so.18和libmbedcrypto.so.0 分别在两个目录下都有,删除 /usr/lib下的这两个文件成功生成deb.
Most helpful comment
@madeye 找到原因了,安装mbedTLS and libsodium后,find 发现 libsodium.so.18和libmbedcrypto.so.0 在分别在两个目录下都有,删除 /usr/lib下的这两个文件成功生成deb.