Bug#598968: marked as done (ITP: bsnes -- Accurate SNES/SuperFamicom emulator)
Hi,
great that bsnes has finally been uploaded to unstable. However,
the package is broken, it doesn't build from source (FTBFS). The
problem appears to be a hardwired version of gcc. The Makefile
explicitly calls gcc-4.5/g++-4.5 which are not available on
testing and unstable anymore.
The compilers are set in the following Makefiles in the bsnes source:
bsnes/nall/Makefile
snesfilter/nall/Makefile
snespurify/phoenix/nall/Makefile
snespurify/nall/Makefile
The compiler version is set to 4.5 when neither Windows or MacOS
are used:
ifeq ($(compiler),)
ifeq ($(platform),win)
compiler := gcc
else ifeq ($(platform),osx)
compiler := gcc-mp-4.5
else
compiler := gcc-4.5
endif
endif
The C++ compiler binary is then generated by regexp replace
in the other Makefiles:
# compiler
c := $(compiler) -std=gnu99
cpp := $(subst cc,++,$(compiler)) -std=gnu++0x
for example in bsnes/Makefile.
The resulting build messages show the attempted invocation
of g++-4.5:
make[2]: Entering directory
`/build/buildd-bsnes_0.080-1-armel-UONOIG/bsnes-0.080/bsnes'
g++-4.5 -std=gnu++0x -O3 -fomit-frame-pointer
-I. -DPROFILE_COMPATIBILITY -c ui/main.cpp -o obj/ui-main.o
make[2]: g++-4.5: Command not found
make[2]: *** [obj/ui-main.o] Error 127
See the build logs here [1].
There is actually already a Debian patch which adresses this
issue for the subdirectory "snespurify", but apparently not
for the remaining subdirectories. The patch is found at
debian/patches/build-snespurify-with-g++-4.6.patch. Patching
the other Makefiles mentioned above should fix the FTBFS.
Regards,
Adrian
[1] https://buildd.debian.org/status/package.php?p=bsnes
Reply to: