Lucas Nussbaum wrote:
> Package: gnomoradio
> Version: 0.15.1-5.2
> Severity: serious
> User: debian...@lists.debian.org
> Usertags: qa-ftbfs-20090508 qa-ftbfs
> Justification: FTBFS on amd64
>
> Hi,
>
> During a rebuild of all packages in sid, your package failed to build on
> amd64.
>
> Relevant part:
>> x86_64-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I.. -pthread
>> -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include
>> -I/usr/include/libxml++-2.6 -I/usr/lib/libxml++-2.6/include
>> -I/usr/include/libxml2 -I/usr/include/glibmm-2.4
>> -I/usr/lib/glibmm-2.4/include -I/usr/include/glib-2.0
>> -I/usr/lib/glib-2.0/include -g -O2 -MT license.lo -MD -MP -MF
>> .deps/license.Tpo -c license.cc -fPIC -DPIC -o .libs/license.o
>> license.cc: In static member function 'static void
>> Rainbow::License::get_and_do(const Glib::ustring&, const sigc::slot> Rainbow::ref_ptr, sigc::nil, sigc::nil, sigc::nil,
>> sigc::nil, sigc::nil, sigc::nil>&, xmlpp::Element*)':
>> license.cc:57: error: reference to 'signal' is ambiguous
>> /usr/include/signal.h:93: error: candidates are: void (* signal(int, void
>> (*)(int)))(int)
>> /usr/include/sigc++-2.0/sigc++/signal.h:2598: error:
>> template> T_arg4, class T_arg5, class T_arg6, class T_arg7> class sigc::signal
>> license.cc:57: error: expected primary-expression before 'void'
>> license.cc:57: error: expected `;' before 'void'
>> license.cc:58: error: 'sig' was not declared in this scope
>> make[3]: *** [license.lo] Error 1
>
> The full build log is available from:
>
> http://people.debian.org/~lucas/logs/2009/05/08/gnomoradio_0.15.1-5.2_lsid64.buildlog
Gotta love C++. Write code once, sit around for several years, wake up
one day and it suddenly no longer compiles.
Is there an easy way to figure out where /usr/include/signal.h is being
included? It seems that "signal" in that file is conflicting with
sigc::signal. I suspect there are two possibilities:
* /usr/include/signal.h was recently #include'd by one of gnomoradio's
dependencies. or,
* /usr/include/signal.h has always been included, but a new version of
g++ has determined this reference to 'signal' to be ambiguous where it
had not been before.
I no longer use Debian, but I will try to debug this further if I get a
chance.
Here's a related message on libsigc-list:
http://www.nabble.com/namespace-problem-td19310347.html
Maybe I ought to just s/signal/sigc::signal/ throughout the source...
- Jim
--
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org