内置日历显示错误“#include”

内置日历显示错误“#include”

适用于 Linux Mint 18.3、32 位、MATE 桌面 1.18.0。

在 BASH 中,键入calendar会产生以下错误。

rbv@rbv-F80Q ~ $ calendar
In file included from /usr/share/calendar/calendar.all:23:0,
                 from <stdin>:16:
/usr/share/calendar/calendar.croatian:10:0: fatal error: hr_HR/calendar.all: No such file or directory
 #include <hr_HR/calendar.all>
 ^
compilation terminated.
Feb 15  Galileo Galilei born in Pisa, Italy, 1564

------ list of dates ------ 

Feb 16  Stephen Decatur burns US frigate in Tripoli, 1804
rbv@rbv-F80Q ~ $

我已找到引用的文件日历.克罗地亚语和违规行:

/*
 * Croatian calendar files
 *
 * $FreeBSD$
 */

#ifndef _calendar_croatian_
#define _calendar_croatian_
/* THIS IS THE LINE CITED IN THE ERROR */
#include <hr_HR/calendar.all>

#endif /* !_calendar_croatian_ */

但我不知道该怎么办。删除该行?编辑它吗?或者?

或者是编辑calendar.all并简单删除该行的最佳解决方案#include <calendar.croatian>?虽然如果可能的话我想真正解决问题而不是简单地删除东西......


编辑 #1:无法重新安装 bsdmainutils

尝试了重新安装的建议巴斯梅因工具但它似乎不存在于我的系统上并且我无法使用apt-get下载并安装它。

rbv@rbv-F80Q ~ $ sudo apt-get install --reinstall bsdmainutils
[sudo] password for rbv: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reinstallation of bsdmainutils is not possible, it cannot be downloaded.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
rbv@rbv-F80Q ~ $ 

具体到重新安装,它似乎并不存在于这台 32 位 Linux Mint / MATE 计算机上。


编辑#2:尝试使用 dpkg-query 来识别 basmainutils 的所有者

为了回应评论者的建议,运行以下内容:

rbv@rbv-F80Q ~ $ dpkg-query -S /usr/share/calendar/calendar.all
bsdmainutils: /usr/share/calendar/calendar.all

这似乎表明虽然我无法使用aboutorwhichaproposorman来找到任何关于bsdmainutils,显然它的所有者是日历.all

另请注意,该locate bsdmainutils命令生成以下内容:

rbv@rbv-F80Q ~ $ locate bsdmainutils
/etc/cron.daily/bsdmainutils
/etc/default/bsdmainutils
/usr/share/doc/bsdmainutils
/usr/share/doc/bsdmainutils/README
/usr/share/doc/bsdmainutils/calendarJudaic.py.gz
/usr/share/doc/bsdmainutils/changelog.gz
/usr/share/doc/bsdmainutils/copyright
/usr/share/doc/bsdmainutils/source.data.gz
/usr/share/lintian/overrides/bsdmainutils
/var/lib/dpkg/info/bsdmainutils.conffiles
/var/lib/dpkg/info/bsdmainutils.list
/var/lib/dpkg/info/bsdmainutils.md5sums
/var/lib/dpkg/info/bsdmainutils.postinst
/var/lib/dpkg/info/bsdmainutils.prerm
rbv@rbv-F80Q ~ $ 

所以一方面bsdmainutils似乎无法提供给apt-get等等,但还有一些巴斯梅因工具系统上存在的文件。


编辑#3:发现规避,请参阅下面我对我自己的问题的回答

虽然apt-get无法找到并重新安装bsdmainutils, 这突触包管理器确实列出了,因此可以重新安装它。详细信息如下。

答案1

我没有 Linux Mint 系统来尝试这个,所以我基于它一些-其他-页面谁演示了该--reinstall选项:

apt-get install --reinstall bsdmainutils

这里的假设是某些东西无意中删除了该/usr/share/calendar/hr_HR/calendar.all文件。我们要求包管理器重新安装该包,这应该替换该文件。

答案2

好吧,我“解决”了这个问题——但我对最终解决的方式并不满意。

解决方案是使用突触而不是apt-get在命令行上重新安装bsdmainutils。执行此操作后出现错误日历不再发生。

但这反映了我遇到的另一个反复出现的问题 Synaptic 不会列出 apt-get 将安装的程序...?

apt-get在这种情况下,发生了与现有帖子问题相反的情况:Synaptic“知道” CLI 上不知道的包。重点是我不明白为什么apt-get经常发现这样的程序突触没有列出。而在这种情况下,情况恰恰相反......


编辑#1:可能会出现问题,因为漂白位删除日历文件

如果你重新安装bsdmainutils日历再次正常工作,稍后再次出现相同的问题,然后请注意,根据设置, 漂白位可能正在删除 中包含的文件/usr/share/calendar/。使用编辑->优先->白名单->新增文件夹-> 从删除中排除包含的文件/usr/share/calendar笔记您可能需要对两者执行此操作Bleachbit 作为 root漂白位在用户帐户模式下...

相关内容