1.2.5 Scrivener for Linux RELEASED

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)

Thank you, Lee and everyone else who worked so hard on this. <bowing, and scraping> I’m truly grateful for you all.

okay,
so all I needed to do was

sudo apt-get install ia32-libs

works great! Thanks!

@sub_acoustic, I’m getting the same errors but ia32-libs was not sufficient to make them go away in my case. What version of that library are you using?

OpenSuse can’t find that package either. :frowning: I did a search in Yast for the lost packages again ticking the “provides” option and managed to find some of them. But Scrivener still won’t open.

Installing ia32-libs in Ubuntu 12.04 was the only dependency I had to resolve. Scrivener 1.2.5 is working great for me.

For those receiving the error similar to the following, I created a quick script for the tar package. Just drop it in the provided “bin” folder after unpacking the archive and “chmod +x” the script. Then you should be able to run the script instead of the binary without losing the settings for the current session.

Error: Cannot mix incompatible Qt library (version 0x40802) with this library (version 0x40800)
Aborted

Script:
#!/bin/bash

mypath=$QT_PLUGIN_PATH
unset QT_PLUGIN_PATH
./Scrivener
export QT_PLUGIN_PATH=$mypath

Joe, I’m using the deb version on Kubuntu (well Ubuntu with KDE).

I tried your script and I’m still getting the incompatibility error message. I verified that QT_PLUGIN_PATH was unset and then restored, but it didn’t seem to make any difference to the running of the program.

I can still use the program since I am at the moment still mostly using the Unity login, but would like eventually to move over to the more elegant KDE interface. This is stopping me.

There are a few of us who are still looking for the solution to this.

Thanks for the information. :slight_smile: I followed the instructions, but mine just keeps opening in Vim and wont’ run as an application. Having said that I’m still relatively new to Linux so I may have done something wrong. Any ideas?

Normally with scripts, you have to make them executable: linuxforums.org/forum/linux- … hmods.html

Then to invoke a script from command line, you do ./foo. (If it isn’t in your path. If it is, you can just type it like any other program.)

Thanks. :slight_smile: I did make it executable but I didn’t try to run it in from a terminal. I’ll give it a try.

EDIT : Agh it runs. :smiley: Thankyou! And it can’t find the templates, but I don’t tend to use those anyway. :slight_smile: