我在 Xubuntu 13.10 Saucy 64 位上通过 apt-get 安装了包“xaralx”,当我在命令提示符下输入“xaralx”时,我得到了这个:
xaralx: relocation error: xaralx: symbol _ZTV19wxGnomePrintFactory, version WXU_2.8 not defined in file libwx_gtk2u_core-2.8.so.0 with link time reference
我卸载了 xaralx 并安装了 xaralx:i386,但出现同样的错误。
我的系统从 12.04 LTS 开始,然后我一直将其升级到 13.10,所以这可能与它有关。
答案1
开始xaralx
跑步
解决此问题的方法是重建包。不过别担心!使用 很容易做到这一点apt-build
。
apt-build
apt-get
将自动下载源代码、解决依赖关系、构建 Debian 软件包,然后安装软件包。然后也可以正常删除软件包。
apt-build
默认情况下未安装:
sudo apt-get install apt-build
安装过程中会显示一些配置选项,接受默认设置即可。(有关配置的更多信息,请参阅关于从源代码构建的这个答案。
然后:
sudo apt-build install xaralx
此过程将花费一些时间,具体取决于您的计算机。在我的 Asus X201E(Celeron 847,1.10 GHz,4 GB 内存)上,大约需要 30 分钟。
该过程还将重建一些依赖包:xaralx-svg
,,xaralx-examples
和libxar-dev
,因此请执行以下操作:
sudo apt-get update
sudo apt-get upgrade
示例未默认安装,因此您可能还需要:
sudo apt-get install xaralx-examples
就是这样!xaralx
现在可以正常启动并且不会出现错误。
注意:如果您使用的是 64 位安装,您可能会在以下情况下看到此错误消息apt-get update
:
W: Failed to fetch file:/var/cache/apt-build/repository/dists/apt-build/main/binary-i386/Packages File not found
这没有什么害处,但你可以通过编辑源列表来消除它apt-build
。(见这个答案,但请注意,您只需更改apt-build.list
。不标准中需要进行修改sources.list
)。
sudo nano /etc/apt/sources.list.d/apt-build.list
改变
deb file:/var/cache/apt-build/repository apt-build main
到:
deb [arch=amd64] file:/var/cache/apt-build/repository apt-build main
背景信息
这个问题是由于漏洞以前版本中曾出现过这种情况libwxgtk2.8-xx
。
这会影响使用并且针对之前wxWidgets
任何版本进行编译的所有软件包。libwxgtk
2.8.10.1-0ubuntu1
大多数软件包都已经得到修复,但是一些较旧的、最近没有进行太多开发工作的软件包(例如xaralx
)可能仍然存在问题。
解决方案是使用更新的依赖项重建包。
据报道针对 xaralx问题已在 Debian 软件包中得到修复。但是,出于某种原因,Ubuntu 软件包仍会安装未修复的二进制文件,并且无法运行。