There is a bug in the rfb.h header included with libvncserver-0.8.2 that causes compiling to fail if it is included twice. The #ifndef RFB_H does not include the closing curly bracket to extern C statement. Reproducible: Always Steps to Reproduce: 1.Create and compile a program that includes rfb/rfb.h twice (sample program below). Actual Results: Compile will fail with /usr/include/rfb/rfb.h:971: error: expected declaration before '}' token Expected Results: The compile should succeed ignoring the second rfb/rfb.h. Sample program: #include <rfb/rfb.h> #include <rfb/rfb.h> int main(){} emerge --info: Portage 2.1.2.2 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.5-r0, 2.6.20-gentoo-r7-skas3-v8.2 i686) ================================================================= System uname: 2.6.20-gentoo-r7-skas3-v8.2 i686 Intel(R) Celeron(R) M processor 1400MHz Gentoo Base System release 1.12.9 Timestamp of tree: Wed, 16 May 2007 07:00:01 +0000 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.4 [enabled] dev-java/java-config: 1.3.7, 2.0.31-r5 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r7 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.15-r1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer -mmmx -msse -msse2 -mfpmath=sse -mno-tls-direct-seg-refs" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer -mmmx -msse -msse2 -mfpmath=sse -mno-tls-direct-seg-refs" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distcc distlocks metadata-transfer parallel-fetch sandbox sfperms strict" GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://gentoo.osuosl.org/ http://gentoo.mirrors.tds.net/gentoo" LINGUAS="en" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/xeffects /usr/portage/local/layman/sunrise /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X Xaw3d a52 aac acpi aiglx alsa apache2 arts artswrappersuid authdaemond autoreplace bash-completion bidi bitmap-fonts branding bzip2 cairo cdda cddb cdparanoia cdr cli connectionstatus cracklib crypt css ctype cups cvs d dbus dhcp dlloader doc dri dts dvd dvdr dvdread emboss encode fam fbsplash ffmpeg firefox flac gdbm gif gimpprint glibc-omitfp glut gnutls gpm gstreamer gtk gtk2 hal httpd iconv ipv6 irc isdnlog java jingle joystick jpeg jpeg2k kde kdrive kerberos kqemu ldap libclamav libg++ live logrotate mad madwifi mailwrapper matroska mbox midi mikmod mmx mng mozbranding mozsvg mp3 mpeg mplayer mysql ncurses nls nptl nptlonly nsplugin ogg opengl pam pcmcia pcre pda pdf perl php pic png ppds pppd python qt qt3 qt3support qt4 quicktime readline reflection resolvconf samba sasl scanner sdl session skey sound spell spl sql sse sse2 ssl stream subversion svg svga tcpd theora threads tidy tiff tk tools transparency truetype truetype-fonts type1-fonts unicode usb utempter v4l v4l2 vcd vhosts videos visualization vlm vorbis wifi win32codecs wxwindows x86 xcomposite xinerama xml xorg xscreensaver xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse joystick synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="i810 vesa" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
0.9+ has this fixed