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  (Dave Page <dpage@pgadmin.org>)
Список 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 по дате отправления:

Предыдущее
От: Peter Geoghegan
Дата:
Сообщение: Re: phase 2 of wxWidgets 2.9 build
Следующее
От: Dave Page
Дата:
Сообщение: Re: phase 2 of wxWidgets 2.9 build