On Sun, 2007-06-17 at 08:19 -0700, Daniel Burrows wrote:
> Hi all,
> 
>   I've been doing some test builds with g++-4.3 (on Debian, naturally),
> to see what sort of preparation will be needed before it's released as
> stable.  One of the packages I was trying to build bombed with this
> error:
> 
> /usr/include/sigc++-2.0/sigc++/signal.h:1675: error: declaration of 'typedef 
> struct sigc::slot_list<sigc::slot<T_return, sigc::nil, sigc::nil, sigc::nil, 
> sigc::nil, sigc::nil, sigc::nil, sigc::nil> > sigc::signal0<T_return, 
> T_accumulator>::slot_list'
> /usr/include/sigc++-2.0/sigc++/signal.h:168: error: changes meaning of 
> 'slot_list' from 'struct sigc::slot_list<sigc::slot<T_return, sigc::nil, 
> sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil> >'

I'm not using this compiler yet, so I can't really investigate this
properly.

>   The typedef in question is protected by a #ifdef and a comment saying
> that it exists only for backwards compatibility.  If I edit the include
> file in /usr/include that declares the corresponding #define and remove
> it, my compile succeeds.

I'd be very tempted to remove that in out libsigc++ 2.2 version if it
seems necessary. Hopefully it's only API in a header, and not part of
the shared library.

>   This also causes the build of the library itself to fail.  Is it safe
> for me to just remove the problematic #define from the headers entirely?
> I'd like to have future-proof packages if possible.

You shouldn't do that in a distro package, ideally, but you might have
no choice.


-- 
Murray Cumming
[EMAIL PROTECTED]
www.murrayc.com
www.openismus.com

_______________________________________________
libsigc-list mailing list
libsigc-list@gnome.org
http://mail.gnome.org/mailman/listinfo/libsigc-list

Reply via email to