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
>Release:        
>Organization:
>Environment:
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
>Description:
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
k-3.5.10/krfb/krfb'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/opt/pkg.obj/net/kdenetwork3/work.ultra10/kdenetwor
k-3.5.10/krfb'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/opt/pkg.obj/net/kdenetwork3/work.ultra10/kdenetwor
k-3.5.10'
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.

>How-To-Repeat:

>Fix:
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
/opt/pkg.obj/net/kdenetwork3/work.ultra10/kdenetwork-3.5.10/krfb

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

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



Home | Main Index | Thread Index | Old Index