pkgsrc-Bugs archive

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

pkg/40578: net/kdenetwork3 fails to build on NetBSD with native Xorg

>Number:         40578
>Category:       pkg
>Synopsis:       net/kdenetwork3 fails to build on NetBSD with native Xorg
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Feb 08 17:50:00 +0000 2009
>Originator:     RM
NetBSD ultra10 5.0_BETA NetBSD 5.0_BETA (GENERIC) #0: Tue Feb  3 21:25:22 GMT 
2009  root@p3smp:/opt/obj.sparc64/sys/arch/sparc64/compile/GENERIC sparc64
While building kde from pkgsrc, it stopped in kdenetwork with the following 
error message:

/opt/pkg.obj/net/kdenetwork3/work.ultra10/.buildlink/include/X11/Xmd.h:150: erro
r: conflicting declaration 'typedef unsigned int CARD32'
../../krfb/libvncserver/rfb.h:48: error: 'CARD32' has a previous declaration as
'typedef long unsigned int CARD32'

gmake[3]: Leaving directory `/opt/pkg.obj/net/kdenetwork3/work.ultra10/kdenetwor
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/opt/pkg.obj/net/kdenetwork3/work.ultra10/kdenetwor
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/opt/pkg.obj/net/kdenetwork3/work.ultra10/kdenetwor
gmake: *** [all] Error 2
*** Error code 2

The problem here is that include/X11/Xdm.h file has a typedef declaration that 
conflicts with the same one in kdenetwork sources.


The fix is to patch kdenetwork source files, in order to rename all CARD8, 
CARD16, CARD32, CARD64 typedef declarations to something like 
KRFB_CARD8/16/32/64, etc.

Below is a quick fix to do it. The script finds any files under krfb directory 
that contain CARD charcter sequence and replace it with KRFB_CARD.
A proper fix would be to generate patch files from the command below and add 
them to net/kdenetwork3/patches directory.

# pwd

# for i in `find . -type f`
grep 'CARD' $i > /dev/null && flist=`echo "$flist $i"`

# for i in $flist
sed 's/CARD/KRFB_CARD/g' $i > $i.sed_tmp
mv $i.sed_tmp $i

Home | Main Index | Thread Index | Old Index