1.2.5 Scrivener for Linux RELEASED

me@netbook:~$ /usr/bin/Scrivener Cannot mix incompatible Qt library (version 0x40801) with this library (version 0x40800) Aborted (core dumped)

This happens immediately after I try to Open a project from Scrivener when I am running it on Kubuntu 12.04. If I switch to Xfce on the same Ubuntu installation the Open dialog shows fine, and Scrivener doesn’t crash. Is there any way to work around this incompatibility in KDE?

I run Scrivener flawlessly in Arch with KDE. It seems to be something specific to Kubuntu.

Yeah, I"m using KDE, as well. What’s your library path look like, cellfourteen?

Ah, sorry, my bad - I didn’t bother trying to get spellcheck working, because I like to draft without it (then sweep thru on the final exported document). I tried installing the 32bit libs and borked my system, so I scraped 'em back out again, used force-architecture and things were cool (except caveats above, natch).

I dunno, I’m running a pretty old version of Kubuntu here (Lucid 10.04) and it seems pretty functional, but then I’ve had this Kubuntu install for close to four years now (yeah, yeah, I know) so it may well be that some earlier patch or set of packages I installed were a cure-before-the-sickness. Happy to dump details here if someone can tell me what’d be useful and how to unearth it. :slight_smile:

Hi, technatica, garpu. Scrivener’s startup script sets LD_LIBRARY_PATH to /usr/share/scrivener/lib

Nothing, as long as I see, in ~/.bashrc , ~/.profile or /etc/ld.so.conf

I also tried the “unset QT_PLUGIN_PATH” suggestion from here:

literatureandlatte.com/forum … 07#p107108

and played a bit with the script ammuray suggests here:

literatureandlatte.com/forum … 33&t=15007

I am having this problem on a 32-bit machine, frsh install. On a 64-bit Kubuntu 12.04 desktop there is no such crashes, though the 64-bit Ubuntu installation in my case is also at least four years old with all the upgrades on top of it.

  • And I accidentally discovered that if I export LD_LIBRARY_PATH to /usr/share/scrivener/lib in Konsole, some other applications such as Kate or Konqueror abort with the same error :slight_smile:

Okay…if the script starting scrivener is causing other similar errors, what happens if you don’t use it? that is, start Scrivener directly?

Not sure who that was directed at but just in case : If I click on the regular icon, I get the little bouncing icon for a couple of seconds, then it vanishes and nothing else happens. I’m also not using Kubuntu. I’m using OpenSuse 11.4 and KDE, if that’s any help.

I’m on openSUSE 12.1 x64 and I could install and run Scrivener without many problems. The error message which you get says: Scrivener wants loads Qt 4.7.1 and then another library which requires Qt 4.8.0.

What do you get when you run

rpm -qi libqt4

What’s in that dmp file that you get?

Regards,

Aaron

It give me :

[code]Name : libqt4 Relocations: (not relocatable)
Version : 4.7.1 Vendor: openSUSE
Release : 8.17.1 Build Date: Tue 10 Jan 2012 15:29:27 GMT
Install Date: Sun 01 Jul 2012 17:34:20 BST Build Host: build32
Group : System/Libraries Source RPM: libqt4-4.7.1-8.17.1.src.rpm
Size : 9465922 License: GPLv3 ; LGPLv2.1+
Signature : RSA/8, Tue 10 Jan 2012 15:51:58 GMT, Key ID b88b2fd43dbdc284
Packager : http://bugs.opensuse.org
URL : http://www.qtsoftware.com
Summary : C++ Program Library, Core Components
Description :
Qt is a set of libraries for developing applications.

This package contains base tools, like string, xml, and network
handling.

Authors:

Qt Software

Distribution: openSUSE 11.4
[/code]

I know it’s possible to run it on this laptop with 11.4 and KDE because I did it before on my old faulty harddrive before it died.

Running directly Scrivener causes it to abort in the same manner when I try to open a project (cd /usr/share/scrivener/bin/; ./Scrivener | /usr/share/scrivener/bin/Scrivener).

I tried to find a simple way to list the Qt version of a library but came up empty. But maybe we can still limit the search a bit. Run this script in the bin folder:

for f in $(ldd Scrivener | sed -e 's:^.*=>[ \t]*::' -e 's: *[(].*::') ; do readlink -f "$f" ; done|sort

It will print a list of libraries that Scrivener will load. Here is my list (openSUSE 12.1):

.../Scrivener/lib/libphonon.so.4.4.0
.../Scrivener/lib/libQtCore.so.4.8.0
.../Scrivener/lib/libQtGui.so.4.8.0
.../Scrivener/lib/libQtNetwork.so.4.8.0
.../Scrivener/lib/libQtSolutions_MMLWidget-2.4.so.1.0.0
.../Scrivener/lib/libQtSql.so.4.8.0
.../Scrivener/lib/libQtSvg.so.4.8.0
.../Scrivener/lib/libQtWebKit.so.4.9.0
.../Scrivener/lib/libQtXml.so.4.8.0
/lib/ld-2.14.1.so
/lib/libc-2.14.1.so
/lib/libdl-2.14.1.so
/lib/libexpat.so.1.5.2
/lib/libgcc_s.so.1
/lib/libm-2.14.1.so
/lib/libpcre.so.0.0.1
/lib/libpthread-2.14.1.so
/lib/libresolv-2.14.1.so
/lib/librt-2.14.1.so
/lib/libselinux.so.1
/lib/libz.so.1.2.5
/usr/lib/libffi.so.4.0.1
/usr/lib/libfontconfig.so.1.4.4
/usr/lib/libfreetype.so.6.7.2
/usr/lib/libgio-2.0.so.0.3000.1
/usr/lib/libglib-2.0.so.0.3000.1
/usr/lib/libgmodule-2.0.so.0.3000.1
/usr/lib/libgobject-2.0.so.0.3000.1
/usr/lib/libgstapp-0.10.so.0.25.0
/usr/lib/libgstbase-0.10.so.0.29.0
/usr/lib/libgstinterfaces-0.10.so.0.25.0
/usr/lib/libgstpbutils-0.10.so.0.25.0
/usr/lib/libgstreamer-0.10.so.0.29.0
/usr/lib/libgstvideo-0.10.so.0.25.0
/usr/lib/libgthread-2.0.so.0.3000.1
/usr/lib/liborc-0.4.so.0.16.0
/usr/lib/libstdc++.so.6.0.16
/usr/lib/libX11.so.6.3.0
/usr/lib/libXau.so.6.0.0
/usr/lib/libxcb.so.1.1.0
/usr/lib/libXext.so.6.4.0
/usr/lib/libxml2.so.2.7.8
/usr/lib/libXrender.so.1.3.0
  1. Verify that your list doesn’t contain any entry which ends with 4.8.1.

  2. Compare the list with someone who uses openSUSE 11.4 and where Scrivener works.

Regards,

A. Digulla

Mine’s worked. Qt libraries are pointing to the Scrivener Qt libraries. (Slackware 13.37, KDE here.)

This could be a fix for some people, so I may as well report it (by the way, I started digging after upgrading to the new KDE 4.9).

Regarding

me@netbook:~$ /usr/bin/Scrivener Cannot mix incompatible Qt library (version 0x40801) with this library (version 0x40800) Aborted (core dumped)

I started Scrivener via double click as usual. Then I ran two or three lsof | grep Scrivener variants such as:

lsof | grep Scrivener | grep libQt lsof | grep Scrivener | grep Qt lsof | grep Scrivener | grep kde

The first command showed that Scrivener is using libQtDBus.so.4.8.1. The third command showed that Scrivener uses libkdecore.so.5.9.0 and libkdeui.so.5.9.0.

Downloading, placing, and appropriately soft-linking libQtDBus.so.4.8.0 and libkdecore.so.5.8.0 in /usr/share/scrivener/lib didn’t do the trick.

After I did the same with libkdeui.so.5.8.0, Scrivener no longer aborts and opens projects from within the program as expected.

There was a similar issue when trying to import an image via drag and drop which is also resolved.

These are the new files in /usr/share/scrivener/lib that I have now (it is possible that you do not need all of them, I am just showing what I did to make it work):

libkdecore.so -> ./libkdecore.so.5.8.0 libkdecore.so.5 -> ./libkdecore.so.5.8.0 libkdecore.so.5.8 -> ./libkdecore.so.5.8.0 libkdecore.so.5.8.0 libkdeui.so -> ./libkdeui.so.5.8.0 libkdeui.so.5 -> ./libkdeui.so.5.8.0 libkdeui.so.5.8 -> ./libkdeui.so.5.8.0 libkdeui.so.5.8.0 libQtDBus.so -> ./libQtDBus.so.4.8.0 libQtDBus.so.4 -> ./libQtDBus.so.4.8.0 libQtDBus.so.4.8 -> ./libQtDBus.so.4.8.0 libQtDBus.so.4.8.0

Thank you to all concerned! I have it up and running smoothly under Ubuntu 64. You guys rock!

I got :

/lib/ld-2.11.3.so /lib/libc-2.11.3.so /lib/libdl-2.11.3.so /lib/libexpat.so.1.5.2 /lib/libgcc_s.so.1 /lib/libgio-2.0.so.0.2800.0 /lib/libglib-2.0.so.0.2800.0 /lib/libgmodule-2.0.so.0.2800.0 /lib/libgobject-2.0.so.0.2800.0 /lib/libgthread-2.0.so.0.2800.0 /lib/libm-2.11.3.so /lib/libpcre.so.0.0.1 /lib/libpthread-2.11.3.so /lib/libresolv-2.11.3.so /lib/librt-2.11.3.so /lib/libselinux.so.1 /lib/libz.so.1.2.5 /usr/lib/libfontconfig.so.1.4.4 /usr/lib/libfreetype.so.6.6.2 /usr/lib/libgstapp-0.10.so.0.23.0 /usr/lib/libgstbase-0.10.so.0.28.0 /usr/lib/libgstinterfaces-0.10.so.0.23.0 /usr/lib/libgstpbutils-0.10.so.0.23.0 /usr/lib/libgstreamer-0.10.so.0.28.0 /usr/lib/libgstvideo-0.10.so.0.23.0 /usr/lib/libstdc++.so.6.0.14 /usr/lib/libX11.so.6.3.0 /usr/lib/libXau.so.6.0.0 /usr/lib/libxcb.so.1.1.0 /usr/lib/libXext.so.6.4.0 /usr/lib/libxml2.so.2.7.8 /usr/lib/libXrender.so.1.3.0 /usr/share/scrivener/lib/libphonon.so.4.4.0 /usr/share/scrivener/lib/libQtCore.so.4.8.0 /usr/share/scrivener/lib/libQtGui.so.4.8.0 /usr/share/scrivener/lib/libQtNetwork.so.4.8.0 /usr/share/scrivener/lib/libQtSolutions_MMLWidget-2.4.so.1.0.0 /usr/share/scrivener/lib/libQtSql.so.4.8.0 /usr/share/scrivener/lib/libQtSvg.so.4.8.0 /usr/share/scrivener/lib/libQtWebKit.so.4.9.0 /usr/share/scrivener/lib/libQtXml.so.4.8.0

The lsof commands didn’t give me any output at all. And I can’t see a package named libkdecore, or one named libkdeui in Yast, installed or otherwise. Are these files unique to 4.9?

glaedr, would you be so kind to run the following commands and post the results?

First, trace out what’s happening when you run Scrivener:

strace -f -o ~/sscriv.out /usr/share/scrivener/bin/Scrivener

Then, filter sscriv.out to these possible offenders (mind the case in “grep libQt”):

cat ~/sscriv.out | grep libQt > ~/sscriv_libqt.out

and

cat ~/sscriv.out | grep libkde > ~/sscriv_libkde.out

Find sscriv_libqt.out and sscriv_libkde.out in your home directory and paste here their contents (it’s ok if you don’t have any results in sscriv_libkde.out).

Thanks for all your help. :frowning:

…Displays:

Cannot mix incompatible Qt library (version 0x40701) with this library (version 0x40800) Aborted

and

…Give me no output in terminal when entered. But sscriv_libqt.out displays:

17930 open("/usr/share/scrivener/bin/../lib/tls/i686/sse2/libQtSolutions_MMLWidget-2.4.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) 17930 open("/usr/share/scrivener/bin/../lib/tls/i686/libQtSolutions_MMLWidget-2.4.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) 17930 open("/usr/share/scrivener/bin/../lib/tls/sse2/libQtSolutions_MMLWidget-2.4.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) 17930 open("/usr/share/scrivener/bin/../lib/tls/libQtSolutions_MMLWidget-2.4.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) 17930 open("/usr/share/scrivener/bin/../lib/i686/sse2/libQtSolutions_MMLWidget-2.4.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) 17930 open("/usr/share/scrivener/bin/../lib/i686/libQtSolutions_MMLWidget-2.4.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) 17930 open("/usr/share/scrivener/bin/../lib/sse2/libQtSolutions_MMLWidget-2.4.so.1", O_RDONLY) = -1 ENOENT (No such file or directory) 17930 open("/usr/share/scrivener/bin/../lib/libQtSolutions_MMLWidget-2.4.so.1", O_RDONLY) = 3 17930 open("/usr/share/scrivener/bin/../lib/libQtWebKit.so.4", O_RDONLY) = 3 17930 open("/usr/share/scrivener/bin/../lib/libQtSvg.so.4", O_RDONLY) = 3 17930 open("/usr/share/scrivener/bin/../lib/libQtSql.so.4", O_RDONLY) = 3 17930 open("/usr/share/scrivener/bin/../lib/libQtXml.so.4", O_RDONLY) = 3 17930 open("/usr/share/scrivener/bin/../lib/libQtGui.so.4", O_RDONLY) = 3 17930 open("/usr/share/scrivener/bin/../lib/libQtNetwork.so.4", O_RDONLY) = 3 17930 open("/usr/share/scrivener/bin/../lib/libQtCore.so.4", O_RDONLY) = 3 17930 open("/usr/share/scrivener/bin/../lib/libQtDBus.so.4", O_RDONLY) = -1 ENOENT (No such file or directory) 17930 open("/usr/lib/libQtDBus.so.4", O_RDONLY) = 8

and sscriv_libkde.out is:

17930 lstat64("/usr/lib/kde4/plugins/gui_platform/libkde.so", {st_mode=S_IFREG|0755, st_size=38776, ...}) = 0 17930 stat64("/usr/lib/kde4/plugins/gui_platform/libkde.so", {st_mode=S_IFREG|0755, st_size=38776, ...}) = 0 17930 open("/usr/lib/kde4/plugins/gui_platform/libkde.so", O_RDONLY) = 8 17930 open("/usr/share/scrivener/bin/../lib/libkdeui.so.5", O_RDONLY) = -1 ENOENT (No such file or directory) 17930 open("/usr/lib/libkdeui.so.5", O_RDONLY) = 8 17930 open("/usr/share/scrivener/bin/../lib/libkdecore.so.5", O_RDONLY) = -1 ENOENT (No such file or directory) 17930 open("/usr/lib/libkdecore.so.5", O_RDONLY) = 8

sscriv.out shows an awful lot of ‘No such file or directory’ entries too. These files must be available somewhere since other OpenSuse users have Scrivener working perfectly but Yast just can’t find them. I don’t recall seeing any error messages when installing either version, either. :frowning: I’ve also just realised that Yast lists Scrivener with the version number in red.

I had a similar problem - rtf reader errors, but then I closed and restarted it, and it was fine.

Ubuntu 12.04/Xfce

Ah, all this is a bit over my head. The last version installed fine for me, though now I’m using Ubuntu Studio 12.04 precise 64-bit

This is what I’ve tried and I’m not sure what to do next or how to sort out the missing libraries…

Any advice appreciated!

hamish@machine:~/Downloads$ sudo dpkg -i --force-architecture scrivener-1.2.5-beta.deb [sudo] password for hamish: (Reading database ... 213517 files and directories currently installed.) Preparing to replace scrivener:i386 1.2.5.0 (using scrivener-1.2.5-beta.deb) ... Unpacking replacement scrivener:i386 ... Setting up scrivener:i386 (1.2.5.0) ... Processing triggers for desktop-file-utils ... Processing triggers for menu ... hamish@machine:~/Downloads$ Scrivener /usr/share/scrivener/bin/Scrivener: error while loading shared libraries: libgstapp-0.10.so.0: cannot open shared object file: No such file or directory hamish@machine:~/Downloads$ ldd /usr/share/scrivener/bin/Scrivener linux-gate.so.1 => (0xf76e2000) libQtSolutions_MMLWidget-2.4.so.1 => /usr/share/scrivener/bin/../lib/libQtSolutions_MMLWidget-2.4.so.1 (0xf769f000) libQtWebKit.so.4 => /usr/share/scrivener/bin/../lib/libQtWebKit.so.4 (0xf610c000) libphonon.so.4 => /usr/share/scrivener/bin/../lib/libphonon.so.4 (0xf60b6000) libQtSvg.so.4 => /usr/share/scrivener/bin/../lib/libQtSvg.so.4 (0xf605e000) libQtSql.so.4 => /usr/share/scrivener/bin/../lib/libQtSql.so.4 (0xf5f9f000) libQtXml.so.4 => /usr/share/scrivener/bin/../lib/libQtXml.so.4 (0xf5f5b000) libQtGui.so.4 => /usr/share/scrivener/bin/../lib/libQtGui.so.4 (0xf5406000) libQtNetwork.so.4 => /usr/share/scrivener/bin/../lib/libQtNetwork.so.4 (0xf52e8000) libQtCore.so.4 => /usr/share/scrivener/bin/../lib/libQtCore.so.4 (0xf5002000) libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf4fcd000) libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf4ee8000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf4ebc000) libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf4e9d000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf4cf8000) libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xf4cc4000) libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xf4c2a000) libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf4c18000) libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf4ae3000) libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xf4ad9000) libgio-2.0.so.0 => /usr/lib/i386-linux-gnu/libgio-2.0.so.0 (0xf4982000) libgstapp-0.10.so.0 => not found libgstinterfaces-0.10.so.0 => not found libgstpbutils-0.10.so.0 => not found libgstvideo-0.10.so.0 => not found libgstbase-0.10.so.0 => not found libgstreamer-0.10.so.0 => not found libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xf4932000) libgmodule-2.0.so.0 => /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 (0xf492c000) libxml2.so.2 => not found libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 (0xf4929000) librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf4920000) libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xf4827000) libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xf4810000) libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf480b000) /lib/ld-linux.so.2 (0xf76e3000) libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xf47e1000) libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf47c0000) libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xf47a0000) libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xf4788000) libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xf4781000) libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xf4745000) libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf4741000) libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf4739000)

Hooray!!! Thanks for the new build!!!

Just color me super-duper-happy!!!

(Linux Mint 12, 64-bit)