FS#7573 - Spring compilation error (bug in devil lib, /usr/include/IL/il.h)

Attached to Project: Arch Linux
Opened by Christoph Zeiler (Rabyte) - Friday, 06 July 2007, 11:34 GMT
Last edited by Damir Perisa (damir.perisa) - Sunday, 02 December 2007, 15:30 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Damir Perisa (damir.perisa)
Architecture i686
Severity Medium
Priority Normal
Reported Version 2007.05 Duke
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:

When trying to compile spring (in AUR), the compilation procedure quits with the following error:

In file included from rts/Map/SM3/terrain/TerrainBase.h:41,
from rts/Map/SM3/Sm3Map.h:6,
from rts/Map/ReadMap.cpp:19:
/usr/include/IL/il.h:497: error: '<anonymous>' has incomplete type
/usr/include/IL/il.h:497: error: invalid use of 'ILvoid'
/usr/include/IL/il.h:498: error: '<anonymous>' has incomplete type
/usr/include/IL/il.h:498: error: invalid use of 'ILvoid'
/usr/include/IL/il.h:505: error: '<anonymous>' has incomplete type
/usr/include/IL/il.h:505: error: invalid use of 'ILvoid'
/usr/include/IL/il.h:516: error: '<anonymous>' has incomplete type
/usr/include/IL/il.h:516: error: invalid use of 'ILvoid'
/usr/include/IL/il.h:518: error: '<anonymous>' has incomplete type
/usr/include/IL/il.h:518: error: invalid use of 'ILvoid'
/usr/include/IL/il.h:521: error: '<anonymous>' has incomplete type
/usr/include/IL/il.h:521: error: invalid use of 'ILvoid'
/usr/include/IL/il.h:522: error: '<anonymous>' has incomplete type
/usr/include/IL/il.h:522: error: invalid use of 'ILvoid'
/usr/include/IL/il.h:525: error: '<anonymous>' has incomplete type
/usr/include/IL/il.h:525: error: invalid use of 'ILvoid'
/usr/include/IL/il.h:540: error: '<anonymous>' has incomplete type
/usr/include/IL/il.h:540: error: invalid use of 'ILvoid'
/usr/include/IL/il.h:552: error: '<anonymous>' has incomplete type
/usr/include/IL/il.h:552: error: invalid use of 'ILvoid'
/usr/include/IL/il.h:553: error: '<anonymous>' has incomplete type
/usr/include/IL/il.h:553: error: invalid use of 'ILvoid'
/usr/include/IL/il.h:554: error: '<anonymous>' has incomplete type
/usr/include/IL/il.h:554: error: invalid use of 'ILvoid'
/usr/include/IL/il.h:568: error: '<anonymous>' has incomplete type
/usr/include/IL/il.h:568: error: invalid use of 'ILvoid'

Additional info:

This error is clearly related to a bug in /usr/include/IL/il.h, owned by the devil package. All occurences of "int name(ILvoid);" in the file need to be replaced by "int name(void);".

It's already reported in DevIL's bugtracker: http://sourceforge.net/tracker/index.php?func=detail&aid=1651292&group_id=4470&atid=104470

Quick'n'dirty sed patch:
sed 's|(ILvoid)|(void)|g' -i /usr/include/IL/il.h

(For the spring package, you'll also need:
sed '101 a\>> end_p' -i $startdir/src/spring_0.74b3/rts/System/tdf_grammar.hpp)

Big thanks to Cirdan for the information :-)

Steps to reproduce:

Compile Spring.
This task depends upon

Closed by  Damir Perisa (damir.perisa)
Sunday, 02 December 2007, 15:30 GMT
Reason for closing:  Implemented
Additional comments about closing:  header fix backported to our pkg - waiting for official new release is not worth waiting for :)
Comment by Christoph Zeiler (Rabyte) - Wednesday, 18 July 2007, 12:36 GMT
sed 's|(ILvoid)|(void)|g' -i /usr/include/IL/il.h: Should be applied to the other files in /usr/include/IL as well.
Comment by Martin Skytte (marteus) - Saturday, 01 December 2007, 12:58 GMT
Seems this is only a problem for c++ (this occured when I converted an app from c to c++). C programs compiles with no problems.
Comment by Damir Perisa (damir.perisa) - Saturday, 01 December 2007, 19:26 GMT
i'll fix devil headers for arch releasing a new pkgrel soon (as soon as i get home)

as this is actually an upstream bug, does anybody know about the state of the upstream fix? or devil state of development in general? any new release planned? if i have a look at only this bug, i feel it is a dead project, since no work happened on the issue since february 2007 (report of bug).
Comment by Damir Perisa (damir.perisa) - Saturday, 01 December 2007, 20:04 GMT
please confirm fix in devil 1.6.7-5 once its up, thx
Comment by Christoph Zeiler (Rabyte) - Saturday, 01 December 2007, 21:48 GMT
Had a quick look at the project's cvs repo. It appears the last commit was six months ago, and this bug has been fixed. Doesn't look like there'll be a new release anytime soon though...
Comment by Damir Perisa (damir.perisa) - Saturday, 01 December 2007, 21:53 GMT
that's exactly why i'm asking - is any real person behind DevIL any more? or is it orphaned and therefore dying?
-5 works for you?
Comment by Christoph Zeiler (Rabyte) - Sunday, 02 December 2007, 14:11 GMT
Works.
Comment by Martin Skytte (marteus) - Sunday, 02 December 2007, 14:40 GMT
works +1

Loading...