我在 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,所以这可能与它有关。
开始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-svg、xaralx-examples和libxar-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 软件包仍然会安装尚未修复且无法运行的二进制文件。
| 归档时间: |
|
| 查看次数: |
1739 次 |
| 最近记录: |