|
Bugzilla – Full Text Bug Listing |
| Summary: | wx library ABI incompatible with its applications | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE Tumbleweed | Reporter: | Libor Pechacek <lpechacek> |
| Component: | X11 Applications | Assignee: | Stanislav Brabec <sbrabec> |
| Status: | RESOLVED DUPLICATE | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Critical | ||
| Priority: | P5 - None | CC: | jengelh |
| Version: | Current | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
|
Description
Libor Pechacek
2016-06-26 11:51:09 UTC
Where may I find this pyodb in the build service? pyOBD is not part of openSUSE distribution unlike wxWidgets which it is using. For debugging you can use Hugin, which is included in the distro. As expected, with today's Tumbleweed release, the issue is gone. Question remains if this condition could be prevented through package dependencies. Which dependency would you like to see that is currently missing? I am afraid that there is no easy way to prevent this type of breakage without recompilation of all applications. wxWidgets developers don't care about a stable ABI. They care only about stable API. Configure options, libraries available, library versions, compiler versions… Everything that can cause ABI breakage. It caused many obscure crashes in past. wxWidgets developers decided to solve this problem by adding an ABI consistency checks. Crashes are now clean and well defined. I tried to prevent the ABI incompatibility by adding four ABI variants of wxWidgets to the distro. But it caused different type of problems (library outside the default searching paths, need for RPATH, compatibility with no more than one variant of ABI by applications compiled without specially crafted wxGTK…) WONTFIX = CANTFIX. It is a decision of upstream. To be fair, the problem lies with the ABI "breakage" of G++ (g++ -fabi-version=n, and n is a moving target), and the fact that transitive rebuilds are disabled in openSUSE:Factory. (osc meta prj openSUSE:Factory: note the rebuild=local, which means "rebuild on source change only"). In this case, yes. But wxGTK will break in many other cases: - enable/disable Unicode - enable/disable STL - enable/disable 2.4 compatibility ... (In reply to Stanislav Brabec from comment #7) > In this case, yes. But wxGTK will break in many other cases: > - enable/disable Unicode > - enable/disable STL > - enable/disable 2.4 compatibility > ... Indeed; though for openSUSE, I consider the ABI breakage that results from --enable-thisandthat a solved issue, since we just assign a unique SONAME for a particular set of {flags, shipped wx version}. The number of problem cases is therefore really just down to __GXX_ABI_VERSION. I already thought about just always using e.g. -fabi-version=2, but I wonder what effect this has on wx-using programs which would go on using -fabi-version=latest. A patch has been added to upstream and openSUSE… only "a few" more days until it's in Tumbleweed. . *** This bug has been marked as a duplicate of bug 953017 *** |