Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I wrote a little program and now I trying to make a .deb package out of it. When I run quickly --verbose package I get this:

quickly --verbose package 
/usr/lib/python2.7/dist-packages/gobject/ Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
  import gobject._gobject
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/ Warning: specified class size for type `PyGtkGenericCellRenderer' is smaller than the parent type's `GtkCellRenderer' class size
  from gtk import _gtk
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/ Warning: g_type_get_qdata: assertion `node != NULL' failed
  from gtk import _gtk install_egg_info failed
An error has occurred when creating debian packaging
ERROR: can't create or update ubuntu package
ERROR: package command failed

I read Jono Bacon's question on the Quickly developer website and he had exactly the same problem as I have, but even though he explained how to fix it I don't understand what I'm supposed to do. I'm new to Quickly and to Python too. What do I need to do?

share|improve this question

I believe this means that you are using some elements that are based on gtk2, perhaps pygtk, and some elements that are gtk3 with gobject introspection. These things don't mix. Once you use gtk3 and therefore gobject introspection, you must leave all of pygtk and gtk2 behind.

The programs that quickly produce had used pygtk and therefore gtk2, but I believe recent quickly versions generate gtk3 and gobject introspection.

The libraries you use may use gtk2 or gtk3. In the answer you mentioned Jono said PyNotify uses gtk2, for example. He apparently decided to have one program use gtk2 exclusively and another program use gtk3 exclusively--I think that's what he meant by having separate code bases.

The thing to do is to pick one, probably gtk3 and introspection, and accomplish what you need to do being careful to use only those libraries that have been converted to use gtk3 and gobject introspection as well.

share|improve this answer
Thanks John for your help... as I said I'm new to programming... because I wasn't sure where my code use gtk2 and where gtk3 I decided to disable ( # on front of the line ) my whole code... and still no luck... I having the same error. I start thinking if this is might be because I add new dialog using quickly add dialog and then I decide that I don't need this dialog any more so I delete all files containing this dialog name ? – Majster-pl Aug 3 '12 at 19:05
I'm not sure I understand, but if you are still having trouble after commenting out your code did you comment out any imports you added, too? I'm not optimistic that is going to help but just maybe. I think package building might include the automatic calculation of dependencies making python import commands important. – John S Gruber Aug 4 '12 at 1:30
up vote 1 down vote accepted

I solved it by creating new application with the same name in different directory, and coping few files from old app dir to new app dir:

/old_aap_name/data/ui/* to /new_aap_name/data/ui/*

and also

/old_aap_name/old_app_name/*.py to /new_aap_name/new_app_name/*.py

After this package generates with no problems.

I think problem must to be because I have created new dialog and then I delete files to this dialog as it was not needed any more.

Thanks for pointing me to right direction.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.