这是从这个问题。
我正在尝试安装 cryptsetup 2.3.2。预先存在的版本是 1.6.6(安装在系统上,根据 Synaptic 的说法是“最新版本”)。
所以我按照这些说明安装了 blkid 开发库...然后
mike@M17A ~/Download...ptsetup-2.3.2/cryptsetup-2.3.2 $ sudo make
[sudo] password for mike:
make all-recursive
make[1]: Entering directory '/home/mike/Downloads/cryptsetup-2.3.2/cryptsetup-2.3.2'
Making all in po
make[2]: Entering directory '/home/mike/Downloads/cryptsetup-2.3.2/cryptsetup-2.3.2/po'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/mike/Downloads/cryptsetup-2.3.2/cryptsetup-2.3.2/po'
Making all in tests
make[2]: Entering directory '/home/mike/Downloads/cryptsetup-2.3.2/cryptsetup-2.3.2/tests'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/mike/Downloads/cryptsetup-2.3.2/cryptsetup-2.3.2/tests'
make[2]: Entering directory '/home/mike/Downloads/cryptsetup-2.3.2/cryptsetup-2.3.2'
CC lib/luks2/libcryptsetup_la-luks2_disk_metadata.lo
In file included from ./json-c/json_object.h:36:0,
from ./json-c/json.h:27,
from lib/luks2/luks2_internal.h:27,
from lib/luks2/luks2_disk_metadata.c:24:
./json-c/json_inttypes.h:9:25: fatal error: json_config.h: No such file or directory
compilation terminated.
Makefile:2072: recipe for target 'lib/luks2/libcryptsetup_la-luks2_disk_metadata.lo' failed
make[2]: *** [lib/luks2/libcryptsetup_la-luks2_disk_metadata.lo] Error 1
make[2]: Leaving directory '/home/mike/Downloads/cryptsetup-2.3.2/cryptsetup-2.3.2'
Makefile:2314: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/mike/Downloads/cryptsetup-2.3.2/cryptsetup-2.3.2'
Makefile:1134: recipe for target 'all' failed
make: *** [all] Error 2
上面的注意事项:注意“致命错误”。 json_config.h 显然丢失了。我不知道为什么会这样。
这让我问两个问题:
在这种情况下,一个人应该做什么?
为什么下载网站不让您下载应用程序的预构建版本?为什么我们被迫经历实际编译和构建这样的应用程序的复杂且容易失败的过程?