[Wine] unable to compile
CrashedAgain
tedhansen at sasktel.net
Sun Apr 30 23:00:23 CDT 2006
I am still trying to run Turbocad Le under wine (see earlier post
http://groups.google.ca/group/comp.emulators.ms-windows.wine/browse_thread/thread/2abfa5ba1de237d3/05ad0098dae2ca05?q=crashedagain&rnum=8#05ad0098dae2ca05)
I have discovered it will run under version 20040121 or older but has
errors with later versions.
20040121 .deb package must be forced installed because of a libc6
version conflict so I am attempting to recompile hoping this will fix
the problem.
"make install" fails with the following message:
gcc -c -I. -I. -I../../include -I../../include
-DINCLUDEDIR="\"/usr/local/include/wine\"" -Wall -pipe
-mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+
-Wpointer-arith -g -O2 -o newstruc.o newstruc.c
newstruc.c: In function 'handle_ani_list':
newstruc.c:764: error: invalid lvalue in increment
newstruc.c: In function 'new_ani_curico':
newstruc.c:875: error: invalid lvalue in increment
make[2]: *** [newstruc.o] Error 1
make[2]: Leaving directory
`/home/crashedagain/compile/wine-20040121/tools/wrc'
make[1]: *** [wrc] Error 2
make[1]: Leaving directory
`/home/crashedagain/compile/wine-20040121/tools'
make: *** [tools] Error 2
desktop:/home/crashedagain/compile/wine-20040121#
The relevant sections of newstruc.c are:
"static void handle_ani_list(riff_tag_t *lst, enum res_e type, int
isswapped)
{
riff_tag_t *rtp = lst+1; /* Skip the "LIST" tag */
while((char *)rtp < (char *)lst + lst->size + sizeof(*lst))
{
if(!memcmp(rtp->tag, info, sizeof(info)))
{
rtp = (riff_tag_t *)(((char *)rtp) + 4);
}
else if(!memcmp(rtp->tag, inam, sizeof(inam)))
{
/* Ignore the icon/cursor name; its a string */
rtp = NEXT_TAG(rtp);
}
else if(!memcmp(rtp->tag, iart, sizeof(iart)))
{
/* Ignore the author's name; its a string */
rtp = NEXT_TAG(rtp);
}
else if(!memcmp(rtp->tag, fram, sizeof(fram)))
{
/* This should be followed by "icon"s, but we
* simply ignore this because it is pure
* non-information.
*/
rtp = (riff_tag_t *)(((char *)rtp) + 4);
}
else if(!memcmp(rtp->tag, icon, sizeof(icon)))
{
handle_ani_icon(rtp, type, isswapped);
rtp = NEXT_TAG(rtp);
}
else
internal_error(__FILE__, __LINE__, "Unknown tag \"%c%c%c%c\" in RIFF
file",
isprint(rtp->tag[0]) ? rtp->tag[0] : '.',
isprint(rtp->tag[1]) ? rtp->tag[1] : '.',
isprint(rtp->tag[2]) ? rtp->tag[2] : '.',
isprint(rtp->tag[3]) ? rtp->tag[3] : '.');
/* FIXME: This relies in sizeof(DWORD) == sizeof(pointer_type) */
if((DWORD)rtp & 1)
((char *)rtp)++;
}
}
line 764 is the "FIXME" line near the end.
line 875 is similar.
anyone know how to fix this?
More information about the wine-users
mailing list