SoundScapeRenderer / ssr

Main source code repository for the SoundScape Renderer
http://spatialaudio.net/ssr/
GNU General Public License v3.0
132 stars 52 forks source link

FTBFS on amd64/Debian #22

Open umlaeute opened 9 years ago

umlaeute commented 9 years ago

It seems that soundscaperenderer-0.4.2 can no longer be built (at least on Debian/testing, amd64)

the build fails when trying to build ssr-binaural (though i guess this is just the first occurence of the problem):

depbase=`echo ssr_binaural.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
g++ -DHAVE_CONFIG_H -I.  -I./../apf  -DSSR_DATA_DIR=\"/usr/local/share/ssr\" -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I./boostnetwork  -I/usr/include/libecasoundc -Wall -Wextra -pedantic -Wno-long-long -Winit-self -Wcast-align -Wmissing-declarations -Wredundant-decls -Woverloaded-virtual -Wnon-virtual-dtor -Wwrite-strings -Wstrict-overflow=0 -I/usr/include/libxml2   -DNDEBUG -g -std=c++11 -MT ssr_binaural.o -MD -MP -MF $depbase.Tpo -c -o ssr_binaural.o ssr_binaural.cpp &&\
mv -f $depbase.Tpo $depbase.Po
In file included from ./../apf/apf/posix_thread_policy.h:61:0,
                 from controller.h:39,
                 from ssr_binaural.cpp:30:
./../apf/apf/misc.h: In constructor ‘apf::BlockParameter<T>::BlockParameter(Args&& ...) [with Args = {float}; T = float]’:
./../apf/apf/misc.h:102:41: internal compiler error: in convert_move, at expr.c:331
       , _old{std::forward<Args>(args)...}
                                         ^

the compiler in question is:

$ g++ --version
g++ (Debian 4.9.1-14) 4.9.1
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

it seems that clang++ is able to compile the code:

$ clang++-3.5 --version
Debian clang version 3.5.0-1 (tags/RELEASE_350/final) (based on LLVM 3.5.0)
Target: x86_64-pc-linux-gnu
Thread model: posix

so i guess the problem is really in g++. However, I am not very literate in C++-0x, and i might miss something (or you might have a workaround at hand)

the original bug-report for Debian can be found at: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=761529

mgeier commented 9 years ago

This problem seems to go away when replacing the braces with parentheses (see e6f2b07c5329d7a30afaa8b25b3ed4677f8e394f).

I still think the braces are correct (and probably better?) and that this is a bug in GCC (as @umlaeute suggested in the Debian bug report).