Comment 8 for bug 610686

Revision history for this message
Václav Slavík (vslavik) wrote :

That the only explanation I can think of is that 2.8.10.1-0ubuntu1 was incorrectly compiled without version info, but ubuntu1.1 was fixed. But the presence of "WXU_2.8" in that error indicates otherwise: that version-script is used. But that's even more weird, because it should read "WXU_2.8.5" (see e.g. bug #412772).

Looking at the actual packages, it appears to be the case. Here's the symbol in ubuntu1.1 version:

$ objdump -T /usr/lib/libwx_baseu-2.8.so.0.6.0 | grep _ZN21wxMemoryFSHandlerBase19AddFileWithMimeTypeERK8wxStringPKvjS2_
000e5cb0 g DF .text 0000014b WXU_2.8.5 _ZN21wxMemoryFSHandlerBase19AddFileWithMimeTypeERK8wxStringPKvjS2_

That's what it should be and how wxWidgets developers intended it. If you look at the older ubuntu1 version of wxbase, though, it's broken:

$ objdump -T /usr/lib/libwx_baseu-2.8.so.0.6.0 | grep _ZN21wxMemoryFSHandlerBase19AddFileWithMimeTypeERK8wxStringPKvjS2_
000e5e00 g DF .text 0000014b WXU_2.8 _ZN21wxMemoryFSHandlerBase19AddFileWithMimeTypeERK8wxStringPKvjS2_

In fact, somebody removed *all* 2.8.x versioned symbols in ubuntu1. How that feat was accomplished, I have no idea. But now that that screwup was corrected in ubuntu1.1, apps compiled against ubuntu1 will break. The only fix I can think of is for Ubuntu to rebuild *all* packages dependent on wxWidgets *and* make them depend on ubuntu1.1 version of wxWidgets packages. Because there's no way this bug affects Poedit only.