upgradded qt, won't run

I ran some updates the other day (Kubuntu 12.04) and now I’m getting an error:

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

Go figure. Lee, I’m going to share a Dropbox folder with some .dmp files. Hopefully that helps with some of these issues, once you’re able to get to them.

Same problem for me ! I’m using Kubuntu 12.04 “beta” (32 bits version from the 29 march) with latest updates. Before these updates, Scrivener would run but would crash on open/save ; running it from console would give the message “could not read from search indexes file”, and when it crashes, you could see some segmentation fault error.
Scrivener was installed using the deb file.

I’ve searched the site a bit and someone else seemed to have the same kind of problems with an earlier version of Scrivener, except that, in his case, the Scrivener QT libraries were more recent than the ones in his distribution. He was also using KDE as a desktop environment :[url]https://forum.literatureandlatte.com/t/incompatible-qt-libraries-libqtdbus-under-kde/14627/2]

I’m a really “basic” computer user and never filled in bug reports, but I would be glad to give more information if needed.

Question: what version of Qt is being used on your computers? I was under the impression that Scrivener wasn’t using the system Qt libraries anymore. (Although I could be wrong.)

That was my impression as well. Thus why I’m confused.

My libqtcore4 is on version 4.8.1 (4:4.8.1-0ubuntu2~oneiric1~ppa2 if you want to be technical)

I have exactly the same qt version as Rithe

Scrivener will not work with the standard Qt libraries.

Scrivener has augmented core libraries such as QtGui extensively to enable Scrivener specific functionality. Using standard Qt libraries for Scrivener will not work.

The only libraries that will work are the libraries that were packaged with Scrivener.


So how are y’all starting Scrivener? The .deb was packaged with a script that should run it, rather than the binary, itself.

Normally, I run the link that is created in my menu. Some of the recent tests have been from the command line. I don’t think I’ve run it from anywhere but the /usr/bin script.

I’m running the binary directly from the tar.gz, if it needs the script to run correctly that needs to be added to that version, unless I’m missing it somewhere, though this seems to be an issue even using the deb converted into an arch linux package which uses the script.

I can run with the current version of Qt (4.8.1) on my 64-bit system and on the 32-bit using the last qt 4.8.0 package I have in my package cache or using the current version and “unset QT_PLUGIN_PATH” as pointed out in another thread. For what it’s worth right now I explicitly have been defining QT_PLUGIN_PATH for the reasons pointed out on the Arch wiki, though I suspect it would also be causing issues for people running KDE.

I’ve attached the libraries that Scrivener seems to be using from the 3 different ways of running it (generated by lsof | grep Scrivener | grep lib and deleting columns except for file names then sorting it). There definitely seems to be a fair number of kde and qt associated libraries that seem to be in use if QT_PLUGIN_PATH is being defined.
64bit_new_qt.txt (5.63 KB)
32bit_old_qt.txt (3.14 KB)
32bit_new_qt.txt (5.31 KB)

Like Rithe, I’ve edited the Scrivener script to add “unset QT_PLUGIN_PATH” but it didn’t change anything. To run Scrivenering, I only use the script .

As a bit of an update, I installed Kubuntu 11.10 in a VM. It’s running QT 4.7.4. It’s giving the error about mixing incompatible libraries as well.