pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/42176: emulators/qemu fails to compile on NetBSD 4.0 (i386 .. or probably any)



>Number:         42176
>Category:       pkg
>Synopsis:       emulators/qemu fails to compile on NetBSD 4.0 (i386 .. or 
>probably any)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Oct 13 10:05:00 +0000 2009
>Originator:     Robert Elz
>Release:        NetBSD 4.0 / i386   (pkgsrc -current 2009-10-13)
>Organization:
        Prince of Songkla University
>Environment:
System: NetBSD jade.coe.psu.ac.th 4.0_STABLE NetBSD 4.0_STABLE 
(JADE-1.696-20080517) #9: Fri May 23 18:55:13 ICT 2008 
kre%jade.coe.psu.ac.th@localhost:/usr/obj/4/kernels/JADE i386
Architecture: i386
Machine: i386
>Description:
        The latest version of qemu (qemu-0.11.0) doesn't compile on
        NetBSD 4.0 as it expects to use TAILQ_FOREACH_SAFE() which
        doesn't exist in NetBSD 4

>How-To-Repeat:
        I use pkg_comp with NetBSD 4.0 release sets installed, amd
        libkver to similate a fairly pure NetBSD 4.0 release environment.
        (I use pkgsrc modular xorg instead of the x* sets, but that's
        not relevant here).

        In that environment expect to see ...

===> Building for qemu-0.11.0
  GEN   qemu-img-cmds.h
  [....]
  CC    net.o
net.c: In function 'qemu_purge_queued_packets':
net.c:470: warning: implicit declaration of function 'TAILQ_FOREACH_SAFE'
net.c:470: error: 'entry' undeclared (first use in this function)
net.c:470: error: (Each undeclared identifier is reported only once
net.c:470: error: for each function it appears in.)
net.c:470: error: expected ';' before '{' token
gmake: *** [net.o] Error 1
*** Error code 2

Stop.
make: stopped in /usr/pkgsrc/emulators/qemu
*** Error code 1

Stop.

>Fix:
        Either just use TAILQ_FOREACH() (and a bunch of hackery),
        or provide a version of TAILQ_FOREACH_SAFE() just for NetBSD-4
        (and other systems that might not have it) or relpace the use
        of the TAILQ macro with hand rolled code, or ....



Home | Main Index | Thread Index | Old Index