Xara LX 不会在 13.10 推出

Mat*_*att 7 13.10

我在 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
Run Code Online (Sandbox Code Playgroud)

我卸载了 xaralx 并安装了 xaralx:i386,但出现了同样的错误。

我的系统从 12.04 LTS 开始,我一直将它升级到 13.10,所以这可能与它有关。

cha*_*kes 2

开始xaralx跑步

此问题的解决方法是重建包。但别担心!这很容易做到apt-build

apt-build将自动下载源代码、解决依赖关系、构建 debian 软件包,然后安装该软件包。apt-get然后也可以像平常一样取出包裹。

apt-build默认情况下不安装:

sudo apt-get install apt-build
Run Code Online (Sandbox Code Playgroud)

安装将提供一些配置选项;接受默认值就可以了。(有关配置的更多信息,请参阅有关从源代码构建的答案。)

然后:

sudo apt-build install xaralx
Run Code Online (Sandbox Code Playgroud)

此过程将需要一些时间,具体取决于您的计算机。在我的 Asus X201E(Celeron 847、1.10 GHz、4 GB RAM)上,大约需要 30 分钟。

该过程还将重建一些依赖包:xaralx-svgxaralx-exampleslibxar-dev,因此请遵循以下命令:

sudo apt-get update
sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)

默认情况下不安装这些示例,因此您可能还需要:

sudo apt-get install xaralx-examples
Run Code Online (Sandbox Code Playgroud)

就是这样!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
Run Code Online (Sandbox Code Playgroud)

这是无害的,但您可以通过编辑源列表来摆脱它apt-build。(请参阅此答案,但请注意,您只需要更改apt-build.list。标准中不需要更改sources.list

sudo nano /etc/apt/sources.list.d/apt-build.list
Run Code Online (Sandbox Code Playgroud)

改变

deb file:/var/cache/apt-build/repository apt-build main
Run Code Online (Sandbox Code Playgroud)

到:

deb [arch=amd64] file:/var/cache/apt-build/repository apt-build main
Run Code Online (Sandbox Code Playgroud)


背景资料

此问题是由先前版本libwxgtk2.8-xx.

这会影响所有使用wxWidgets针对.libwxgtk2.8.10.1-0ubuntu1

大多数软件包已得到修复,但一些最近没有进行太多开发工作的较旧软件包(例如 )xaralx可能仍然存在问题。

解决方案是使用更新的依赖项重建包。

这是针对 xaralx 的报告,该问题已在 Debian 软件包的上游得到修复。然而,由于某种原因,Ubuntu 软件包仍然会安装尚未修复且无法运行的二进制文件。