0

我正在尝试使用 Qt5.3 在 SUSE SLED 11 机器上编译 NotepaddQQ(我知道......它已经过时了,但它是一台工作机器,我无权更新它)并且遇到以下错误:

Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `xsltComputeSortResult@LIBXML2_1.0.24'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `xsltFreeSecurityPrefs@LIBXML2_1.0.22'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `g_variant_ref'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `xsltEvalAttrValueTemplate@LIBXML2_1.0.11'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `xsltNextImport@LIBXML2_1.0.11'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `xsltGetNsProp@LIBXML2_1.0.11'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `xsltSetSecurityPrefs@LIBXML2_1.0.22'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `xsltSetCtxtSecurityPrefs@LIBXML2_1.0.22'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `xsltTransformError@LIBXML2_1.0.22'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `xsltNewSecurityPrefs@LIBXML2_1.0.22'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `xsltNewTransformContext@LIBXML2_1.0.11'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `xsltParseStylesheetDoc@LIBXML2_1.0.11'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `xsltRegisterExtFunction@LIBXML2_1.0.11'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `g_variant_unref'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `xsltFreeTransformContext@LIBXML2_1.0.11'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `xsltSetLoaderFunc@LIBXML2_1.1.9'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `xsltSaveResultTo@LIBXML2_1.0.11'
Qt5.3/5.3/gcc_64/lib/libQt5WebKit.so: undefined reference to `xsltApplyStylesheetUser@LIBXML2_1.0.11'
etc....

我不确定@LIBXML2_### 后缀是什么意思???但我设法找出了我拥有的 libxml2 和 libxslt 版本:

$ xsltproc --version
Using libxml 20706, libxslt 10124 and libexslt 813
xsltproc was compiled against libxml 20701, libxslt 10124 and libexslt 813
libxslt 10124 was compiled against libxml 20701
libexslt 813 was compiled against libxml 20701

有什么地方不兼容吗?谢谢...

编辑:

$ ldd ~/Qt/5.3/gcc_64/lib/libQt5WebKit.so
/usr2/acourche/Qt/5.3/gcc_64/lib/libQt5WebKit.so: /usr/lib64/libxslt.so.1: no version information available (required by /usr2/acourche/Qt/5.3/gcc_64/lib/libQt5WebKit.so)
/usr2/acourche/Qt/5.3/gcc_64/lib/libQt5WebKit.so: /usr/lib64/libxslt.so.1: no version information available (required by /usr2/acourche/Qt/5.3/gcc_64/lib/libQt5WebKit.so)
/usr2/acourche/Qt/5.3/gcc_64/lib/libQt5WebKit.so: /usr/lib64/libxslt.so.1: no version information available (required by /usr2/acourche/Qt/5.3/gcc_64/lib/libQt5WebKit.so)
/usr2/acourche/Qt/5.3/gcc_64/lib/libQt5WebKit.so: /usr/lib64/libxslt.so.1: no version information available (required by /usr2/acourche/Qt/5.3/gcc_64/lib/libQt5WebKit.so)
    linux-vdso.so.1 =>  (0x00007fac018f2000)
    librt.so.1 => /lib64/librt.so.1 (0x00007fabff0df000)
    libz.so.1 => /lib64/libz.so.1 (0x00007fabfeec8000)
    libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007fabfecbe000)
    libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x00007fabfeabb000)
    libicui18n.so.52 => /usr2/acourche/Qt/5.3/gcc_64/lib/libicui18n.so.52 (0x00007fabfe69a000)
    libicuuc.so.52 => /usr2/acourche/Qt/5.3/gcc_64/lib/libicuuc.so.52 (0x00007fabfe312000)
    libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fabfdfd5000)
    libxslt.so.1 => /usr/lib64/libxslt.so.1 (0x00007fabfdd99000)
    libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007fabfda3d000)
    libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007fabfd777000)
    libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007fabfd532000)
    libgstreamer-0.10.so.0 => /usr/lib64/libgstreamer-0.10.so.0 (0x00007fabfd249000)
    libgstapp-0.10.so.0 => /usr/lib64/libgstapp-0.10.so.0 (0x00007fabfd03c000)
    libgstbase-0.10.so.0 => /usr/lib64/libgstbase-0.10.so.0 (0x00007fabfcde8000)
    libgstinterfaces-0.10.so.0 => /usr/lib64/libgstinterfaces-0.10.so.0 (0x00007fabfcbd7000)
    libgstpbutils-0.10.so.0 => /usr/lib64/libgstpbutils-0.10.so.0 (0x00007fabfc9b5000)
    libgstvideo-0.10.so.0 => /usr/lib64/libgstvideo-0.10.so.0 (0x00007fabfc7a7000)
    libQt5Quick.so.5 => /usr2/acourche/Qt/5.3/gcc_64/lib/libQt5Quick.so.5 (0x00007fabfc1f2000)
    libQt5Qml.so.5 => /usr2/acourche/Qt/5.3/gcc_64/lib/libQt5Qml.so.5 (0x00007fabfbbdd000)
    libQt5Network.so.5 => /usr2/acourche/Qt/5.3/gcc_64/lib/libQt5Network.so.5 (0x00007fabfb878000)
    libQt5Core.so.5 => /usr2/acourche/Qt/5.3/gcc_64/lib/libQt5Core.so.5 (0x00007fabfb144000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fabfaf27000)
    libQt5Gui.so.5 => /usr2/acourche/Qt/5.3/gcc_64/lib/libQt5Gui.so.5 (0x00007fabfa801000)
    libQt5Sql.so.5 => /usr2/acourche/Qt/5.3/gcc_64/lib/libQt5Sql.so.5 (0x00007fabfa5c0000)
    libQt5Positioning.so.5 => /usr2/acourche/Qt/5.3/gcc_64/lib/libQt5Positioning.so.5 (0x00007fabfa381000)
    libQt5Sensors.so.5 => /usr2/acourche/Qt/5.3/gcc_64/lib/libQt5Sensors.so.5 (0x00007fabfa140000)
    libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007fabf9eba000)
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fabf9bb4000)
    libm.so.6 => /lib64/libm.so.6 (0x00007fabf993a000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fabf95be000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fac018f3000)
    libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007fabf93b8000)
    libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007fabf91a5000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fabf8f8f000)
    libicudata.so.52 => /usr2/acourche/Qt/5.3/gcc_64/lib/libicudata.so.52 (0x00007fabf7723000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007fabf751f000)
    libxcb-xlib.so.0 => /usr/lib64/libxcb-xlib.so.0 (0x00007fabf731d000)
    libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fabf7100000)
    libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fabf6efc000)
    libpcre.so.0 => /usr/lib64/libpcre.so.0 (0x00007fabf6ccc000)
    libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007fabf6ac6000)
    libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007fabf68c2000)
    libglapi.so.0 => /usr/lib64/libglapi.so.0 (0x00007fabf666a000)
    libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007fabf6467000)
    libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007fabf6264000)
    libxcb-glx.so.0 => /usr/lib64/libxcb-glx.so.0 (0x00007fabf604e000)
    libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x00007fabf5e48000)
    libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007fabf5c3b000)
4

1 回答 1

0

@LIBXML2_后缀来自 ELF 符号版本控制。它似乎libQt5WebKit.so是使用具有版本符号的 libxslt 版本构建的,但是您的系统 libxslt 是在没有版本符号的情况下构建的。所以libQt5WebKit.so显然不是用你的系统 libxslt 构建的,可能是在另一台机器上。

你有两个选择:

  • libQt5WebKit.so使用您的系统 libxslt重建。
  • 使用版本符号构建一个单独的 libxslt 版本,并在编译 NotepadQQ 时使用它。
于 2017-05-14T11:45:51.957 回答