帮助安装网络责任

帮助安装网络责任

我一直在尝试在 Bionic Beaver 上安装 net-responsibility,但遇到了很多问题。首先我尝试了:(根据网站

sudo add-apt-repository ppa:roggan87/nr

但是我收到以下错误:

E: The repository 'http://ppa.launchpad.net/roggan87/nr/ubuntu bionic
Release' does not have a Release file. N: Updating from such a repository
can't be done securely, and is therefore disabled by default.

因此我尝试通过编译手动安装来源代码,我首先安装poco-1.9.1库。工作正常。但在编译和安装 net-sponsibility 的 make 文件后,我收到一条错误消息,指出公共头文件poco 库中的文件缺失。经过一番挖掘,我发现版本 1.9.1 没有 common.h,但是版本 1.4.1是的,所以我尝试安装它(在使用 checkinstall 删除 1.9.1 之后...希望我做对了)但是我收到以下错误:(尝试安装 poco 1.4.1 时)

src/CipherImpl.cpp:99:21: error: field ‘_ctx’ has incomplete type ‘EVP_CIPHER_CTX {aka evp_cipher_ctx_st}’    EVP_CIPHER_CTX    _ctx;
                     ^~~~ In file included from /usr/include/openssl/evp.h:14:0,
                 from include/Poco/Crypto/CipherImpl.h:47,
                 from src/CipherImpl.cpp:37: /usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’  typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
                ^~~~~~~~~~~~~~~~~ /home/daniel/Downloads/poco-poco-1.4.1/build/rules/compile:53: recipe for target '/home/daniel/Downloads/poco-poco-1.4.1/Crypto/obj/Linux/x86_64/debug_shared/CipherImpl.o' failed make[1]: *** [/home/daniel/Downloads/poco-poco-1.4.1/Crypto/obj/Linux/x86_64/debug_shared/CipherImpl.o] Error 1 make[1]: Leaving directory '/home/daniel/Downloads/poco-poco-1.4.1/Crypto'

所以,从现在开始我不确定该怎么做。我对 Ubuntu 还很陌生,所以我可能会忽略一些显而易见的事情。我知道这个程序已经过时了,不适合在最新版本的 Ubuntu 上运行,所以如果我在做一件愚蠢的事情,请告诉我。

更新:在编辑 ect/apt/sources.list.d/ 中的 apt-get 文件后,ppa 或存储库(不确定如何称呼它们)确实成功更新,但是当我尝试安装时收到以下错误:

net-responsibility:符号查找错误:/usr/lib/libPocoFoundation.so.16:未定义符号:_pcre_ucd_stage1 dpkg:错误处理软件包 net-responsibility(--configure):已安装的 net-responsibility 软件包安装后脚本子进程返回错误退出状态 1 正在处理 libc-bin(2.27-3ubuntu1)的触发器...处理时遇到错误:net-responsibility E:子进程 /usr/bin/dpkg 返回错误代码(1)

尝试通过 .deb 安装后,出现以下错误:

此软件包无法卸载,已安装更高版本

运行查看脚本表明 NR 没有运行,所以我猜安装完全失败了。据我所知,问题出在 pocolib 上,那么有没有办法彻底删除它并重新安装?

更新 #2:觉得这很棒资源,对于其他任何尝试安装 NR 的人来说。

谢谢!

答案1

看来这篇文章的作者电力供应协议几年没有更新了,所以没有针对 Ubuntu 的新版本的发布。

如果您想采用 PPA 路线(这是最简单的),您可以简单地修改它以使用 PPA,xenial而不是bionic通过修改关联的文件来/etc/apt.sources.d/roggan87-nr.list改为bionicxenial。然后执行一个apt update,它应该会找到软件包并安装它们。由于它是一个较旧的 PPA,如果软件包依赖关系多年来发生了巨大变化,它可能会抱怨,但在这种情况下它们可能没有。

还值得注意的是,你不必从源代码进行编译即可使用,net-responsibility因为它们提供了.deb可用的包这里。在这种情况下,您可以使用安装 .deb 文件gdebi

关于为什么编译失败,看来 OpenSSL 在 1.0.2 左右发生了变化(信息) 与开发库的使用方式有关,并且该软件未更新。对于二进制包/已构建的包来说这不是问题,因为它仍然可以使用更高版本的 OpenSSL 库,这只是开发人员net-responsibility尚未更新的问题。

相关内容