Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 193208 - app-admin/sysstat-8.0.0 does not compile
Summary: app-admin/sysstat-8.0.0 does not compile
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Jeroen Roovers (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-20 17:23 UTC by Mark Wagner
Modified: 2008-06-06 18:57 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build log (ebuild.log,9.51 KB, text/plain)
2007-09-20 17:25 UTC, Mark Wagner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Wagner 2007-09-20 17:23:23 UTC
Undefined references

x86_64-pc-linux-gnu-gcc -o mpstat -march=k8 -O2 -pipe -Wall -Wstrict-prototypes -pipe -O2 -fno-strength-reduce mpstat.o libsyscom.a
iostat.o: In function `read_ppartitions_stat':
iostat.c:(.text+0x163f): undefined reference to `ioc_name'
iostat.c:(.text+0x16f7): undefined reference to `transform_devmapname'
iostat.o: In function `read_diskstats_stat':
iostat.c:(.text+0x18b5): undefined reference to `ioc_name'
iostat.c:(.text+0x1a42): undefined reference to `transform_devmapname'
libsyscom.a(common.o): In function `get_ppartitions_dev_nr':
common.c:(.text+0xafe): undefined reference to `ioc_iswhole'
collect2: ld returned 1 exit status
libsyscom.a(common.o): In function `get_ppartitions_dev_nr':
common.c:(.text+0xafe): undefined reference to `ioc_iswhole'
collect2: ld returned 1 exit status


Reproducible: Always

Steps to Reproduce:
1. emerge app-admin/sysstat-8.0.0

Actual Results:  
Undefined references

Expected Results:  
Shiny new app-admin/sysstat

System uname: 2.6.22-gentoo-r6 x86_64 AMD Athlon(tm) 64 Processor 3000+
Timestamp of tree: Wed, 19 Sep 2007 20:20:01 +0000
app-shells/bash:     3.2_p17-r1
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.5.1-r2
sys-apps/baselayout: 1.12.10-r4
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18
sys-devel/gcc-config: 1.4.0-r2
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.22-r2
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe"
CHOST="x86_64-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/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=k8 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages metadata-transfer sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org/"
LINGUAS="en de"
MAKEOPTS="-j2"
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="/m/tmp/freddy/var/tmp/portage"
PORTDIR="/usr/portage"
SYNC="rsync://www.lanfear.net/gentoo-portage"
USE="X Xaw3d a52 aac aalib acl acpi adns alsa amd64 audiofile avi bash-completion berkdb bitmap-fonts browserplugin bzip2 cairo cddb cdparanoia cdr cli cracklib crypt cups curl dbus dga divx4linux dpms dri dts dv dvb dvd dvdr dvdread dynagraph edl emacs emboss encode evo exif faac faad fame fb ffmpeg firefox flac fltk font-server fontconfig foomaticdb fpx freetype gd gdbm geoip gif gimpprint glibc-omitfp glut gmp gnutls gpgme gphoto2 graphviz gs gstreamer gtk gtk2 hal iconv idea imagemagick imap ipod isdnlog jack java javascript jbig jikes jpeg jpeg2k ladcca ladspa lash lcms libcaca libnotify libsamplerate live lm_sensors logitech-mouse logrotate lzo mad mailwrapper matroska mbox midi mikmod milter mjpeg mmap mmx mng modplug mozdevelop moznocompose moznoirc moznomail mozsvg mp3 mpeg mplayer mudflap musepack musicbrainz ncurses nethack network nls nptl nptlonly nsplugin nvidia offensive ofx ogg openal opengl openmp oss pam pam_chroot pam_console pam_timestamp pcre pdf pdflib perl perlsuid pic plotutils png portaudio ppds pppd python qt3 qt3support qt4 quicktime rar readline reflection rtc sdl sensord session sid silc slp smime smp sndfile snmp speex spell spl sqlite sse sse2 ssl subtitles svg tagwriting tcltk tcpd tga theora timidity truetype truetype-fonts type1-fonts unicode vcd visualization vorbis vorbis-psy wma wmf wxgtk1 x264 xanim xml xorg xprint xrandr xv xvid yv12 zlib" ALSA_CARDS="emu10k1" 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 evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en de" USERLAND="GNU" VIDEO_CARDS="nvidia nv vesa fbdev"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Mark Wagner 2007-09-20 17:25:16 UTC
Created attachment 131431 [details]
build log
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2007-09-20 17:39:27 UTC
Vital information is miraculously missing from your `emerge --info`, viz. the line that tells us what Portage version and compiler version you are using.
Comment 3 Mark Wagner 2007-09-20 19:29:53 UTC
Portage 2.1.3.9 (default-linux/amd64/2007.0/desktop, gcc-4.2.0, glibc-2.6.1-r0,
2.6.22-gentoo-r6 x86_64)
=================================================================
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2007-09-20 20:48:19 UTC
Could you see if this happens with gcc-4.1.2. If so, this bug should be made to block bug #162167, the tracker bug for gcc-4.2.
Comment 5 Mark Wagner 2007-09-20 22:21:19 UTC
This bug has nothing to do with gcc. I tracked the problem down to the fact that using MAKEOPTS "-j2" causes a make race condition in creating libsyscom.a from common.o and ioconf.o. With MAKOPTS "-j1" it compiles fine.

I don't have gcc 4.1.2 installed and I'm not going to install it so you can close/invalidate/whatever this bug if you wish.
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2007-09-21 17:01:22 UTC
(In reply to comment #5)
> This bug has nothing to do with gcc. I tracked the problem down to the fact
> that using MAKEOPTS "-j2" causes a make race condition in creating libsyscom.a
> from common.o and ioconf.o. With MAKOPTS "-j1" it compiles fine.

It works fine here with -j10, i.e. I cannot reproduce the error. I would like some confirmation before I decide to restrict the ebuild.

> close/invalidate/whatever this bug if you wish.

Why would I want to do that? :)

I will ask someone to reproduce the bug and I will add -j1 if that appears to be the case.
Comment 7 Jakub Moc (RETIRED) gentoo-dev 2007-09-21 17:16:13 UTC
Can't reproduce w/ -j10 (amd64) or -j5 (x86).
Comment 8 Christian Faulhammer (RETIRED) gentoo-dev 2007-09-21 17:19:01 UTC
Not reproducable with x86 and -j3 and amd64 -j8
Comment 9 Mark Wagner 2007-09-21 17:21:51 UTC
Can somebody that cannot reproduce it with -j>=2 post their build log?
Comment 10 DrChandra the Gentoo Person 2007-09-21 17:27:05 UTC
Could you check this?

nm libsyscom.a | grep ioc_name

It should be defined like "000008d0 T ioc_name".
Comment 11 Jeroen Roovers (RETIRED) gentoo-dev 2007-09-21 17:35:39 UTC
The dependency tree in the Makefile looks fine for parallel make, so I don't see how that could cause any kind of race condition.
Comment 12 Mark Wagner 2007-09-21 17:40:39 UTC
    freddy sysstat-8.0.0 # nm libsyscom.a | grep ioc_name
    freddy sysstat-8.0.0 #

    Here is the problem:

      ar rv libsyscom.a common.o
      ar rv libsyscom.a ioconf.o
      ar: creating libsyscom.a
      a - ioconf.o
      ar: creating libsyscom.a
      a - common.o

    Two ar's executed at the same time with the same output file. See how common.o
    was added last?

    freddy sysstat-8.0.0 # ar t libsyscom.a
    common.o
    freddy sysstat-8.0.0 #

    I have my PORTAGE_TMPDIR set to an NFS mount. On a hunch I set it to a local
    filesystem. The compile completed OK. Must be something to do with NFS/time lag
    (client and server use NTP).
Comment 13 DrChandra the Gentoo Person 2007-09-21 17:45:43 UTC
Try changing the libsyscom.a line in the makefile to this:

libsyscom.a: common.o ioconf.o libsyscom.a(common.o ioconf.o)

Perhaps that will wait for the other two targets to complete before the implit
archive rule for the latter target begins.

ar won't create the archive if the files don't exist, so they are probably in
the process of being written when ar starts. The files aren't complete, though.
Comment 14 DrChandra the Gentoo Person 2007-09-21 17:51:19 UTC
Good find.

(In reply to comment #12)
>     Here is the problem:
> 
>       ar rv libsyscom.a common.o
>       ar rv libsyscom.a ioconf.o
>       ar: creating libsyscom.a
>       a - ioconf.o
>       ar: creating libsyscom.a
>       a - common.o
> 
>     Two ar's executed at the same time with the same output file. See how
> common.o
>     was added last?

I don't think it was NFS. Two ar's reported "creating", and the last one to write won. List the archive after producing the bug, and I bet only common.o is in it.

Try splitting the libsyscom.a(common.o ioconf.o) dependency into two of them like:

libsyscom.a: libsyscom.a(common.o) libsyscom.a(ioconf.o)

Funny that an implicit make rule would not stand up in parallel like this.
Comment 15 DrChandra the Gentoo Person 2007-09-21 17:56:30 UTC
Aha! It's broken. The ebuild needs to be -j1, or it has a race condition. Perhaps my split suggestion in comment #14 will fix it.

http://www.ambienteto.arti.beniculturali.it/cgi-bin/info2www?(make)Archive+Pitfalls
Comment 16 Mark Wagner 2007-09-21 17:58:05 UTC
(In reply to comment #13)
> Try changing the libsyscom.a line in the makefile to this:
> 
> libsyscom.a: common.o ioconf.o libsyscom.a(common.o ioconf.o)

The problem persists after I make this change to the Makefile.
Comment 17 Mark Wagner 2007-09-21 17:59:44 UTC
(In reply to comment #14)

> I don't think it was NFS. Two ar's reported "creating", and the last one to
> write won. List the archive after producing the bug, and I bet only common.o is > in it.

You're right. Either only common.o or only ioconf.o appears in the archive; never both.

> Try splitting the libsyscom.a(common.o ioconf.o) dependency into two of them
> like:
> 
> libsyscom.a: libsyscom.a(common.o) libsyscom.a(ioconf.o)

After changing the Makefile as above the problem persisted.
Comment 18 DrChandra the Gentoo Person 2007-09-21 18:43:20 UTC
OK, sidestep the implcit rule then:

libsyscom.a: libsyscom.a(common.o ioconf.o)
      ar rv libsyscom.a common.o
      ar rv libsyscom.a ioconf.o

libsyssa.a: libsyssa.a(sa_common.o)
      ar rv libsyssa.a sa_common.o
Comment 19 Jeroen Roovers (RETIRED) gentoo-dev 2007-09-22 04:01:43 UTC
(In reply to comment #12)
>     I have my PORTAGE_TMPDIR set to an NFS mount. On a hunch I set it to a
> local
>     filesystem. The compile completed OK. Must be something to do with NFS/time
> lag
>     (client and server use NTP).

OK, so don't put your PORTAGE_TMPDIR on an NFS mount. NFS is notorious for these "time lag" issues, and forcing -j1 is not the solution.
Comment 20 Jeroen Roovers (RETIRED) gentoo-dev 2007-09-22 04:55:50 UTC
To be completely in the clear about this, I was able to reproduce the problem by setting PORTAGE_TMPDIR to an NFS mount.

On the other hand, comment #18 (which I read after I closed the bug) seems to make sense. Patching Makefile.in does the trick.
Comment 21 Jeroen Roovers (RETIRED) gentoo-dev 2007-09-22 05:17:05 UTC
I added the patch to the tree and mailed it to upstream as well. Please rebuild sysstat-8.0.0.ebuild if you want to test it (on your favourite NFS mount, naturally :).

Thanks for your input, everyone.
Comment 22 Jeroen Roovers (RETIRED) gentoo-dev 2007-09-22 14:30:23 UTC
Upstream will fix this in 8.0.1 and 8.0.0 is fixed through the ebuild. Thanks everyone!
Comment 23 Steve Arnold archtester gentoo-dev 2007-10-11 20:04:24 UTC
Er, this is not fixed for me (even with the patch) since I just got the same failure using my standard distcc and -jN setup (I have 2 dual-CPU Intel boxes I use to share the build chores).  This happens with the patched version of sysstat-8.0.0.

The failure, which occurs shortly after the start of the build, and my info:

i686-pc-linux-gnu-gcc -o mpstat.o -c -mtune=pentium4 -march=i686 -O2 -mmmx -msse2 -mfpmath=sse -pipe -fomit-frame-pointer -Wall -Wstrict-prototypes -pipe -O2 -fno-strength-reduce  -DSA_DIR=\"/var/log/sa\" -DSADC_PATH=\"/usr/lib/sa/sadc\" -DUSE_NLS -DPACKAGE=\"sysstat\" -DLOCALEDIR=\"/usr/share/locale\" mpstat.c
i686-pc-linux-gnu-gcc -o pidstat.o -c -mtune=pentium4 -march=i686 -O2 -mmmx -msse2 -mfpmath=sse -pipe -fomit-frame-pointer -Wall -Wstrict-prototypes -pipe -O2 -fno-strength-reduce  -DSA_DIR=\"/var/log/sa\" -DSADC_PATH=\"/usr/lib/sa/sadc\" -DUSE_NLS -DPACKAGE=\"sysstat\" -DLOCALEDIR=\"/usr/share/locale\" pidstat.c
msgfmt -o nls/af.gmo nls/af.po
msgfmt -o nls/da.gmo nls/da.po
msgfmt -o nls/de.gmo nls/de.po
msgfmt -o nls/es.gmo nls/es.po
msgfmt -o nls/fr.gmo nls/fr.po
msgfmt -o nls/it.gmo nls/it.po
msgfmt -o nls/ja.gmo nls/ja.po
msgfmt -o nls/nb.gmo nls/nb.po
msgfmt -o nls/nn.gmo nls/nn.po
msgfmt -o nls/pl.gmo nls/pl.po
msgfmt -o nls/pt.gmo nls/pt.po
msgfmt -o nls/ro.gmo nls/ro.po
msgfmt -o nls/ru.gmo nls/ru.po
msgfmt -o nls/sk.gmo nls/sk.po
msgfmt -o nls/sv.gmo nls/sv.po
ar rv libsyscom.a common.o
ar rv libsyscom.a ioconf.o
ar: creating libsyscom.a
a - common.o
ar rv libsyssa.a sa_common.o
ar: creating libsyscom.a
a - ioconf.o
i686-pc-linux-gnu-gcc -o iostat -mtune=pentium4 -march=i686 -O2 -mmmx -msse2 -mfpmath=sse -pipe -fomit-frame-pointer -Wall -Wstrict-prototypes -pipe -O2 -fno-strength-reduce iostat.o libsyscom.a 
i686-pc-linux-gnu-gcc -o mpstat -mtune=pentium4 -march=i686 -O2 -mmmx -msse2 -mfpmath=sse -pipe -fomit-frame-pointer -Wall -Wstrict-prototypes -pipe -O2 -fno-strength-reduce mpstat.o libsyscom.a 
ar: creating libsyssa.a
a - sa_common.o
i686-pc-linux-gnu-gcc -o sadc -mtune=pentium4 -march=i686 -O2 -mmmx -msse2 -mfpmath=sse -pipe -fomit-frame-pointer -Wall -Wstrict-prototypes -pipe -O2 -fno-strength-reduce sadc.o libsyscom.a libsyssa.a 
mpstat.o: In function `write_stats_core':
mpstat.c:(.text+0x70d): undefined reference to `get_interval'
mpstat.c:(.text+0x778): undefined reference to `get_interval'
mpstat.c:(.text+0x89d): undefined reference to `ll_s_value'
mpstat.c:(.text+0x8fc): undefined reference to `ll_sp_value'
mpstat.c:(.text+0x932): undefined reference to `ll_sp_value'
mpstat.c:(.text+0x968): undefined reference to `ll_sp_value'
mpstat.c:(.text+0x99e): undefined reference to `ll_sp_value'
mpstat.c:(.text+0x9d4): undefined reference to `ll_sp_value'
mpstat.o:mpstat.c:(.text+0xa0a): more undefined references to `ll_sp_value' follow
mpstat.o: In function `write_stats_core':
mpstat.c:(.text+0xb35): undefined reference to `ll_s_value'
mpstat.c:(.text+0xbb2): undefined reference to `ll_sp_value'
mpstat.c:(.text+0xc01): undefined reference to `ll_sp_value'
mpstat.c:(.text+0xc50): undefined reference to `ll_sp_value'
mpstat.c:(.text+0xc98): undefined reference to `ll_sp_value'
mpstat.c:(.text+0xce0): undefined reference to `ll_sp_value'
mpstat.o:mpstat.c:(.text+0xd2f): more undefined references to `ll_sp_value' follow
mpstat.o: In function `rw_mpstat_loop':
mpstat.c:(.text+0x1019): undefined reference to `readp_uptime'
mpstat.c:(.text+0x113e): undefined reference to `get_localtime'
mpstat.c:(.text+0x1170): undefined reference to `readp_uptime'
mpstat.o: In function `main':
mpstat.c:(.text+0x129c): undefined reference to `init_nls'
mpstat.c:(.text+0x12a1): undefined reference to `get_HZ'
mpstat.c:(.text+0x12ad): undefined reference to `get_cpu_nr'
mpstat.c:(.text+0x1477): undefined reference to `get_win_height'
mpstat.c:(.text+0x149c): undefined reference to `get_localtime'
mpstat.c:(.text+0x14cb): undefined reference to `print_gal_header'
mpstat.c:(.text+0x1640): undefined reference to `print_version'
collect2: ld returned 1 exit status
make: *** [mpstat] Error 1
make: *** Waiting for unfinished jobs....
iostat.o: In function `write_nfs_stat':
iostat.c:(.text+0xc1): undefined reference to `hz'
iostat.o: In function `write_basic_stat':
iostat.c:(.text+0x3a3): undefined reference to `ll_s_value'
iostat.c:(.text+0x3f2): undefined reference to `ll_s_value'
iostat.c:(.text+0x4c4): undefined reference to `hz'
iostat.c:(.text+0x57b): undefined reference to `hz'
iostat.o: In function `write_ext_stat':
iostat.c:(.text+0x6d9): undefined reference to `hz'
iostat.c:(.text+0x919): undefined reference to `ll_s_value'
iostat.c:(.text+0x96e): undefined reference to `ll_s_value'
iostat.c:(.text+0x97d): undefined reference to `hz'
iostat.o: In function `write_cpu_stat':
iostat.c:(.text+0xd1a): undefined reference to `ll_sp_value'
iostat.c:(.text+0xd5c): undefined reference to `ll_sp_value'
iostat.c:(.text+0xd94): undefined reference to `ll_sp_value'
iostat.c:(.text+0xdcc): undefined reference to `ll_sp_value'
iostat.c:(.text+0xe04): undefined reference to `ll_sp_value'
iostat.o:iostat.c:(.text+0xe3c): more undefined references to `ll_sp_value' follow
iostat.o: In function `write_stats':
iostat.c:(.text+0xf07): undefined reference to `get_interval'
iostat.c:(.text+0xf4f): undefined reference to `get_interval'
iostat.o: In function `rw_io_stat_loop':
iostat.c:(.text+0x2a31): undefined reference to `readp_uptime'
iostat.c:(.text+0x2a92): undefined reference to `get_localtime'
iostat.o: In function `io_sys_init':
iostat.c:(.text+0x2d15): undefined reference to `get_cpu_nr'
iostat.c:(.text+0x2d2e): undefined reference to `get_diskstats_dev_nr'
iostat.c:(.text+0x2dbf): undefined reference to `get_sysfs_dev_nr'
iostat.c:(.text+0x2dd9): undefined reference to `get_nfs_mount_nr'
iostat.c:(.text+0x2e10): undefined reference to `get_ppartitions_dev_nr'
iostat.c:(.text+0x2e30): undefined reference to `get_disk_io_nr'
iostat.o: In function `main':
iostat.c:(.text+0x2eb6): undefined reference to `init_nls'
iostat.c:(.text+0x2ebb): undefined reference to `get_HZ'
iostat.c:(.text+0x30c3): undefined reference to `get_localtime'
iostat.c:(.text+0x30ee): undefined reference to `print_gal_header'
iostat.c:(.text+0x3156): undefined reference to `print_version'
iostat.c:(.text+0x321e): undefined reference to `device_name'
iostat.c:(.text+0x3318): undefined reference to `device_name'
collect2: ld returned 1 exit status
make: *** [iostat] Error 1
sadc.o: In function `read_proc_meminfo':
sadc.c:(.text+0x171c): undefined reference to `readp_meminfo'
sadc.o: In function `read_stats':
sadc.c:(.text+0x24ad): undefined reference to `readp_uptime'
sadc.o: In function `setup_file_hdr':
sadc.c:(.text+0x2629): undefined reference to `get_time'
sadc.o: In function `write_special_record':
sadc.c:(.text+0x2f48): undefined reference to `get_time'
sadc.o: In function `sa_sys_init':
sadc.c:(.text+0x2fd5): undefined reference to `get_cpu_nr'
sadc.c:(.text+0x305b): undefined reference to `get_diskstats_dev_nr'
sadc.c:(.text+0x321e): undefined reference to `get_ppartitions_dev_nr'
sadc.c:(.text+0x3282): undefined reference to `get_disk_io_nr'
sadc.o: In function `rw_sa_stat_loop':
sadc.c:(.text+0x32f3): undefined reference to `get_time'
sadc.o: In function `main':
sadc.c:(.text+0x3552): undefined reference to `get_kb_shift'
sadc.c:(.text+0x356b): undefined reference to `init_nls'
sadc.c:(.text+0x3987): undefined reference to `print_version'
libsyssa.a(sa_common.o): In function `next_slice':
sa_common.c:(.text+0x66): undefined reference to `hz'
libsyssa.a(sa_common.o): In function `parse_sar_opt':
sa_common.c:(.text+0x6e1): undefined reference to `print_version'
libsyssa.a(sa_common.o): In function `set_hdr_rectime':
sa_common.c:(.text+0xf52): undefined reference to `get_time'
libsyssa.a(sa_common.o): In function `print_report_hdr':
sa_common.c:(.text+0xfe6): undefined reference to `print_gal_header'
libsyssa.a(sa_common.o): In function `get_itv_value':
sa_common.c:(.text+0x101c): undefined reference to `get_interval'
sa_common.c:(.text+0x1050): undefined reference to `get_interval'
libsyssa.a(sa_common.o): In function `set_default_file':
sa_common.c:(.text+0x107d): undefined reference to `get_time'
collect2: ld returned 1 exit status
make: *** [sadc] Error 1
 * 
 * ERROR: app-admin/sysstat-8.0.0 failed.
 * Call stack:
 *   ebuild.sh, line 1654:   Called dyn_compile
 *   ebuild.sh, line 990:   Called qa_call 'src_compile'
 *   ebuild.sh, line 44:   Called src_compile
 *   sysstat-8.0.0.ebuild, line 30:   Called die
 * 
 * emake failed
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/app-admin/sysstat-8.0.0/temp/build.log'.


Emerge --info on the main build machine:

Portage 2.1.3.9 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.5-r4, 2.6.22.5 i686)
=================================================================
System uname: 2.6.22.5 i686 Intel(R) Xeon(TM) CPU 1.70GHz
Timestamp of tree: Mon, 08 Oct 2007 09:20:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r5
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61-r1
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.17-r1
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.21
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-mtune=pentium4 -march=i686 -O2 -mmmx -msse2 -mfpmath=sse -pipe -fomit-frame-pointer"
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/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-mtune=pentium4 -march=i686 -O2 -mmmx -msse2 -mfpmath=sse -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="buildpkg ccache distcc distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org"
LINGUAS="en"
MAKEOPTS="-j5"
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/local/portage /usr/local/overlays/xeffects"
SYNC="rsync://shiva.ca.ensco.com/gentoo-portage"
USE="X Xaw3d aalib acl acpi aiglx alsa avi bitmap-fonts bonobo cdr cli cracklib crypt cups dbus dga directfb dri drm dvd emacs encode esd evo f77 fam fbcon flac fortran freetype freetype2 gb gcj gd gdbm gif gnome gpm graphviz gtk gtk2 gtkhtml hal iconv imap ipv6 isdnlog java jbig jpeg junit lame lcms ldap midi mmx mono mozilla mpeg mpi mudflap mysql ncurses nls ogg oggvorbis opengl openmp oss pam pcre pda perl plotutils png postgres pppd python qt readline reflection ruby samba sasl session slp spl sse sse2 ssl svg tcl tcltk tcpd tetex threads tiff tk truetype truetype-fonts type1-fonts unicode v4l v4l2 vorbis win32codecs x86 xcb xine xinerama xml xml2 xorg xv zeo zlib" ALSA_CARDS="snd-intel8x0" 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 evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="mga vesa fbdev"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 24 Steve Arnold archtester gentoo-dev 2007-10-11 20:11:34 UTC
It just emerged successfully with -distcc and -j2 so it doesn't look like it needs to be forced to -j1, however, it also seems like it still doesn't like distcc much either (at least with multi-cpu boxes).  And NFS is out of the equation here since I don't use it for anything portage-related except to provide a common share for distfiles.
Comment 25 Jeroen Roovers (RETIRED) gentoo-dev 2007-10-15 15:59:19 UTC
(In reply to comment #24)
> It just emerged successfully with -distcc and -j2 so it doesn't look like it
> needs to be forced to -j1, however, it also seems like it still doesn't like
> distcc much either (at least with multi-cpu boxes).  And NFS is out of the
> equation here since I don't use it for anything portage-related except to
> provide a common share for distfiles.

Did you try disabling ccache as well?
Comment 26 Jeroen Roovers (RETIRED) gentoo-dev 2007-11-09 16:01:10 UTC
I think this is thoroughly fixed now.
Comment 27 Fabiano 2008-06-06 18:57:12 UTC
I think this bug is not resolved yet.
I happened to me now with stabel version 8.0.4-r1 and I am using reiserfs, no nfs mounts.
I am using -j2 on a Pentium4 HT.
I merged it again with exactly the same options and it worked.

My --info:

Portage 2.1.4.4 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.23-tuxonice-r10-f1 i686)
=================================================================
System uname: 2.6.23-tuxonice-r10-f1 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Timestamp of tree: Thu, 05 Jun 2008 01:45:01 +0000
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.4.4-r13
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
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.1
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.25-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -Os -pipe -fomit-frame-pointer"
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/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=pentium4 -Os -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="buildpkg ccache distlocks metadata-transfer parallel-fetch sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="pt_BR.UTF-8"
LC_ALL="pt_BR.UTF-8"
LINGUAS="pt_BR.utf8 pt_BR pt-BR"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
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.samerica.gentoo.org/gentoo-portage"
USE="X acl acpi alsa apache2 arts bash-completion bdf berkdb bluetooth branding bzip2 cairo ccache cdr cli cracklib crypt cscope cups dbus dedicated doc dri dvd dvdr dvdread eds emboss encode esd evo fam ffpmeg firefox fontconfig fortran gdbm gif gnome gpm gstreamer gtk gtk2 hal iconv imlib imlib2 isdnlog java jpeg jpeg2k kde lame lcms libnotify lua mad midi mikmod mmx mozilla mp3 mpeg mudflap mysql ncurses nls nptl nptlonly nsplugin ogg openal opengl openmp pam pcre pdf perl png ppds pppd python qt3 qt3support qt4 quicktime readline reflection samba sdl session spell spl sse ssl startup-notification svg tcltk tcpd threads tiff truetype type1 unicode userlocales vcd vim vim-pager vim-syntax vim-with-x vorbis win32codecs wmf x86 xcomposite xft xine 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" 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pt_BR.utf8 pt_BR pt-BR" USERLAND="GNU" VIDEO_CARDS="vga vesa fbdev sis"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS



The error:
# emerge sysstat
Calculating dependencies... done!
>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) app-admin/sysstat-8.0.4-r1 to /

(... omitted ...)

msgfmt -o nls/pt_BR.gmo nls/pt_BR.po
msgfmt -o nls/pt.gmo nls/pt.po
msgfmt -o nls/ro.gmo nls/ro.po
msgfmt -o nls/ru.gmo nls/ru.po
msgfmt -o nls/sk.gmo nls/sk.po
msgfmt -o nls/sv.gmo nls/sv.po
msgfmt -o nls/vi.gmo nls/vi.po
ar rv libsyscom.a common.o
ar rv libsyscom.a ioconf.o
ar: libsyscom.a: File format not recognized
ar: creating libsyscom.a
a - common.o
make: ** [libsyscom.a(ioconf.o)] Erro 1
make: ** Esperando que outros processos terminem.
 * 
 * ERROR: app-admin/sysstat-8.0.4-r1 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 2038:  Called die
 * The specific snippet of code:
 *       emake LFLAGS="${LDFLAGS}" || die "emake failed"
 *  The die message:
 *   emake failed
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/log/portage/app-admin:sysstat-8.0.4-r1:20080606-183354.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-admin/sysstat-8.0.4-r1/temp/environment'.