Description of problem: As discussed https://bugzilla.redhat.com/show_bug.cgi?id=1200611 , running applications linked against wxGTK3, built using current (3.0.2, 15.fc22) wx-GTK3 and -devel packages fails: Fatal Error: Mismatch between the program and library build versions detected. The library used 3.0 (wchar_t,compiler with C++ ABI 1008,wx containers,compatible with 2.8), and your program used 3.0 (wchar_t,compiler with C++ ABI 1009,wx containers,compatible with 2.8). Version-Release number of selected component (if applicable): wx-GTK3 3.0.2. 15.fc22 How reproducible: always. Internet search shows the same problem exists for ArchLinux. Steps to Reproduce: 1. dnf install wxGTK3 wxGTK3-devel 2. <link program against wxGTK3, e.g. kicad> 3. <run program, e.g. kicad> Actual results: ABORT Expected results: Smooth running. Additional info: This shouldn't happen. However, getting the SRPM, and doing a simple `rpmbuild --rebuild` on it and using these packages fixes the problem. Hence, wxGTK3 should be rebuild using the currently shipped GCC/g++, and also all depending packages, which then would be, according to `dnf repoquery --whatrequires libwx_gtk3u_core-3.0.so.0 |grep -o '.*-0'|sort|uniq`: fityk-0 saga-0 wxGTK3-devel-0 wxGTK3-gl-0 wxGTK3-media-0 i.e. aside from the wxGTK3 packages themselves, only fityk and saga
Ah. I see now the problem and why this didn't make sense to me. You're using the Gtk2 build of wxWidgets 3.0, which is a different package and apparently still aborts (rather than warns) on the ABI mismatch. Reassigning to that package.
(In reply to Scott Talbert from comment #1) > Ah. I see now the problem and why this didn't make sense to me. You're > using the Gtk2 build of wxWidgets 3.0, which is a different package and > apparently still aborts (rather than warns) on the ABI mismatch. > Reassigning to that package. Ah, that explains my confusion. I believe the last build of compat-wxGTK3-gtk2 failed, so it probably needs some patching and a rebuild for rawhide as well.
I think something similar is happening in wxGTK-2.8.12-19.fc23.x86_64, for example: mediainfo-gui Warning: Mismatch between the program and library build versions detected. The library used 2.8 (no debug,Unicode,compiler with C++ ABI 1008,wx containers,compatible with 2.4,compatible with 2.6), and your program used 2.8 (no debug,Unicode,compiler with C++ ABI 1009,wx containers,compatible with 2.4,compatible with 2.6).
(In reply to Jeremy Newton from comment #2) > (In reply to Scott Talbert from comment #1) > > Ah. I see now the problem and why this didn't make sense to me. You're > > using the Gtk2 build of wxWidgets 3.0, which is a different package and > > apparently still aborts (rather than warns) on the ABI mismatch. > > Reassigning to that package. > > Ah, that explains my confusion. I believe the last build of > compat-wxGTK3-gtk2 failed, so it probably needs some patching and a rebuild > for rawhide as well. Yes, a simple rebuild in F22 should fix this particular issue, but yes, the package needs some attention in Rawhide - probably the same patches I did in wxGTK3. Speaking of which, is there a reason we don't just build the compat-wxGTK3-gtk2 packages out of the wxGTK3 package? It seems like a bit of duplicated effort to maintain it separately.
(In reply to Sergio Monteiro Basto from comment #3) > I think something similar is happening in wxGTK-2.8.12-19.fc23.x86_64, for > example: mediainfo-gui > > Warning: Mismatch between the program and library build versions detected. > The library used 2.8 (no debug,Unicode,compiler with C++ ABI 1008,wx > containers,compatible with 2.4,compatible with 2.6), > and your program used 2.8 (no debug,Unicode,compiler with C++ ABI 1009,wx > containers,compatible with 2.4,compatible with 2.6). Yes, wxGTK package probably also needs to be rebuilt. You should file a separate bug for that.
(In reply to Scott Talbert from comment #5) > Yes, wxGTK package probably also needs to be rebuilt. You should file a > separate bug for that. Done https://bugzilla.redhat.com/show_bug.cgi?id=1318841 Thanks ,
> Ah. I see now the problem and why this didn't make sense to me. You're using the Gtk2 build of wxWidgets 3.0, which is a different package and apparently still aborts (rather than warns) on the ABI mismatch. Reassigning to that package. No, I'm not. This is definitely wxGTK3, **not** compat-wxGTK3-gtk2: see a bit of ldd below: > ldd $(which kicad)| grep -i wx libwx_gtk3u_gl-3.0.so.0 => /lib64/libwx_gtk3u_gl-3.0.so.0 (0x00007f0c53f8f000) libwx_gtk3u_aui-3.0.so.0 => /lib64/libwx_gtk3u_aui-3.0.so.0 (0x00007f0c53cf4000) libwx_gtk3u_adv-3.0.so.0 => /lib64/libwx_gtk3u_adv-3.0.so.0 (0x00007f0c53903000) libwx_gtk3u_html-3.0.so.0 => /lib64/libwx_gtk3u_html-3.0.so.0 (0x00007f0c5360e000) libwx_gtk3u_core-3.0.so.0 => /lib64/libwx_gtk3u_core-3.0.so.0 (0x00007f0c52d7d000) libwx_baseu_net-3.0.so.0 => /lib64/libwx_baseu_net-3.0.so.0 (0x00007f0c52b27000) libwx_baseu-3.0.so.0 => /lib64/libwx_baseu-3.0.so.0 (0x00007f0c52675000) libwx_baseu_xml-3.0.so.0 => /lib64/libwx_baseu_xml-3.0.so.0 (0x00007f0c52463000) libwx_gtk3u_stc-3.0.so.0 => /lib64/libwx_gtk3u_stc-3.0.so.0 (0x00007f0c52019000) > ldd /lib64/libwx_gtk3u_core-3.0.so.0 | grep -i gtk libgtk-3.so.0 => /lib64/libgtk-3.so.0 (0x00007ff16424a000)
Note that the point was that I was able to fix this rebuilding wxGTK3 from source, and installing that. I never had compat-wxGTK3-gtk2 installed.
(In reply to Marcus Müller from comment #7) > > Ah. I see now the problem and why this didn't make sense to me. You're using the Gtk2 build of wxWidgets 3.0, which is a different package and apparently still aborts (rather than warns) on the ABI mismatch. Reassigning to that package. > > No, I'm not. This is definitely wxGTK3, **not** compat-wxGTK3-gtk2: see a > bit of ldd below: > > > ldd $(which kicad)| grep -i wx > libwx_gtk3u_gl-3.0.so.0 => /lib64/libwx_gtk3u_gl-3.0.so.0 > (0x00007f0c53f8f000) > libwx_gtk3u_aui-3.0.so.0 => /lib64/libwx_gtk3u_aui-3.0.so.0 > (0x00007f0c53cf4000) > libwx_gtk3u_adv-3.0.so.0 => /lib64/libwx_gtk3u_adv-3.0.so.0 > (0x00007f0c53903000) > libwx_gtk3u_html-3.0.so.0 => /lib64/libwx_gtk3u_html-3.0.so.0 > (0x00007f0c5360e000) > libwx_gtk3u_core-3.0.so.0 => /lib64/libwx_gtk3u_core-3.0.so.0 > (0x00007f0c52d7d000) > libwx_baseu_net-3.0.so.0 => /lib64/libwx_baseu_net-3.0.so.0 > (0x00007f0c52b27000) > libwx_baseu-3.0.so.0 => /lib64/libwx_baseu-3.0.so.0 (0x00007f0c52675000) > libwx_baseu_xml-3.0.so.0 => /lib64/libwx_baseu_xml-3.0.so.0 > (0x00007f0c52463000) > libwx_gtk3u_stc-3.0.so.0 => /lib64/libwx_gtk3u_stc-3.0.so.0 > (0x00007f0c52019000) > > > ldd /lib64/libwx_gtk3u_core-3.0.so.0 | grep -i gtk > libgtk-3.so.0 => /lib64/libgtk-3.so.0 (0x00007ff16424a000) I am still not understanding this because you reported that your program was aborting, but wxGTK3 has a patch to change the fatal error to a warning. Can you provide steps of how you are building kicad or whatever you are building against wxGTK3 and seeing the abort?
> Can you provide steps of how you are building kicad or whatever you are building against wxGTK3 and seeing the abort? Sure: ##clean slating, i.e. getting binary package from repo $ sudo dnf remove -y wxGTK3 wxGTK3-devel [...] $ sudo dnf install wxGTk3-devel [...] $ git clone github.com:KiCad/kicad-source-mirror kicad [...] $ cd kicad $ mkdir build2 $ cd build2 $ cmake .. [...] $ grep -i wx CMakeCache.txt|grep -i path _filename:FILEPATH=/usr/include/wx-3.0/wx/version.h wxWidgets_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/wx-config-3.0 wxWidgets_wxrc_EXECUTABLE:FILEPATH=/usr/bin/wxrc $ make -j10 [...] ##builds successfully $ kicad/kicad AAAAND it works. Which is good for me, but means that not even I can reproduce this. Hence, I think closing this ticket would be appropriate?