Ubuntu 如何修复libQt5WebKit符号查找错误?

Ubuntu 如何修复libQt5WebKit符号查找错误?,ubuntu,installation,qt5,bin,Ubuntu,Installation,Qt5,Bin,我的实验室使用Avizo作为图像处理软件。要将其安装到计算机上,软件将嵌入到.bin文件中 官方的安装手册声明,只要以超级用户的身份执行它,一切都应该正常 但是,由于受支持的Linux发行版是CentOS,而不是Ubuntu/Debian,因此缺少一些依赖项,但可以通过apt-get轻松安装 由于软件安装在/usr/local/中,当我尝试执行它时,我会得到以下输出: /usr/local/Avizo/2020.2/bin/arch-LinuxAMD64-Optimize/Avizo:symbo

我的实验室使用Avizo作为图像处理软件。要将其安装到计算机上,软件将嵌入到.bin文件中

官方的安装手册声明,只要以超级用户的身份执行它,一切都应该正常

但是,由于受支持的Linux发行版是CentOS,而不是Ubuntu/Debian,因此缺少一些依赖项,但可以通过
apt-get
轻松安装

由于软件安装在
/usr/local/
中,当我尝试执行它时,我会得到以下输出:

/usr/local/Avizo/2020.2/bin/arch-LinuxAMD64-Optimize/Avizo:symbol lookup error:/usr/local/Avizo/2020.2/bin/arch-LinuxAMD64-Optimize/。/../lib/arch-LinuxAMD64-Optimize/libQt5WebKit.so.5:未定义的符号:UCNV_从___________________

我尝试再次安装
libqt5webkit
&
libqt5webkit dev
,但没有任何明显的效果


符号查找错误是什么意思?

看起来ICU库(Unicode helpers)要么丢失,要么安装在错误的位置,要么与现有的二进制文件不匹配。确保ICU库使用与代码其余部分相同的设置进行编译。

看起来ICU库(Unicode帮助程序)要么丢失,要么安装在错误的位置,要么与您拥有的二进制文件不匹配。确保ICU库的编译设置与代码的其余部分相同。

我最近在Ubuntu 20.04上安装了Amira 2020.2。Avizo和Amira来自同一家供应商,并且有很多相同的代码,因此以下提示可能会有所帮助:

  • 安装组件icu4c-50-2。我从GitHub获取了源代码,因为Ubuntu20.04Repo中的版本太新,无法与Amira一起使用
  • 安装openssl-1.0.0。Ubuntu 20.04 repo中的openssl版本为1.1,但不适用于Amira 2020.2。我是从源代码安装的
  • 将额外的库放在某个目录中,并将其包含在LD_LIBRARY_PATH变量中(有些人会发现这不安全,但Amira本身使用LD_LIBRARY_PATH),或者相应地修改包附带的启动脚本

如果使用Gnome显示管理器和Xorg作为X11服务器,Amira和Avizo可能还有另一个问题。启动时,软件将始终查找文件/var/log/Xorg.0.log,但对于gdm,您有一个显示编号1(甚至更高),并且Xorg日志文件不再位于/var/log中,这将导致错误消息。尽管Amira会启动,但我没有测试是否会出现进一步的问题,因为使用lightdm而不是gdm可以避免这些问题。

我最近在Ubuntu 20.04上安装了Amira 2020.2。Avizo和Amira来自同一家供应商,并且有很多相同的代码,因此以下提示可能会有所帮助:

  • 安装组件icu4c-50-2。我从GitHub获取了源代码,因为Ubuntu20.04Repo中的版本太新,无法与Amira一起使用
  • 安装openssl-1.0.0。Ubuntu 20.04 repo中的openssl版本为1.1,但不适用于Amira 2020.2。我是从源代码安装的
  • 将额外的库放在某个目录中,并将其包含在LD_LIBRARY_PATH变量中(有些人会发现这不安全,但Amira本身使用LD_LIBRARY_PATH),或者相应地修改包附带的启动脚本
如果使用Gnome显示管理器和Xorg作为X11服务器,Amira和Avizo可能还有另一个问题。启动时,软件将始终查找文件/var/log/Xorg.0.log,但对于gdm,您有一个显示编号1(甚至更高),并且Xorg日志文件不再位于/var/log中,这将导致错误消息。尽管Amira将启动错误,但我没有测试是否会由此产生进一步的问题,因为您可以通过使用lightdm而不是gdm来避免这些问题