[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: