[Bug 660438] New: WxGTK is incompatible between OpenSUSE and Fedora
https://bugzilla.novell.com/show_bug.cgi?id=660438 https://bugzilla.novell.com/show_bug.cgi?id=660438#c0 Summary: WxGTK is incompatible between OpenSUSE and Fedora Classification: openSUSE Product: openSUSE 11.4 Version: Factory Platform: Other OS/Version: Other Status: NEW Severity: Major Priority: P5 - None Component: Basesystem AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: neptunia@mail.ru QAContact: qa@suse.de Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; ru; rv:1.9.1.16) Gecko/20101124 SUSE/2.0.11-2.2 SeaMonkey/2.0.11 It is impossible to build an rpm package with a WxGTK application that would work well on both OpenSUSE and Fedora even if both use the same WxGTK version. The problem is with different compile options. I receive the following message when the options used to compile the library does not match the options used when compiling the application: Fatal Error: Mismatch between the program and library build versions detected. The library used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.6), and your program used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.4,compatible with 2.6). This is when trying to run an application compiled on OpenSUSE on Fedora. Both are versions 2.8. The only difference is in that the Fedora's library is build to be compatible with 2.4 in addition to 2.8 and 2.6 versions while OpenSUSE's library is only compatible with 2.8 and 2.6. Since the program only uses 2.8 APIs and not those of 2.4 it is logical to suppose that running it with a library which has WIDER compatibility features would be OK, but this is not the case in the reality. I think this behavior is counter-intuitive and makes building cross-distribution binaries that use WxGTK impossible. Reproducible: Always Steps to Reproduce: 1. 2. 3. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c1
--- Comment #1 from Ilya Chernykh
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c2
Andreas Hanke
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c3
--- Comment #3 from Ilya Chernykh
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c4
--- Comment #4 from Ilya Chernykh
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c5
--- Comment #5 from Andreas Hanke
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c6
--- Comment #6 from Ilya Chernykh
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c
wei wang
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c7
John McInnes
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c8
Ilya Chernykh
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c
Ilya Chernykh
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c
Andreas Jaeger
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c9
Stanislav Brabec
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c10
Ilya Chernykh
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c11
--- Comment #11 from Ilya Chernykh
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c12
--- Comment #12 from Ilya Chernykh
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c13
Stanislav Brabec
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c14
--- Comment #14 from Stanislav Brabec
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c15
--- Comment #15 from Ilya Chernykh
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c16
--- Comment #16 from Stanislav Brabec
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c17
--- Comment #17 from Ilya Chernykh
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c18
--- Comment #18 from Stanislav Brabec
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c19
--- Comment #19 from Stanislav Brabec
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c20
--- Comment #20 from Stanislav Brabec
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c21
--- Comment #21 from Ilya Chernykh
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c22
Stanislav Brabec
- Build wxwidgets with all possible compatibility options
It is impossible. Adding all compatibility options will break API, ABI, Unicode support, and STL support. Only --enable-compat24 and --enable-compat26 don't break API. --enable-compat26 is enabled by default. Adding --enable-compat24 does not break API, but it breaks ABI. Maintainers of Packman will not be happy that we break their RPMs again. I cannot simply change these options. I have to add new variant with new options, which clearly tells to the RPM, which application RPM is compatible with which library RPMs. Well, I can think about disabling wxcontainer variant in future and keeping only wxcontainer24c that was created just now. So people using binaries compiled for openSUSE <= 12.1 will have more time to migrate. Before doing so, I would check all other distributions that ship binaries of wxWidgets libraries. Now we have packaging scheme that allows different compat-lib versions supporting different distros, so we can easily support as much third party binary packages as possible. Adding --enable-compat24 to STL variant is possible as well, but it makes only a little sense. STL containers in wxWidgets were introduced later than 2.4. So most applications compatible with STL don't need 2.4 API.
- Disable runtime compatibility check
The check is not here for fun. Upstream clearly declares here: We ignore ABI compatibility and we are aware of it. Don't try to combine such binaries and libraries. Disabling the check only postpones and randomizes crashes. Now it consistently fails on start. After disabling the check, some applications will work, but others will fail randomly on memory corruption. I surely don't want to debug such crashes again. Even after disabling the check, ld.so will complain on different sizes of structures in library and binaries, and it will suggest relinking of such application. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=660438
https://bugzilla.novell.com/show_bug.cgi?id=660438#c23
--- Comment #23 from Bernhard Wiedemann
participants (1)
-
bugzilla_noreply@novell.com