简体   繁体   中英

Errors compiling NotepadQQ. Wrong libxslt or libxml2 version perhaps?

I'm trying to compile NotepaddQQ on a SUSE SLED 11 machine using Qt5.3 (I know.. it's crazy outdated but it's a work machine and I don't have the authority to update it) and am hitting the following error:

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....

I'm not sure what the @LIBXML2_### suffix means??? But I managed to find out what version of libxml2 and libxslt version I have:

$ 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

Is there an incompatibility somewhere? Thanks...

EDIT:

$ 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)

The @LIBXML2_ suffix comes from ELF symbol versioning. It seems that libQt5WebKit.so was built with a version of libxslt that had versioned symbols, but your system libxslt was built without versioned symbols. So libQt5WebKit.so was apparently not built with your system libxslt, maybe on another machine.

You have two options:

  • Rebuild libQt5WebKit.so using your system libxslt.
  • Build a separate version of libxslt with versioned symbols and use it when compiling NotepadQQ.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM