Bug#912423: codelite: fails to start: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
Control: reassign -1 libwxsqlite3-3.0-0 3.4.1~dfsg-2 Control: tags -1 - confirmed Control: retitle -1 libwxsqlite3-3.0-0: switch to gtk3 breaks the ABI Control: affects -1 src:codelite src:maitreya Hi, On 31/10/2018 13:15, James Cowgill wrote: > Control: severity -1 grave > Control: tags -1 confirmed > Control: retitle -1 codelite: fails to start: GTK+ 2.x symbols detected. > Using GTK+ 2.x and GTK+ 3 in the same process is not supported > > Hi, > > On 31/10/2018 11:50, Larus wrote: >> Package: codelite >> Version: 10.0+dfsg-3 >> Severity: important >> >> Dear Maintainer, >> when starting codelite the process shuts down directly when starting. >> Reason: >> (codelite:1081): Gtk-ERROR **: 12:48:04.992: GTK+ 2.x symbols detected. >> Using GTK+ 2.x and GTK+ 3 in the same process is not supported >> Sadly I haven't been able to resolve this. > > Indeed I cannot start codelite in unstable either. As well as the above, > I also get a lot of other errors when trying to run it (below). This was caused by wxsqlite3 switching to GTK+3. This comes into conflict with codelite which is built against GTK+2. As the error above states, you cannot load the GTK+2 and GTK+3 libraries into the same process. This change is pretty much guaranteed to break all reverse dependencies of wxsqlite3 (because any existing rdep must have been compiled against GTK+2 to function). I think it makes most sense to handle this like a normal package transition and either rename the package, or add extra packages (like wxwidgets3.0 did). If you don't do that, you'll need to add a Breaks for all your rdeps (but this won't help if any user programs outside Debian link against wxsqlite). In theory, codelite does support building against GTK+3, but I haven't tried it. The other rdep is maitreya which doesn't link against any GTK+ version directly, so in theory changing the build dependencies to the GTK+3 versions should "Just Work" :) This means you can probably get away with a rename instead of adding extra packages. It's unfortunate this took a month to discover. I guess there's not many people using these packages :/ James signature.asc Description: OpenPGP digital signature
Bug#912423: codelite: fails to start: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
Control: severity -1 grave Control: tags -1 confirmed Control: retitle -1 codelite: fails to start: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported Hi, On 31/10/2018 11:50, Larus wrote: > Package: codelite > Version: 10.0+dfsg-3 > Severity: important > > Dear Maintainer, > when starting codelite the process shuts down directly when starting. > Reason: > (codelite:1081): Gtk-ERROR **: 12:48:04.992: GTK+ 2.x symbols detected. Using > GTK+ 2.x and GTK+ 3 in the same process is not supported > Sadly I haven't been able to resolve this. Indeed I cannot start codelite in unstable either. As well as the above, I also get a lot of other errors when trying to run it (below). Unfortunately I don't have a lot of time to maintain codelite anymore (see the open RFA bug), so any help from anyone in debugging this would be appreciated. From the log, it's going to be something related to wxWidgets. Maybe trying some older wxWidgets versions might help?? Thanks for reporting! James Log: ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxCommandEvent" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxNotifyEvent" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxScrollEvent" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxScrollWinEvent" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxMouseEvent" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxKeyEvent" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxSizeEvent" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxPaintEvent" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxNcPaintEvent" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxEraseEvent" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxMoveEvent" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxFocusEvent" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxChildFocusEvent" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxCloseEvent" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxShowEvent" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxMaximizeEvent" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice)? ../src/common/object.cpp(251): assert "classTable->Get(m_className) == NULL" failed in Register(): Class "wxIconizeEvent" already in RTTI table - have you used