编译NotepadQQ的错误。可能是错误的libxslt或libxml2版本?

时间:2017-05-04 19:25:52

标签: qt libxml2 libxslt

我试图使用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)

1 个答案:

答案 0 :(得分:0)

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

您有两种选择:

  • 使用您的系统libxslt重建libQt5WebKit.so
  • 使用版本化符号构建单独版本的libxslt,并在编译NotepadQQ时使用它。