Bug#527705: kobodeluxe failing to build in Debian: enemies.h:75: error: 'const enemy_kind pipe2' redeclared as different kind of symbol

Damyan Ivanov dmn at debian.org
Sat May 9 06:49:28 UTC 2009


Hello David,

Below is a bugreport I got about the Debian package of kobodeluxe. As 
far as I can tell (with my limitted C++ knowledge), the pipe2 symbol 
declaration in enemies.h collides with the one in unistd.h.

This was built OK before, but since then Debian has new GCC and libc 
so I suspect they may have become more strict (or buggy?).

The patch attached seems to work around the problem by renaming pipe2 
to pipe2_kbdl, but I guess usage of namespaces or something like that 
should be the proper fix. Or, I may be completely off-track.


The bug log is available at http://bugs.debian.org/527705
It would e nice if you keep 527705 at bugs.debian.org in Cc.

Thanks for looking into this.

    Damyan


-=| Lucas Nussbaum, Fri, May 08, 2009 at 07:25:16PM +0200 |=-
> Package: kobodeluxe
> Version: 0.5.1-3
> Severity: serious
> User: debian-qa at 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:
> > if g++ -DHAVE_CONFIG_H -I. -I. -I. -DKOBO_DATA_DIR=\""/usr/share/kobo-deluxe"\" -DKOBO_SCORE_DIR=\""/var/games/kobo-deluxe/scores"\" -DKOBO_CONFIG_DIR=\""HOME>>"\" -DKOBO_CONFIG_FILE=\"".kobodlrc"\" -DSYSCONF_DIR=\""/etc"\" -Isound -Igraphics -Ieel -Idata/sfx     -g -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DHAVE_OPENGL -MT manage.o -MD -MP -MF ".deps/manage.Tpo" \
> > 	  -c -o manage.o `test -f 'manage.cpp' || echo './'`manage.cpp; \
> > 	then mv -f ".deps/manage.Tpo" ".deps/manage.Po"; \
> > 	else rm -f ".deps/manage.Tpo"; exit 1; \
> > 	fi
> > In file included from scenes.h:28,
> >                  from manage.cpp:44:
> > enemies.h:75: error: 'const enemy_kind pipe2' redeclared as different kind of symbol
> > /usr/include/unistd.h:389: error: previous declaration of 'int pipe2(int*, int)'
> > enemies.h: In member function 'int _enemy::is_pipe()':
> > enemies.h:433: error: comparison between distinct pointer types 'const enemy_kind*' and 'int (*)(int*, int)throw ()' lacks a cast
> > make[3]: *** [manage.o] Error 1
> 
> The full build log is available from:
>    http://people.debian.org/~lucas/logs/2009/05/08/kobodeluxe_0.5.1-3_lsid64.buildlog

-- 
dam
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 04_enemies-pipe-decl.patch
Type: text/x-diff
Size: 2069 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-games-devel/attachments/20090509/4d8281e9/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-games-devel/attachments/20090509/4d8281e9/attachment.pgp>


More information about the Pkg-games-devel mailing list