Re: phase 2 of wxWidgets 2.9 build
От | Peter Geoghegan |
---|---|
Тема | Re: phase 2 of wxWidgets 2.9 build |
Дата | |
Msg-id | AANLkTi=HzohCcdayDU98VjrcBvvdUOsnD=+553ViXFFN@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: phase 2 of wxWidgets 2.9 build (Peter Geoghegan <peter.geoghegan86@gmail.com>) |
Ответы |
Re: phase 2 of wxWidgets 2.9 build
|
Список | pgadmin-hackers |
Well, none of that has worked. However, considering this: [peter@localhost local]$ nm -D /usr/local/lib/libwx_gtk2u_adv-2.9.so.1.0.0 | grep wxBitmapComboBox | grep Insert | c++filt 000000000016b8b0 T wxBitmapComboBox::SetInsertionPoint(long) 000000000016ce10 T wxBitmapComboBox::GTKInsertComboBoxTextItem(unsigned int, wxString const&) 000000000016ca70 T wxBitmapComboBox::Insert(wxString const&, wxBitmap const&, unsigned int) 000000000016cc10 T wxBitmapComboBox::Insert(wxString const&, wxBitmap const&, unsigned int, wxClientData*) *snip* I find it hard to argue with my linker on this one - the last function should have a void* as its last parameter. I suspect a bug in 2.9.1 . Changing this: cbConnection->Insert(newconn->GetName(), CreateBitmap(GetServerColour(newconn)), sel, newconn); to this: cbConnection->Insert(newconn->GetName(), CreateBitmap(GetServerColour(newconn)), sel, (wxClientData*)newconn); so that the wxClientData* overload rather than the void* overload is called seems to have fixed the problem. We have a complete 2.9 build! [peter@localhost pgadmin]$ ldd pgadmin3 linux-vdso.so.1 => (0x00007fffc7bff000) libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003195c00000) libwx_gtk2u_stc-2.9.so.1 => /usr/local/lib/libwx_gtk2u_stc-2.9.so.1 (0x00007fbb05ecf000) libwxcode_gtk2u_ogl-2.9.so.0 => /usr/local/lib/libwxcode_gtk2u_ogl-2.9.so.0 (0x00007fbb05c44000) libwx_gtk2u_aui-2.9.so.1 => /usr/local/lib/libwx_gtk2u_aui-2.9.so.1 (0x00007fbb05989000) libwx_gtk2u_xrc-2.9.so.1 => /usr/local/lib/libwx_gtk2u_xrc-2.9.so.1 (0x00007fbb05605000) libwx_gtk2u_html-2.9.so.1 => /usr/local/lib/libwx_gtk2u_html-2.9.so.1 (0x00007fbb052bc000) libwx_gtk2u_qa-2.9.so.1 => /usr/local/lib/libwx_gtk2u_qa-2.9.so.1 (0x00007fbb05061000) libwx_gtk2u_adv-2.9.so.1 => /usr/local/lib/libwx_gtk2u_adv-2.9.so.1 (0x00007fbb04c62000) libwx_gtk2u_core-2.9.so.1 => /usr/local/lib/libwx_gtk2u_core-2.9.so.1 (0x00007fbb04355000) libwx_baseu_xml-2.9.so.1 => /usr/local/lib/libwx_baseu_xml-2.9.so.1 (0x00007fbb04119000) libwx_baseu_net-2.9.so.1 => /usr/local/lib/libwx_baseu_net-2.9.so.1 (0x00007fbb03eb7000) libwx_baseu-2.9.so.1 => /usr/local/lib/libwx_baseu-2.9.so.1 (0x00007fbb0397c000) libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x0000003195400000) libz.so.1 => /lib64/libz.so.1 (0x000000318a600000) libxslt.so.1 => /usr/lib64/libxslt.so.1 (0x00000031a0400000) libm.so.6 => /lib64/libm.so.6 (0x000000318a200000) libcrypto.so.10 => /lib64/libcrypto.so.10 (0x0000003196000000) libpq.so.5 => /usr/local/pgsql/lib/libpq.so.5 (0x00007fbb03756000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x000000318fa00000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x000000318aa00000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003189600000) libc.so.6 => /lib64/libc.so.6 (0x0000003189200000) libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003195000000) libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003193800000) libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003196c00000) libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003195800000) libresolv.so.2 => /lib64/libresolv.so.2 (0x000000318ce00000) libgtk-x11-2.0.so.0 => /usr/lib64/libgtk-x11-2.0.so.0 (0x0000003639c00000) libgdk-x11-2.0.so.0 => /usr/lib64/libgdk-x11-2.0.so.0 (0x0000003639400000) libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x0000003194800000) libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x0000003191200000) libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x0000003192800000) libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x0000003193400000) libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x000000318de00000) libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x0000003192000000) libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x000000318d200000) libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x000000318da00000) libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x000000318b600000) libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x0000003190200000) libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x000000318b200000) librt.so.1 => /lib64/librt.so.1 (0x0000003189e00000) libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x000000318ae00000) libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x0000003198800000) libSM.so.6 => /usr/lib64/libSM.so.6 (0x00000034ca200000) libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x000000319c000000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003189a00000) /lib64/ld-linux-x86-64.so.2 (0x0000003188e00000) libselinux.so.1 => /lib64/libselinux.so.1 (0x000000318ba00000) libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x0000003639000000) libX11.so.6 => /usr/lib64/libX11.so.6 (0x000000318c600000) libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x000000318e600000) libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x0000003639800000) libXext.so.6 => /usr/lib64/libXext.so.6 (0x000000318d600000) libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x000000318ee00000) libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x000000318ea00000) libXi.so.6 => /usr/lib64/libXi.so.6 (0x000000318e200000) libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x000000318f200000) libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x000000318f600000) libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x0000003194c00000) libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x0000003191800000) libexpat.so.1 => /lib64/libexpat.so.1 (0x000000318ca00000) libICE.so.6 => /usr/lib64/libICE.so.6 (0x0000003190600000) libuuid.so.1 => /lib64/libuuid.so.1 (0x00000034c9e00000) libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x000000318be00000) libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x0000003193000000) libXau.so.6 => /usr/lib64/libXau.so.6 (0x000000318c200000) Now to investigate this assertion failure, that I see plenty of: /usr/local/include/wx-2.9/wx/strvararg.h(449): assert "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype" failed in wxArgNormalizer(): format specifier doesn't match argument type ASSERT INFO: /usr/local/include/wx-2.9/wx/strvararg.h(449): assert "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype" failed in wxArgNormalizer(): format specifier doesn't match argument type BACKTRACE: [1] wxOnAssert(char const*, int, char const*, char const*, char const*) [2] wxArgNormalizer() /usr/local/include/wx-2.9/wx/strvararg.h:449 [3] wxArgNormalizerUtf8() /usr/local/include/wx-2.9/wx/strvararg.h:481 [4] int wxString::Printf<unsigned long>(wxFormatString const&, unsigned long) /usr/local/include/wx-2.9/wx/string.h:2305 [5] pgCollection::UpdateChildCount(ctlTree*, int) /home/peter/pgadmin3/pgadmin/./schema/pgCollection.cpp:93 *SNIP* We seem to just get an assertion failure when refreshing an expanded node where we would have crashed before. Progress. I've attached: A patch for anyone that wants to reproduce this. It doesn't break the 2.8 build. A screenshot, which seems to show some minor problems with this build of pgAdmin, that are probably related to AUI in some way. -- Regards, Peter Geoghegan
Вложения
В списке pgadmin-hackers по дате отправления: