我正在关注FFmpeg 的这个编译指南。编译所有必需的依赖项后,我在最后一节中收到以下错误。
ERROR: gnutls not found using pkg-config
Run Code Online (Sandbox Code Playgroud)
当我运行如下配置命令时会发生此错误:
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="$HOME/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--extra-libs="-lpthread -lm" \
--bindir="$HOME/bin" \
--enable-gpl \
--enable-gnutls \
--enable-libaom \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree
Run Code Online (Sandbox Code Playgroud)
我正在全新安装的 Ubuntu 20.04 上编译 FFmpeg。
尝试连接到 HTTPS 网站时,出现此错误curl: (35) gnutls_handshake() failed: Error in the pull function.。
详细:
curl -vvv "https://example.tld"
* Rebuilt URL to: https://example.tld/
* Trying 1.2.3.4...
* Connected to example.tld (1.2.3.4) port 443 (#0)
* found 148 certificates in /etc/ssl/certs/ca-certificates.crt
* found 592 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* gnutls_handshake() failed: Error in the pull function.
* Closing connection 0
curl: (35) gnutls_handshake() failed: Error in the pull function.
Run Code Online (Sandbox Code Playgroud)
该网站的 TLS 配置似乎配置正确。
更多信息:
$ curl -V
curl 7.47.0 (x86_64-pc-linux-gnu) …Run Code Online (Sandbox Code Playgroud) 刚刚升级到 18.04,当我运行时sudo apt update,它抱怨:
/usr/lib/x86_64-linux-gnu/gio/modules/libgiognutls.so: symbol gnutls_pkcs11_privkey_init version GNUTLS_3_4 not defined in file libgnutls.so.30 with link time reference Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiognutls.so
较早的信息:
跑步gio version给出:2.53.6
跑步gntls-cli -v给出:gnutls-cli 3.5.8
据我所知,这意味着apt-get想要使用GNUTLS version 3.4,当我有3.5.8.
任何关于如何进行的想法将不胜感激。我怀疑它可能在升级发行版或尝试从错误的存储库更新时没有正确解析依赖项。
有趣的是,我在打开 Octave ( https://www.gnu.org/software/octave/ )时遇到了同样的错误。
在回复评论时添加:
apt-cache policy libgnutls30 说:
libgnutls30:
Installed: 3.5.18-1ubuntu1
Candidate: 3.5.18-1ubuntu1
Version table:
*** 3.5.18-1ubuntu1 500
500 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
100 /var/lib/dpkg/status
Run Code Online (Sandbox Code Playgroud)
/usr/lib/x86_64-linux-gnu/libgnutls.so.30指向libgnutls.so.30.14.10我
nm -D …
尝试通过 https 连接到 github.com、google.com、dropbox.com 时出现以下错误,但 stackoverflow.com、askubuntu.com 和大多数 https 网站都可以正常工作。
相关详情:
错误信息:
$ openssl s_client -connect github.com:443
CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 311 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: …Run Code Online (Sandbox Code Playgroud) 我正在尝试在测试 Windows 服务器域中安装 Ubuntu(最新版本)作为 AD 服务器。我正在关注本教程,但它有点旧。
到达第 14 分钟时,我迷路了。我需要安装以下(不知道为什么):
sudo apt-get install git build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev libpam0g-dev ntp -y
Run Code Online (Sandbox Code Playgroud)
但它给了我以下错误:
libgnutls-dev has no installation candidate
Run Code Online (Sandbox Code Playgroud)
所以我尝试无法在新的 16.04LTS 机器上安装 libgnutls-dev但没有运气。
谁能帮助我解决我做错了什么?