Red Hat Bugzilla – Bug 475992
dia crashes on start: Couldn't find standard objects
Last modified: 2009-01-05 08:44:56 EST
Description of problem:
Starting dia crashes immediately.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Start dia in a gnome-terminal
Gtk-Message: Failed to load module "pk-gtk-module": libpk-gtk-module.so: cannot open shared object file: No such file or directory
** (dia:8932): CRITICAL **: Couldn't find standard objects when looking for object-libs in '/usr/lib64/dia'; exiting...
This maybe isn't dia's fault, it used to work recently (after its last update, IIRC)
The spam "Gtk message..." is due to missing PackageKit-gtk-module (reported as 476066)
I agree, closing the bug
Nope, just the Gtk message part is fixed. dia still crashes, even after installing PackageKit-gtk-module.
I have this problem too, with dia-0.96.1-9.fc11.x86_64 and PackageKit-gtk-module-0.4.0-1.fc11.x86_64.
The weird thing is that, according to strace, it's not actually looking for a whole lot of stuff in that directory - just a few standard libraries which it subsequently finds in their proper homes.
Same on my i386 here:
** (dia:4481): CRITICAL **: Couldn't find standard objects when looking for object-libs in '/usr/lib/dia'; exiting...
$ rpm -q dia
Sorry for the delay here ,will work on this as soon as i am back from my vacation ie in 2-3 days.
So here is what the problem is:
In the version 0.96.1-9
.la files were removed, this is what is causing this error, odd though.
Install the older version of dia ie dia-0.96.1-7.fc10.i386 this works fine.
Now remove the .la files from /usr/lib/dia and it crashes with exactly the same error.
This is exactly what has been done in 0.96-1-9.
After examining the source it seems that the function dia_register_plugins is looking at the .la files to determine where the dia libs are and when they dont exists its konks off.
I am going to talk to upstream to see if something can be done on this.
ccing Caolan McNamara on this bug as he made the last change to remove the .la files.
any idea if dia was tested after making this change, as to if it worked?
Looks like all you have to do is replace
/* this one should work on any platform where libtool is used to compile dia */
# define PLUG_IN_EXT ".la"
# define PLUG_IN_EXT_LEN 3
# define USING_LIBTOOL 1
#define PLUG_IN_EXT ".so"
#define PLUG_IN_EXT_LEN 3
#define USING_LIBTOOL 0
Yep, that fixes it. Resulting patch and spec file attached.
Created attachment 328113 [details]
Created attachment 328114 [details]
dia.spec for 0.9.6.1-9.1
A spec file using the patch, tested to fix the issue.
I already have the patch committed, building the rpm now
http://koji.fedoraproject.org/koji/buildinfo?buildID=77053 is now build and ready for testing
Re #8 Hmm, I clearly didn't even run it once, sorry about that.