The patch "screen-4.0.3-crosscompile.patch" seems to change the behavior of configure to not work with fifos on my machine. Output from ./configure with stock sources: ... configure: checking fifos... - your fifos are usable configure: checking for broken fifo implementation... - your implementation is ok configure: checking sockets... - your sockets are usable configure: checking socket implementation... - you are normal - both sockets and fifos usable. let's take fifos. ... Output from ./configure via ebuild: ... configure: checking fifos... checking usable fifos... yes checking broken fifo implementation... yes configure: checking sockets... checking sockets are usable... yes configure: checking socket implementation... checking if sockets are not stored in the filesystem... no - as your fifos are broken lets use the sockets. ... I don't think this is a very serious problem. I doubt it will affect most people. The only reason I noticed it is because I had screen sessions running as fifos before I did an emerge-world, and now they can't be read because my screen binary is using sockets. Reproducible: Always USE flags for screen: +pam # emerge --info Portage 2.1.6.13 (default/linux/amd64/2008.0, gcc-4.3.3, glibc-2.9_p20081201-r2, 2.6.29-gentoo-r2 x86_64) ================================================================= System uname: Linux-2.6.29-gentoo-r2-x86_64-Intel-R-_Core-TM-2_Duo_CPU_E4500_@_2.20GHz-with-gentoo-2.0.0 Timestamp of tree: Mon, 04 May 2009 17:00:08 +0000 app-shells/bash: 4.0_p17-r1 dev-java/java-config: 2.1.7 dev-lang/python: 2.4.4-r13, 2.5.4-r2, 2.6.2 dev-python/pycrypto: 2.0.1-r8 dev-util/cmake: 2.6.4 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.4.3-r2 sys-apps/sandbox: 1.9 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.28-r1 ACCEPT_KEYWORDS="amd64 ~amd64 ~x86" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=core2 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages nostrip parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.llarian.net/" LDFLAGS="-Wl,-O1" LINGUAS="en" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aac acl acpi aften alsa amd64 asf berkdb bzip2 cli cracklib crypt cups dbus dts dv dvd dvdr dvdread encode exif ffmpeg flac fortran gdbm gphoto2 gpm hal hdri iconv ipod isdnlog kvm lame libnotify midi mmx mmxext mp4 mudflap multilib ncurses networkmanager nls nptl nptlonly nsplugin nvidia openexr opengl pam pcre perl png pppd python qt4 readline reflection sdl session spl sse sse2 sse3 ssl ssse3 svg sysfs tcpd tiff truetype unicode usb wma x264 xinerama xorg xscreensaver xulrunner xv xvid xvmc zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="worker" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="dummy" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
It was a bug in the crosscompile patch. It removed deleting /tmp/conftest which is the fifo used for testing, hence mkfifo fails because it is already there. I've fixed it, although newer screen versions are going to use socket anyway.