Upon attemping to compile directvnc against the latest version of DirectFB, the following is obtained: [...] checking for directfb >= 0.9.16... yes checking DIRECTFB_CFLAGS... -D_REENTRANT -D_GNU_SOURCE -I/usr/include/directfb checking DIRECTFB_LIBS... -ldirectfb -lz -lfusion -ldirect -lpthread -ldl checking for getopt... yes checking for getopt_long... yes configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile config.status: creating config.h config.status: executing depfiles commands make all-recursive make[1]: Entering directory `/var/tmp/portage/directvnc-0.7.5/work/directvnc-0.7.5' Making all in src make[2]: Entering directory `/var/tmp/portage/directvnc-0.7.5/work/directvnc-0.7.5/src' source='main.c' object='main.o' libtool=no \ depfile='.deps/main.Po' tmpdepfile='.deps/main.TPo' \ depmode=gcc3 /bin/sh ../depcomp \ i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -D_REENTRANT -D_GNU_SOURCE -I/usr/include/directfb -march=pentium4m -Os -pipe -fomit-frame-pointer -c `test -f 'main.c' || echo './'`main.c source='dfb.c' object='dfb.o' libtool=no \ depfile='.deps/dfb.Po' tmpdepfile='.deps/dfb.TPo' \ depmode=gcc3 /bin/sh ../depcomp \ i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -D_REENTRANT -D_GNU_SOURCE -I/usr/include/directfb -march=pentium4m -Os -pipe -fomit-frame-pointer -c `test -f 'dfb.c' || echo './'`dfb.c dfb.c:33: error: parse error before "caps" dfb.c:33: warning: data definition has no type or storage class make[2]: *** [dfb.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/directvnc-0.7.5/work/directvnc-0.7.5/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/directvnc-0.7.5/work/directvnc-0.7.5' make: *** [all] Error 2 !!! ERROR: net-misc/directvnc-0.7.5 failed. !!! Function src_compile, Line 22, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message.
I found the issue: in dfb.c a var of type DFBGraphicsDeviceDescription is defined. Latest DirectFB versions no longer no longer have this type. But since this var, once defined, is never used, just commenting it out solves the problem.
Added some magic sed to fix the issue. Also created metadata.xml and listed myself as package maintainer.