[Libtorrent-devel] libtorrent for kde, strange sigc++ header problems

Felix Berger bflat1 at gmx.net
Wed Feb 23 18:01:32 UTC 2005


Hi,

today I started a bittorrent implementation for KDE's kget based on 
libtorrent.

I've run into some strange header problems with sigc++ and thought I'd ask 
here, maybe it's a known issue.

As to my setup:

I included the following two test in the configure.ac files

PKG_CHECK_MODULES(TORRENT, libtorrent,
                  CXXFLAGS="$CXXFLAGS $TORRENT_CFLAGS";
                  LIBS="$LIBS $TORRENT_LIBS")


PKG_CHECK_MODULES(STUFF, sigc++-2.0,
                  CXXFLAGS="$CXXFLAGS $STUFF_CFLAGS";
                  LIBS="$LIBS $STUFF_LIBS")

and they completed successfully in the configure run. I had to include the 
sigc++-2.0 stuff too because it uses some really non-standard include paths 
on my system (Debian unstable).

Well, here is the compiler output:

if /bin/sh ../../../libtool --silent --mode=compile --tag=CXX g++ 
-I /home/bflat1/tmp/include/ -DHAVE_CONFIG_H -I. -I. -I../../.. 
-I/home/bflat1/tmp/include -I/usr/share/qt3/include -I/usr/X11R6/include  
-I./../..  -DQT_THREAD_SUPPORT  -D_REENTRANT -D_FILE_OFFSET_BITS=64  
-Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 
-D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W 
-Wpointer-arith -Wwrite-strings -g -O2 -Wformat-security 
-Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common 
-fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE 
-DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION 
-I/home/bflat1/tmp//include   -I/usr/include/sigc++-2.0 
-I/usr/lib/sigc++-2.0/include    -MT bttransfer.lo -MD -MP -MF 
".deps/bttransfer.Tpo" \
  -c -o bttransfer.lo `test -f 'bttransfer.cpp' || echo './'`bttransfer.cpp; \
then mv -f ".deps/bttransfer.Tpo" ".deps/bttransfer.Plo"; \
else rm -f ".deps/bttransfer.Tpo"; exit 1; \
fi
In file included from /usr/include/sigc++-2.0/sigc++/connection.h:22,
                 from /home/bflat1/tmp/include/torrent/download.h:11,
                 from /home/bflat1/tmp/include/torrent/torrent.h:6,
                 from bttransfer.h:26,
                 from bttransfer.cpp:21:
/usr/include/sigc++-2.0/sigc++/signal.h:434: error: parse error before `*' 
   token
/usr/include/sigc++-2.0/sigc++/signal.h:441: error: invalid data member 
   initialization
/usr/include/sigc++-2.0/sigc++/signal.h:441: error: (use `=' to initialize 
   static data members)
/usr/include/sigc++-2.0/sigc++/signal.h:444: error: parse error before 
`return'
/usr/include/sigc++-2.0/sigc++/signal.h:448: error: parse error before `}' 
   token
/usr/include/sigc++-2.0/sigc++/signal.h:456: error: `signal_emit0' is not a 
   template
/usr/include/sigc++-2.0/sigc++/signal.h:457: error: ISO C++ forbids 
declaration 
   of `signal_emit0' with no type
/usr/include/sigc++-2.0/sigc++/signal.h:457: error: template-id `
   signal_emit0<T_return, sigc::nil>' used as a declarator
/usr/include/sigc++-2.0/sigc++/signal.h:457: confused by earlier errors, 
bailing out
make[1]: *** [bttransfer.lo] Error 1

It looks like the signal_impl type can't be resolved. An insight into this is 
welcome, I'll try to find out on my own in the meantime as well.

Regards
Felix Berger

-- 
Try Debian GNU/Linux!
http://www.felix.beldesign.de/


More information about the Libtorrent-devel mailing list