Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#24017 - [dosbox] doesnt't compile with gcc 4.6

Attached to Project: Community Packages
Opened by Martin Jungmann (Ryblec) - Sunday, 01 May 2011, 09:33 GMT
Last edited by Jelle van der Waa (jelly) - Friday, 17 June 2011, 21:14 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Jaroslav Lichtblau (Dragonlord)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: dosbox doesnt't compile with gcc 4.6

Steps to reproduce:
* abs extra/dosbox
* cd /var/abs/extra/dosbox
* makepkg

Output:
../../include/dos_inc.h: In member function 'void DOS_MCB::SetFileName(const char*)':
../../include/dos_inc.h:543:78: error: expected primary-expression before ',' token

"Solution": downgrade to gcc 4.5
This task depends upon

Closed by  Jelle van der Waa (jelly)
Friday, 17 June 2011, 21:14 GMT
Reason for closing:  Fixed
Additional comments about closing:  fixed in svn
Comment by Jaroslav Lichtblau (Dragonlord) - Wednesday, 18 May 2011, 21:04 GMT
Was this reported to upstream too? If not, I suggest to do so.

Building in clean chroot, error message looks like:
<snip>
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -march=i686 -mtune=generic -O2 -pipe -MT flags.o -MD -MP -MF .deps/flags.Tpo -c -o flags.o flags.cpp
In file included from ../../include/programs.h:28:0,
from cpu.cpp:29:
../../include/dos_inc.h: In member function 'void DOS_MCB::SetFileName(const char*)':
../../include/dos_inc.h:543:78: error: expected primary-expression before ',' token
../../include/dos_inc.h:543:79: error: 'filename' was not declared in this scope
../../include/dos_inc.h:543:87: error: 'offsetof' was not declared in this scope
../../include/dos_inc.h: In member function 'void DOS_MCB::GetFileName(char*)':
../../include/dos_inc.h:544:71: error: expected primary-expression before ',' token
../../include/dos_inc.h:544:72: error: 'filename' was not declared in this scope
../../include/dos_inc.h:544:80: error: 'offsetof' was not declared in this scope
cpu.cpp: In member function 'void TaskStateSegment::Get_SSx_ESPx(Bitu, Bitu&, Bitu&)':
cpu.cpp:294:37: error: expected primary-expression before ',' token
cpu.cpp:294:38: error: 'esp0' was not declared in this scope
cpu.cpp:294:42: error: 'offsetof' was not declared in this scope
cpu.cpp:298:37: error: expected primary-expression before ',' token
cpu.cpp:298:38: error: 'sp0' was not declared in this scope
cpu.cpp:298:41: error: 'offsetof' was not declared in this scope
cpu.cpp: In function 'bool CPU_SwitchTask(Bitu, TSwitchType, Bitu)':
cpu.cpp:362:49: error: expected primary-expression before ',' token
cpu.cpp:362:50: error: 'cr3' was not declared in this scope
cpu.cpp:362:53: error: 'offsetof' was not declared in this scope
cpu.cpp:363:49: error: expected primary-expression before ',' token
cpu.cpp:363:50: error: 'eip' was not declared in this scope
cpu.cpp:364:52: error: expected primary-expression before ',' token
cpu.cpp:364:53: error: 'eflags' was not declared in this scope
cpu.cpp:365:49: error: expected primary-expression before ',' token
cpu.cpp:365:50: error: 'eax' was not declared in this scope
cpu.cpp:366:49: error: expected primary-expression before ',' token
cpu.cpp:366:50: error: 'ecx' was not declared in this scope
cpu.cpp:367:49: error: expected primary-expression before ',' token
cpu.cpp:367:50: error: 'edx' was not declared in this scope
cpu.cpp:368:49: error: expected primary-expression before ',' token
cpu.cpp:368:50: error: 'ebx' was not declared in this scope
cpu.cpp:369:49: error: expected primary-expression before ',' token
cpu.cpp:369:50: error: 'esp' was not declared in this scope
cpu.cpp:370:49: error: expected primary-expression before ',' token
cpu.cpp:370:50: error: 'ebp' was not declared in this scope
cpu.cpp:371:49: error: expected primary-expression before ',' token
cpu.cpp:371:50: error: 'edi' was not declared in this scope
cpu.cpp:372:49: error: expected primary-expression before ',' token
cpu.cpp:372:50: error: 'esi' was not declared in this scope
cpu.cpp:374:48: error: expected primary-expression before ',' token
cpu.cpp:375:48: error: expected primary-expression before ',' token
cpu.cpp:376:48: error: expected primary-expression before ',' token
cpu.cpp:377:48: error: expected primary-expression before ',' token
cpu.cpp:378:48: error: expected primary-expression before ',' token
cpu.cpp:379:48: error: expected primary-expression before ',' token
cpu.cpp:380:49: error: expected primary-expression before ',' token
cpu.cpp:380:50: error: 'ldt' was not declared in this scope
cpu.cpp:403:42: error: expected primary-expression before ',' token
cpu.cpp:403:43: error: 'eflags' was not declared in this scope
cpu.cpp:403:49: error: 'offsetof' was not declared in this scope
cpu.cpp:404:42: error: expected primary-expression before ',' token
cpu.cpp:404:43: error: 'eip' was not declared in this scope
cpu.cpp:406:42: error: expected primary-expression before ',' token
cpu.cpp:406:43: error: 'eax' was not declared in this scope
cpu.cpp:407:42: error: expected primary-expression before ',' token
cpu.cpp:407:43: error: 'ecx' was not declared in this scope
cpu.cpp:408:42: error: expected primary-expression before ',' token
cpu.cpp:408:43: error: 'edx' was not declared in this scope
cpu.cpp:409:42: error: expected primary-expression before ',' token
cpu.cpp:409:43: error: 'ebx' was not declared in this scope
cpu.cpp:410:42: error: expected primary-expression before ',' token
cpu.cpp:410:43: error: 'esp' was not declared in this scope
cpu.cpp:411:42: error: expected primary-expression before ',' token
cpu.cpp:411:43: error: 'ebp' was not declared in this scope
cpu.cpp:412:42: error: expected primary-expression before ',' token
cpu.cpp:412:43: error: 'esi' was not declared in this scope
cpu.cpp:413:42: error: expected primary-expression before ',' token
cpu.cpp:413:43: error: 'edi' was not declared in this scope
cpu.cpp:415:42: error: expected primary-expression before ',' token
cpu.cpp:416:42: error: expected primary-expression before ',' token
cpu.cpp:417:42: error: expected primary-expression before ',' token
cpu.cpp:418:42: error: expected primary-expression before ',' token
cpu.cpp:419:42: error: expected primary-expression before ',' token
cpu.cpp:420:42: error: expected primary-expression before ',' token
cpu.cpp:428:43: error: expected primary-expression before ',' token
cpu.cpp:428:44: error: 'back' was not declared in this scope
cpu.cpp:428:48: error: 'offsetof' was not declared in this scope
cpu.cpp:430:43: error: expected primary-expression before ',' token
cpu.cpp:430:44: error: 'back' was not declared in this scope
cpu.cpp:430:48: error: 'offsetof' was not declared in this scope
mv -f .deps/flags.Tpo .deps/flags.Po
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -march=i686 -mtune=generic -O2 -pipe -MT modrm.o -MD -MP -MF .deps/modrm.Tpo -c -o modrm.o modrm.cpp
make[4]: *** [cpu.o] Error 1
make[4]: *** Waiting for unfinished jobs....
mv -f .deps/modrm.Tpo .deps/modrm.Po
make[4]: Leaving directory `/build/src/dosbox-0.74/src/cpu'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/build/src/dosbox-0.74/src/cpu'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/build/src/dosbox-0.74/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/build/src/dosbox-0.74'
make: *** [all] Error 2
==> ERROR: A failure occurred in build().
Aborting...

Targets (30): xcb-proto-1.6-2 xproto-7.0.21-1 libxdmcp-1.1.0-1
libxau-1.0.6-1 libxcb-1.7-2 kbproto-1.0.5-1 libx11-1.4.3-2
xextproto-7.2.0-1 libxext-1.3.0-1 renderproto-0.11.1-1
libxrender-0.9.6-1 sdl-1.2.14-6 sdl_net-1.2.7-3
libmikmod-3.1.12-3 libogg-1.2.2-1 libvorbis-1.3.2-1
flac-1.2.1-2 speex-1.2rc1-1.1 smpeg-0.4.4-5 sdl_sound-1.0.3-2
libdrm-2.4.25-1 xf86vidmodeproto-2.3.1-1 libxxf86vm-1.1.1-1
fixesproto-5.0-1 libxfixes-5.0-1 damageproto-1.2.1-1
libxdamage-1.1.3-1 libgl-7.10.2-2 libpng-1.4.5-1
alsa-lib-1.0.24.1-1
Targets (6): libice-1.0.7-1 libsm-1.2.0-1 libxt-1.1.1-1 dri2proto-2.3-1
glproto-1.4.12-1 mesa-7.10.2-2
Comment by Martin Jungmann (Ryblec) - Thursday, 19 May 2011, 10:12 GMT
It's already solved upstream, because I can compile the current svn-version.

I did some research and found out that "#include <stddef.h>" must be inserted into "include/dos_inc.h" to make it work again.
Have a look at http://dosbox.svn.sourceforge.net/viewvc/dosbox/dosbox/trunk/include/dos_inc.h?revision=3713&view=markup for the exact location of this line.

Loading...