On Sun, 23 Feb 2020 at 08:56:48 +0100, Lucas Nussbaum wrote:
> During a rebuild of all packages in sid, your package failed to build
> on amd64.
> > In file included from /<<PKGBUILDDIR>>/src/action.h:23,
> >                  from /<<PKGBUILDDIR>>/src/action.cxx:24:
> > /<<PKGBUILDDIR>>/src/blupi.h:23:10: fatal error: SDL.h: No such file or 
> > directory
> >    23 | #include <SDL.h>

Many games make wrong-but-usually-true assumptions about where the SDL2
headers and libraries can be found, but this one is particularly creative:
it assumes that SDL2 is installed in the same ${prefix} as planetblupi,
*and* that the SDL2 headers can be found in ${prefix}/include/SDL2.

Obviously, this is not how things are meant to work: it should be possible
to install SDL with --prefix=/opt/stuff and the games with
--prefix=$HOME/Games (or CMake equivalent) if that's what you want to do.

Despite not being considered correct, planetblupi's assumptions used to
work before we modified SDL2 to be multiarch co-installable
(<https://bugs.debian.org/909740>). There are two ways to address this
bug:

- Fix planetblupi to stop making this assumption
  (<https://salsa.debian.org/games-team/planetblupi/merge_requests/2>,
  or equivalently the attached patch);
- Change SDL2 so the assumption is true again
  (for example <https://salsa.debian.org/sdl-team/libsdl2/merge_requests/3>
  which also resolves <https://bugs.debian.org/951087>)

I've verified that either of these is sufficient to fix the FTBFS (compiled
successfully but not otherwise tested). For best robustness, I think we
would ideally do both.

    smcv

Reply via email to