Summary: | media-libs/libgroove-4.3.0-r1 : /.../SDL_config.h:33:26: fatal error: SDL_platform.h: No such file or directory | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | Diogo Pereira <sir.suriv> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | games, polynomial-c, proxy-maint |
Priority: | Normal | Keywords: | TESTFAILURE |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://bugs.gentoo.org/show_bug.cgi?id=634296 https://bugs.gentoo.org/show_bug.cgi?id=634370 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge-info.txt
emerge-history.txt environment etc.portage.tbz2 logs.tbz2 media-libs:libgroove-4.3.0-r1:20171016-054454.log temp.tbz2 |
Description
Toralf Förster
2017-10-16 18:16:17 UTC
Created attachment 498874 [details]
emerge-info.txt
Created attachment 498876 [details]
emerge-history.txt
Created attachment 498878 [details]
environment
Created attachment 498880 [details]
etc.portage.tbz2
Created attachment 498882 [details]
logs.tbz2
Created attachment 498884 [details]
media-libs:libgroove-4.3.0-r1:20171016-054454.log
Created attachment 498886 [details]
temp.tbz2
This seems to be a bug in libsdl2-2.0.6.ebuild, specifically in lines 66-68: > MULTILIB_WRAPPED_HEADERS=( > /usr/include/SDL2/SDL_config.h > ) Either deleting those lines or adding a few more headers fixes the build failure: > MULTILIB_WRAPPED_HEADERS=( > /usr/include/SDL2/SDL_config.h >+ /usr/include/SDL2/SDL_platform.h >+ /usr/include/SDL2/begin_code.h >+ /usr/include/SDL2/close_code.h > ) I am familiar with neither libsdl nor MULTILIB_WRAPPED_HEADERS, so I don't know what would be the right approach, but according to the devmanual "header wrapping is *discouraged*". I looked into this again and found bug #634370, which suggested the solution would be to add /usr/include/SDL2 to the include path. The cause of the problem: - libgroove uses include directives with the SDL2 prefix (e.g. #include <SDL2/SDL.h>), so it only adds /usr/include to the include path. - SDL2 itself uses directives without the prefix (e.g. #include "SDL_platform.h"), so it needs /usr/include/SDL2 in the include path. The obvious solution is to add both /usr/include and /usr/include/SDL2 to the include path. Pull request: https://github.com/gentoo/gentoo/pull/6496 The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=69a81325c5375b158cbd9ca95fb865c50ffef773 commit 69a81325c5375b158cbd9ca95fb865c50ffef773 Author: Diogo Pereira <sir.suriv@gmail.com> AuthorDate: 2017-12-10 01:22:13 +0000 Commit: Patrice Clement <monsieurp@gentoo.org> CommitDate: 2017-12-12 20:01:11 +0000 media-libs/libgroove: fix build with libsdl2-2.0.6. Reported-by: Toralf Förster <toralf@gentoo.org> Closes: https://bugs.gentoo.org/634470 Closes: https://github.com/gentoo/gentoo/pull/6496 Package-Manager: Portage-2.3.13, Repoman-2.3.3 .../libgroove/files/libgroove-4.3.0_sdl2_include_dir.patch | 13 +++++++++++++ media-libs/libgroove/libgroove-4.3.0-r1.ebuild | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) |