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<void, 
>> Rainbow::ref_ptr<Rainbow::License>, 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<class T_return, class T_arg1, class T_arg2, class T_arg3, class 
>> 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

Reply via email to