[opensuse-factory] Help for a submission pgadmin3 without gst-0.10
Hello, there to be happy with the gstreamer 0.10 future removal, and because I still need this tool in factory, I've rebuild the pgadmin3 package to no more depend on wx2.8 (which was the reason of indirect dependency of gstreamer 0.10) After several build try and error, I've determined that pgadmin3 work only if build with wxWidgets-3_0-nostl-devel which is ok for Factory/Tumbleweed the package exist. but not for 13.2 nor 42.1 nor any SLE variant. So my question is should I created a newer package pgadmin3-VARIANTNAME ? so in server:database:postgresql the older pgadmin3 will stil build and work for people on those plateform, or should I break it ? My attempt is located here https://build.opensuse.org/package/show/ home:bruno_friedmann:branches:server:database:postgresql/pgadmin3 -- Bruno Friedmann Ioda-Net Sàrl www.ioda-net.ch Bareos Partner, openSUSE Member, fsfe fellowship GPG KEY : D5C9B751C4653227 irc: tigerfoot -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hello, Am Sonntag, 15. Januar 2017, 14:52:16 CET schrieb Bruno Friedmann:
Hello, there to be happy with the gstreamer 0.10 future removal, and because I still need this tool in factory, I've rebuild the pgadmin3 package to no more depend on wx2.8 (which was the reason of indirect dependency of gstreamer 0.10)
After several build try and error, I've determined that pgadmin3 work only if build with wxWidgets-3_0-nostl-devel which is ok for Factory/Tumbleweed the package exist. but not for 13.2 nor 42.1 nor any SLE variant.
So my question is should I created a newer package pgadmin3-VARIANTNAME ? so in server:database:postgresql the older pgadmin3 will stil build and work for people on those plateform, or should I break it ?
My attempt is located here https://build.opensuse.org/package/show/ home:bruno_friedmann:branches:server:database:postgresql/pgadmin3
Which of the changes are related to make it build for Tumbleweed, and which are general cleanup etc.? If the needed difference between Leap and Tumbleweed isn't too big, you can switch the BuildRequires using something like %if 0%{?suse_version} > 1315 # Tumbleweed %else # Leap 42.x or 13.x %endif Most of your changes look like the result of spec_cleaner (which is a nice tool, but makes the diff unreadable ;-) so this should be doable. If everything else fails, I'd create a pgadmin3-old package (for Leap and 13.x) which you can delete one day, and keep the pgadmin3 package for Tumbleweed (and also Leap 43.x once we get there). Regards, Christian Boltz -- Will updating online update via online update work when online update isn't updating? :) (Say that five times fast!) [suse AT rio.vg in suse-security] -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On dimanche, 15 janvier 2017 17.07:28 h CET Christian Boltz wrote:
Hello,
Am Sonntag, 15. Januar 2017, 14:52:16 CET schrieb Bruno Friedmann:
Hello, there to be happy with the gstreamer 0.10 future removal, and because I still need this tool in factory, I've rebuild the pgadmin3 package to no more depend on wx2.8 (which was the reason of indirect dependency of gstreamer 0.10)
After several build try and error, I've determined that pgadmin3 work only if build with wxWidgets-3_0-nostl-devel which is ok for Factory/Tumbleweed the package exist. but not for 13.2 nor 42.1 nor any SLE variant.
So my question is should I created a newer package pgadmin3-VARIANTNAME ? so in server:database:postgresql the older pgadmin3 will stil build and work for people on those plateform, or should I break it ?
My attempt is located here https://build.opensuse.org/package/show/ home:bruno_friedmann:branches:server:database:postgresql/pgadmin3
Which of the changes are related to make it build for Tumbleweed, and which are general cleanup etc.?
If the needed difference between Leap and Tumbleweed isn't too big, you can switch the BuildRequires using something like
%if 0%{?suse_version} > 1315 # Tumbleweed %else # Leap 42.x or 13.x %endif
Most of your changes look like the result of spec_cleaner (which is a nice tool, but makes the diff unreadable ;-) so this should be doable.
If everything else fails, I'd create a pgadmin3-old package (for Leap and 13.x) which you can delete one day, and keep the pgadmin3 package for Tumbleweed (and also Leap 43.x once we get there).
Regards,
Christian Boltz
Yep the %if way of life could perhaps be implemented. which is less a PIA than having to packages. For 42.3 I hope pgadmin4 will be stable enough to get there ;-) ps : anybody can (for my knowledge) point me to some resource or have a quick résumé about -nostl versus stl ? -- Bruno Friedmann Ioda-Net Sàrl www.ioda-net.ch Bareos Partner, openSUSE Member, fsfe fellowship GPG KEY : D5C9B751C4653227 irc: tigerfoot -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Sunday 2017-01-15 19:15, Bruno Friedmann wrote:
ps : anybody can (for my knowledge) point me to some resource or have a quick résumé about -nostl versus stl ?
nostl is discouraged. It uses the old wxwindows hand-made wxString class with somewhat loose (type) conversion rules, which in the past revealed that e.g. the Audacity audio editor has a character set conversion problems and lifetime issues ("use-after-free", potential to produce garbage or crash). stl, alas, has wxString be based off std::string instead. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On dimanche, 15 janvier 2017 21.31:41 h CET Jan Engelhardt wrote:
On Sunday 2017-01-15 19:15, Bruno Friedmann wrote:
ps : anybody can (for my knowledge) point me to some resource or have a quick résumé about -nostl versus stl ?
nostl is discouraged. It uses the old wxwindows hand-made wxString class with somewhat loose (type) conversion rules, which in the past revealed that e.g. the Audacity audio editor has a character set conversion problems and lifetime issues ("use-after-free", potential to produce garbage or crash).
stl, alas, has wxString be based off std::string instead.
but with stl pgadmin3 just crash at start /usr/bin/pgadmin3: relocation error: /usr/bin/pgadmin3: symbol _ZTV21wxwxSizerItemListNode, version WXU_3.0 not defined in file libwx_gtk2u_core-suse.so.1 with link time reference And this is out of knowledge ;-) -- Bruno Friedmann Ioda-Net Sàrl www.ioda-net.ch Bareos Partner, openSUSE Member, fsfe fellowship GPG KEY : D5C9B751C4653227 irc: tigerfoot -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Monday 2017-01-16 09:29, Bruno Friedmann wrote:
On dimanche, 15 janvier 2017 21.31:41 h CET Jan Engelhardt wrote:
On Sunday 2017-01-15 19:15, Bruno Friedmann wrote:
ps : anybody can (for my knowledge) point me to some resource or have a quick résumé about -nostl versus stl ?
nostl is discouraged. It uses the old wxwindows hand-made wxString class with somewhat loose (type) conversion rules, which in the past revealed that e.g. the Audacity audio editor has a character set conversion problems and lifetime issues ("use-after-free", potential to produce garbage or crash).
stl, alas, has wxString be based off std::string instead.
but with stl pgadmin3 just crash at start
/usr/bin/pgadmin3: relocation error: /usr/bin/pgadmin3: symbol _ZTV21wxwxSizerItemListNode, version WXU_3.0 not defined in file libwx_gtk2u_core-suse.so.1 with link time reference
That is not a crash... but an indication that you are installing an incompatible rpm, e.g. from tumbleweed on leap or vice versa. http://oi41.tinypic.com/acedzq.jpg is a crash. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On lundi, 16 janvier 2017 10.40:50 h CET Jan Engelhardt wrote:
On Monday 2017-01-16 09:29, Bruno Friedmann wrote:
On dimanche, 15 janvier 2017 21.31:41 h CET Jan Engelhardt wrote:
On Sunday 2017-01-15 19:15, Bruno Friedmann wrote:
ps : anybody can (for my knowledge) point me to some resource or have a quick résumé about -nostl versus stl ?
nostl is discouraged. It uses the old wxwindows hand-made wxString class with somewhat loose (type) conversion rules, which in the past revealed that e.g. the Audacity audio editor has a character set conversion problems and lifetime issues ("use-after-free", potential to produce garbage or crash).
stl, alas, has wxString be based off std::string instead.
but with stl pgadmin3 just crash at start
/usr/bin/pgadmin3: relocation error: /usr/bin/pgadmin3: symbol _ZTV21wxwxSizerItemListNode, version WXU_3.0 not defined in file libwx_gtk2u_core-suse.so.1 with link time reference
That is not a crash... but an indication that you are installing an incompatible rpm, e.g. from tumbleweed on leap or vice versa.
http://oi41.tinypic.com/acedzq.jpg is a crash.
Seems more a bug in the way wx3 is done at openSUSE Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so. 6(GLIBC_2.15)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.7) (64bit) libcrypto.so.1.0.0()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so. 1(GCC_3.0)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libpq.so. 5()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so. 6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libstdc++.so. 6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.11)(64bit) libstdc++.so. 6(GLIBCXX_3.4.20)(64bit) libstdc++.so.6(GLIBCXX_3.4.21)(64bit) libstdc++.so. 6(GLIBCXX_3.4.9)(64bit) libwx_baseu-suse.so.1()(64bit) libwx_baseu-suse.so. 1(WXU_3.0)(64bit) libwx_baseu_net-suse.so.1()(64bit) libwx_baseu_net-suse.so. 1(WXU_3.0)(64bit) libwx_baseu_xml-suse.so.1()(64bit) libwx_baseu_xml-suse.so. 1(WXU_3.0)(64bit) libwx_gtk2u_adv-suse.so.1()(64bit) libwx_gtk2u_adv-suse.so. 1(WXU_3.0)(64bit) libwx_gtk2u_aui-suse.so.1()(64bit) libwx_gtk2u_aui-suse.so. 1(WXU_3.0)(64bit) libwx_gtk2u_core-suse.so.1()(64bit) libwx_gtk2u_core- suse.so.1(WXU_3.0)(64bit) libwx_gtk2u_html-suse.so.1()(64bit) libwx_gtk2u_html-suse.so.1(WXU_3.0)(64bit) libwx_gtk2u_stc-suse.so.1()(64bit) libwx_gtk2u_stc-suse.so.1(WXU_3.0)(64bit) libwx_gtk2u_xrc-suse.so.1()(64bit) libwx_gtk2u_xrc-suse.so.1(WXU_3.0)(64bit) libxml2.so.2()(64bit) libxml2.so. 2(LIBXML2_2.4.30)(64bit) libxml2.so.2(LIBXML2_2.5.0)(64bit) libxml2.so. 2(LIBXML2_2.5.7)(64bit) libxml2.so.2(LIBXML2_2.6.0)(64bit) libxml2.so. 2(LIBXML2_2.6.5)(64bit) libxslt.so.1()(64bit) libxslt.so.1(LIBXML2_1.0.11) (64bit) libxslt.so.1(LIBXML2_1.0.18)(64bit) libz.so.1()(64bit) There's too much libwx which don't define WXU_3.0 no ? -- Bruno Friedmann Ioda-Net Sàrl www.ioda-net.ch Bareos Partner, openSUSE Member, fsfe fellowship GPG KEY : D5C9B751C4653227 irc: tigerfoot -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On lundi, 16 janvier 2017 12.11:29 h CET Bruno Friedmann wrote:
On lundi, 16 janvier 2017 10.40:50 h CET Jan Engelhardt wrote:
On Monday 2017-01-16 09:29, Bruno Friedmann wrote:
On dimanche, 15 janvier 2017 21.31:41 h CET Jan Engelhardt wrote:
On Sunday 2017-01-15 19:15, Bruno Friedmann wrote:
ps : anybody can (for my knowledge) point me to some resource or have a quick résumé about -nostl versus stl ?
nostl is discouraged. It uses the old wxwindows hand-made wxString class with somewhat loose (type) conversion rules, which in the past revealed that e.g. the Audacity audio editor has a character set conversion problems and lifetime issues ("use-after-free", potential to produce garbage or crash).
stl, alas, has wxString be based off std::string instead.
but with stl pgadmin3 just crash at start
/usr/bin/pgadmin3: relocation error: /usr/bin/pgadmin3: symbol _ZTV21wxwxSizerItemListNode, version WXU_3.0 not defined in file libwx_gtk2u_core-suse.so.1 with link time reference
That is not a crash... but an indication that you are installing an incompatible rpm, e.g. from tumbleweed on leap or vice versa.
http://oi41.tinypic.com/acedzq.jpg is a crash.
Seems more a bug in the way wx3 is done at openSUSE
Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so. 6(GLIBC_2.15)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.7) (64bit) libcrypto.so.1.0.0()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so. 1(GCC_3.0)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libpq.so. 5()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so. 6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libstdc++.so. 6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.11)(64bit) libstdc++.so. 6(GLIBCXX_3.4.20)(64bit) libstdc++.so.6(GLIBCXX_3.4.21)(64bit) libstdc++.so. 6(GLIBCXX_3.4.9)(64bit) libwx_baseu-suse.so.1()(64bit) libwx_baseu-suse.so. 1(WXU_3.0)(64bit) libwx_baseu_net-suse.so.1()(64bit) libwx_baseu_net-suse.so. 1(WXU_3.0)(64bit) libwx_baseu_xml-suse.so.1()(64bit) libwx_baseu_xml-suse.so. 1(WXU_3.0)(64bit) libwx_gtk2u_adv-suse.so.1()(64bit) libwx_gtk2u_adv-suse.so. 1(WXU_3.0)(64bit) libwx_gtk2u_aui-suse.so.1()(64bit) libwx_gtk2u_aui-suse.so. 1(WXU_3.0)(64bit) libwx_gtk2u_core-suse.so.1()(64bit) libwx_gtk2u_core- suse.so.1(WXU_3.0)(64bit) libwx_gtk2u_html-suse.so.1()(64bit) libwx_gtk2u_html-suse.so.1(WXU_3.0)(64bit) libwx_gtk2u_stc-suse.so.1()(64bit) libwx_gtk2u_stc-suse.so.1(WXU_3.0)(64bit) libwx_gtk2u_xrc-suse.so.1()(64bit) libwx_gtk2u_xrc-suse.so.1(WXU_3.0)(64bit) libxml2.so.2()(64bit) libxml2.so. 2(LIBXML2_2.4.30)(64bit) libxml2.so.2(LIBXML2_2.5.0)(64bit) libxml2.so. 2(LIBXML2_2.5.7)(64bit) libxml2.so.2(LIBXML2_2.6.0)(64bit) libxml2.so. 2(LIBXML2_2.6.5)(64bit) libxslt.so.1()(64bit) libxslt.so.1(LIBXML2_1.0.11) (64bit) libxslt.so.1(LIBXML2_1.0.18)(64bit) libz.so.1()(64bit)
There's too much libwx which don't define WXU_3.0 no ?
Ok seems there's really a mess, I've cleanup everything related to libwx and co on my tumbleweed, rebuild pgadmin3 with wxWidget_3_0-devel At install time the package from local build the dep seems to be the right one. The following 9 NEW packages are going to be installed: libwx_baseu-suse1 3.0.2-1.80 libwx_baseu_net-suse1 3.0.2-1.80 libwx_baseu_xml-suse1 3.0.2-1.80 libwx_gtk2u_adv-suse1 3.0.2-1.80 libwx_gtk2u_aui-suse1 3.0.2-1.80 libwx_gtk2u_core-suse1 3.0.2-1.80 libwx_gtk2u_html-suse1 3.0.2-1.80 libwx_gtk2u_stc-suse1 3.0.2-1.80 libwx_gtk2u_xrc-suse1 3.0.2-1.80 The following 3 packages are going to be reinstalled: pgadmin3 1.22.2-0 pgadmin3-debuginfo 1.22.2-0 pgadmin3-lang 1.22.2-0 And finally the crash :-) pgadmin3 Fatal Error: Mismatch between the program and library build versions detected. The library used 3.0 (wchar_t,compiler with C++ ABI 1009,wx containers,compatible with 2.8), and your program used 3.0 (wchar_t,compiler with C++ ABI 1010,wx containers,compatible with 2.8). /home/bruno/bin/pgadmin3: line 33: 14682 Aborted (core dumped) /usr/bin/pgadmin3 Any idea how to get out of this hell :-) -- Bruno Friedmann Ioda-Net Sàrl www.ioda-net.ch Bareos Partner, openSUSE Member, fsfe fellowship GPG KEY : D5C9B751C4653227 irc: tigerfoot -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Monday 2017-01-16 16:07, Bruno Friedmann wrote:
http://oi41.tinypic.com/acedzq.jpg is a crash.
Seems more a bug in the way wx3 is done at openSUSE
Requires: libwx_baseu-suse.so.1()(64bit) libwx_baseu-suse.so.1(WXU_3.0)(64bit)
There's too much libwx which don't define WXU_3.0 no ?
That is anticipated; it is how rpm works.
Ok seems there's really a mess, I've cleanup everything related to libwx and co on my tumbleweed, rebuild pgadmin3 with wxWidget_3_0-devel
At install time the package from local build the dep seems to be the right one.
The following 9 NEW packages are going to be installed: libwx_baseu-suse1 3.0.2-1.80 libwx_baseu_net-suse1 3.0.2-1.80 libwx_baseu_xml-suse1 3.0.2-1.80 libwx_gtk2u_adv-suse1 3.0.2-1.80 libwx_gtk2u_aui-suse1 3.0.2-1.80 libwx_gtk2u_core-suse1 3.0.2-1.80 libwx_gtk2u_html-suse1 3.0.2-1.80 libwx_gtk2u_stc-suse1 3.0.2-1.80 libwx_gtk2u_xrc-suse1 3.0.2-1.80
The following 3 packages are going to be reinstalled: pgadmin3 1.22.2-0 pgadmin3-debuginfo 1.22.2-0 pgadmin3-lang 1.22.2-0
And finally the crash :-)
I would not consider an intentional emergency exit a crash, but I'll give you the benefit of the doubt, because it does raise a signal and coredump.
pgadmin3 Fatal Error: Mismatch between the program and library build versions detected. The library used 3.0 (wchar_t,compiler with C++ ABI 1009,wx containers,compatible with 2.8), and your program used 3.0 (wchar_t,compiler with C++ ABI 1010,wx containers,compatible with 2.8).
Ah yes. The joys of Factory not doing automatic rebuilds (of wxWidgets) when a new gcc comes along. [That was there in wx2.X already however, and does not constitute a new issue per se.] I know why it happens, and I know how to fix it. I just need to do an evaluation of whether we should really do that particular fix for opensuse.. (Fedora already did it, and it did not become better because of it.) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On lundi, 16 janvier 2017 16.52:33 h CET Jan Engelhardt wrote:
On Monday 2017-01-16 16:07, Bruno Friedmann wrote:
http://oi41.tinypic.com/acedzq.jpg is a crash.
Seems more a bug in the way wx3 is done at openSUSE
Requires: libwx_baseu-suse.so.1()(64bit) libwx_baseu-suse.so.1(WXU_3.0)(64bit)
There's too much libwx which don't define WXU_3.0 no ?
That is anticipated; it is how rpm works.
Ok seems there's really a mess, I've cleanup everything related to libwx and co on my tumbleweed, rebuild pgadmin3 with wxWidget_3_0-devel
At install time the package from local build the dep seems to be the right one.
The following 9 NEW packages are going to be installed: libwx_baseu-suse1 3.0.2-1.80 libwx_baseu_net-suse1 3.0.2-1.80 libwx_baseu_xml-suse1 3.0.2-1.80 libwx_gtk2u_adv-suse1 3.0.2-1.80 libwx_gtk2u_aui-suse1 3.0.2-1.80 libwx_gtk2u_core-suse1 3.0.2-1.80 libwx_gtk2u_html-suse1 3.0.2-1.80 libwx_gtk2u_stc-suse1 3.0.2-1.80 libwx_gtk2u_xrc-suse1 3.0.2-1.80
The following 3 packages are going to be reinstalled: pgadmin3 1.22.2-0 pgadmin3-debuginfo 1.22.2-0 pgadmin3-lang 1.22.2-0
And finally the crash :-)
I would not consider an intentional emergency exit a crash, but I'll give you the benefit of the doubt, because it does raise a signal and coredump.
pgadmin3 Fatal Error: Mismatch between the program and library build versions detected. The library used 3.0 (wchar_t,compiler with C++ ABI 1009,wx containers,compatible with 2.8), and your program used 3.0 (wchar_t,compiler with C++ ABI 1010,wx containers,compatible with 2.8).
Ah yes. The joys of Factory not doing automatic rebuilds (of wxWidgets) when a new gcc comes along. [That was there in wx2.X already however, and does not constitute a new issue per se.]
I know why it happens, and I know how to fix it. I just need to do an evaluation of whether we should really do that particular fix for opensuse.. (Fedora already did it, and it did not become better because of it.)
My bad also I discovered later that wxWidget coming for App:Geo is not the same as the one in oss, so I've cleanly more deeper my system and fix priorities properly. See also my comments on last Stefan mail. I will go with the nostl for pgadmin3 only for TW, until I got the working pgadmin4 .... Thanks a lot for your help, pointer, making me a bit less silly than yesterday. -- Bruno Friedmann Ioda-Net Sàrl www.ioda-net.ch Bareos Partner, openSUSE Member, fsfe fellowship GPG KEY : D5C9B751C4653227 irc: tigerfoot -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Montag, 16. Januar 2017 16:07:40 CET Bruno Friedmann wrote:
The following 9 NEW packages are going to be installed: libwx_baseu-suse1 3.0.2-1.80 libwx_baseu_net-suse1 3.0.2-1.80 libwx_baseu_xml-suse1 3.0.2-1.80 libwx_gtk2u_adv-suse1 3.0.2-1.80 libwx_gtk2u_aui-suse1 3.0.2-1.80 libwx_gtk2u_core-suse1 3.0.2-1.80 libwx_gtk2u_html-suse1 3.0.2-1.80 libwx_gtk2u_stc-suse1 3.0.2-1.80 libwx_gtk2u_xrc-suse1 3.0.2-1.80
The following 3 packages are going to be reinstalled: pgadmin3 1.22.2-0 pgadmin3-debuginfo 1.22.2-0 pgadmin3-lang 1.22.2-0
And finally the crash :-)
pgadmin3 Fatal Error: Mismatch between the program and library build versions detected. The library used 3.0 (wchar_t,compiler with C++ ABI 1009,wx containers,compatible with 2.8), and your program used 3.0 (wchar_t,compiler with C++ ABI 1010,wx containers,compatible with 2.8). /home/bruno/bin/pgadmin3: line 33: 14682 Aborted (core dumped) /usr/bin/pgadmin3
Any idea how to get out of this hell :-)
Short version: The wxWidget library version used at build time and used at run time are not the same. Long version: wxWidgets has some very strong extra checks regarding the STL ABI version [1]. As wxWidgets might expose the STL ABI [2][3], it refuses to start if these does not match. Acually, there was just one big change (C++03 to C++11 compatible strings/ lists) which affected the wxWidgets ABI. As the check in wxWidgets 3.0 proved to be to strict (google for the error message), it has been relaxed in wxWidgets 3.1.0 (versions 1002 to 1008 are regarded as compatible) [4], and later extended to include versions 1002 to 1010 [5]. The current version of TWs GCC 6.2.1 is 1010: (g++ -v 2>&1; echo "int gcc_v = __GXX_ABI_VERSION;" | g++ -E -) | egrep gcc.v gcc version 6.2.1 20161209 [gcc-6-branch revision 243481] (SUSE Linux) int gcc_v = 1010; Kind regards, Stefan [1] https://github.com/wxWidgets/wxWidgets/blob/master/include/wx/build.h [2] https://gcc.gnu.org/onlinedocs/libstdc%2B%2B/manual/using_dual_abi.html [3] https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html [4] https://github.com/wxWidgets/wxWidgets/commit/ ad21cc332ac906b9ae8f238ab135cbe410e78eba [5] https://github.com/wxWidgets/wxWidgets/commit/ 96f5a24f6dfdfff3466ab7c1736dfc741165aaea -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Sonntag, 15. Januar 2017 21:31:41 CET Jan Engelhardt wrote:
On Sunday 2017-01-15 19:15, Bruno Friedmann wrote:
ps : anybody can (for my knowledge) point me to some resource or have a quick résumé about -nostl versus stl ?
nostl is discouraged. It uses the old wxwindows hand-made wxString class with somewhat loose (type) conversion rules, which in the past revealed that e.g. the Audacity audio editor has a character set conversion problems and lifetime issues ("use-after-free", potential to produce garbage or crash).
stl, alas, has wxString be based off std::string instead.
Unfortunately several consumers of wxWidgets will throw compile time errors due to missing default conversions [1] (these conversions are not exactly missing, but left out to enforce explicit conversion). So for e.g. Audacity, this problem will likely be solved upstream, as there *is* an active upstream, other may be left out (e.g. perl-Wx, which seems to be dead). Kind regards, Stefan [1] http://docs.wxwidgets.org/3.1/classwx_string.html#string_conv Note: If you built wxWidgets with wxUSE_STL set to 1, the implicit conversions to both narrow and wide C strings are disabled and replaced with implicit conversions to std::string and std::wstring. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On lundi, 16 janvier 2017 16.35:47 h CET Brüns, Stefan wrote:
On Sonntag, 15. Januar 2017 21:31:41 CET Jan Engelhardt wrote:
On Sunday 2017-01-15 19:15, Bruno Friedmann wrote:
ps : anybody can (for my knowledge) point me to some resource or have a quick résumé about -nostl versus stl ?
nostl is discouraged. It uses the old wxwindows hand-made wxString class with somewhat loose (type) conversion rules, which in the past revealed that e.g. the Audacity audio editor has a character set conversion problems and lifetime issues ("use-after-free", potential to produce garbage or crash).
stl, alas, has wxString be based off std::string instead.
Unfortunately several consumers of wxWidgets will throw compile time errors due to missing default conversions [1] (these conversions are not exactly missing, but left out to enforce explicit conversion).
So for e.g. Audacity, this problem will likely be solved upstream, as there *is* an active upstream, other may be left out (e.g. perl-Wx, which seems to be dead).
Kind regards,
Stefan
[1] http://docs.wxwidgets.org/3.1/classwx_string.html#string_conv Note: If you built wxWidgets with wxUSE_STL set to 1, the implicit conversions to both narrow and wide C strings are disabled and replaced with implicit conversions to std::string and std::wstring.
Thanks to the pointers Stefan, it confirm what I've seen the afternoon. wxChar is too much used, abused in old pgadmin3 code, and as said at the beginning the code will not get fixes. So in the meantime, I've be able to incorporate %if in the packaging so only TW will got pgadmin3 compiled with «evil» nostl ... I prefer to spend my free time to get pgAdmin4 ready for consumption :-) -- Bruno Friedmann Ioda-Net Sàrl www.ioda-net.ch Bareos Partner, openSUSE Member, fsfe fellowship GPG KEY : D5C9B751C4653227 irc: tigerfoot -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (4)
-
Bruno Friedmann
-
Brüns, Stefan
-
Christian Boltz
-
Jan Engelhardt