e2fsprogs fails the test phase with the error "tst_bitmaps.c:510:19: error: 'et_ss_error_table' undeclared (first use in this function)" Reproducible: Always Steps to Reproduce: 1. FEATURES="test" emerge -1 =sys-fs/e2fsprogs-1.42.1 Actual Results: Emerge fails test phase and exits. Expected Results: Emerge should complete the test phase and finish successfully. emerge --info: Portage 2.2.0_alpha89 (default/linux/amd64/10.0, gcc-4.5.3, glibc-2.14.1-r2, 3.2.6-gentoo-zeugma x86_64) ================================================================= System uname: Linux-3.2.6-gentoo-zeugma-x86_64-Intel-R-_Core-TM-_i5_CPU_M_560_@_2.67GHz-with-gentoo-2.1 Timestamp of tree: Fri, 24 Feb 2012 19:30:01 +0000 app-shells/bash: 4.2_p20 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.2-r3, 3.2.2 dev-util/cmake: 2.8.7-r3 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.1 sys-apps/openrc: 0.9.8.4 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.11.2-r1 sys-devel/binutils: 2.22-r1 sys-devel/gcc: 4.5.3-r2 sys-devel/gcc-config: 1.5-r2 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r3 sys-kernel/linux-headers: 3.2 (virtual/os-headers) sys-libs/glibc: 2.14.1-r2 Repositories: gentoo gamerlay-stable kde sunrise zeugma-local Installed sets: @kde-4.8 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA AdobeFlash-10.1 dlj-1.1 googleearth google-talkplugin Oracle-BCLA-JavaSE RTCW-ETEULA Q3AEULA skype-eula" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=core2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -march=core2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch preserve-libs protect-owned sandbox sfperms strict test unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="" GENTOO_MIRRORS="http://mirror.rit.edu/gentoo http://gtlib.gatech.edu/pub/gentoo" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en en_US" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/gamerlay /var/lib/layman/kde /var/lib/layman/sunrise /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X accessibility acl acpi alsa amd64 bash-completion berkdb bluetooth bzip2 cairo cdda cddb cli consolekit cracklib crypt cups cxx dbus dri dvd encode ffmpeg flac fortran gdbm geoip git gnutls gpm gstreamer iconv icu id3tag ipod ipv6 java jpeg kde lame latex libnotify mad mmx mng modules mp3 mpeg mudflap multilib ncurses networkmanager nls nptl nptlonly nsplugin offensive ogg openal opengl openmp pam pcre png policykit pppd qt3support qt4 readline semantic-desktop session spell sql sse sse2 ssl ssse3 svg sysfs tcpd threads tiff truetype udev unicode usb v4l v4l2 vcd vim-syntax vorbis wifi xcomposite xinerama xorg xscreensaver zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="mouse keyboard evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby19" USERLAND="GNU" VIDEO_CARDS="ati radeon fglrx intel uvesafb v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Created attachment 303095 [details] build.log
*** Bug 405733 has been marked as a duplicate of this bug. ***
*** Bug 417293 has been marked as a duplicate of this bug. ***
The reason is, in src_prepare(): sed -i -r \ -e '/^LIB_SUBDIRS/s:lib/(et|ss)::g' \ Makefile.in || die "remove subdirs" deletes "lib/ss" from $LIB_SUBDIRS in Makefile.in However the missing variable 'et_ss_error_table' is exported by lib/ss/ss_err.h, which is created from lib/ss/ss_err.et. If you want to run tests you should have "lib/ss" in $LIB_SUBDIRS.
*** Bug 429690 has been marked as a duplicate of this bug. ***
(In reply to comment #4) no, e2fsprogs should be pulling the ss headers from the system, not locally
(In reply to comment #6) > (In reply to comment #4) > > no, e2fsprogs should be pulling the ss headers from the system, not locally Unfortunately that's not the case. It passes something like '-I../lib' to gcc and the header files are satisfied from 'lib/ss' instead of '/usr/include/lib/ss'. But since we 'touch lib/ss/ss_err.h' the file is empty.
Created attachment 321888 [details, diff] proposed fix It's a little bit hacky but the idea is to have a special build rule for 'tst_bitmaps.o' in Makefile.in. The problem is that 'tst_bitmaps.c' requires header files 'config.h' and 'dirpaths.h' which reside under 'lib/'. But we don't want to pass '-I../lib' to gcc because of the 'lib/ss' - '/usr/include/ss' collision. Simply copying these files into $(srcdir) solves the problem. Since these files are read-only, it shouldn't have any side effects. Also since we avoid rebuilding, we have to use the system's "mk_cmds".
should be fixed in 1.43. let us know if it's still failing there & re-open.