Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 143070 - eselect compiler: Error determining reference timestamp for binaries
Summary: eselect compiler: Error determining reference timestamp for binaries
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Jeremy Huddleston (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-08-07 02:34 UTC by Togge
Modified: 2006-08-22 14:54 UTC (History)
2 users (show)

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


Attachments
i686-pc-linux-gnu-3.4.6.conf (i686-pc-linux-gnu-3.4.6.conf,981 bytes, text/plain)
2006-08-08 05:18 UTC, Togge
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Togge 2006-08-07 02:34:54 UTC
When trying to change the compiler using eselect compiler I get the following:

Mon 11:30:41 $ sudo eselect compiler set 5
!!! Error: Error determining reference timestamp for binaries.  Please file a bug report at http://bugs.gentoo.org.
exiting.


emerge --info:
======
Portage 2.1.1_pre4-r4 (default-linux/amd64/2006.0, gcc-4.1.1/amd64-vanilla, glibc-2.4-r3, 2.6.17-gentoo-r4 x86_64)
=================================================================
System uname: 2.6.17-gentoo-r4 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
Gentoo Base System version 1.12.4
Last Sync: Mon, 07 Aug 2006 01:00:01 +0000
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
app-admin/eselect-compiler: 2.0.0_rc2-r1
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r2
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.17
sys-devel/gcc-config: 2.0.0_rc1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.16
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=k8 -ggdb"
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/eselect/compiler /etc/gconf /etc/init.d /etc/java-config/vms/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe -march=k8 -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks metadata-transfer parallel-fetch sandbox sfperms splitdebug strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_US.UTF-8"
LC_ALL=""
LINGUAS="en sv"
MAKEOPTS="-j3"
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'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/mnt/web/localhost/htdocs/gentoo/portage-overlay/local-overlay /usr/portage/local/layman/sunrise /usr/portage/local/layman/vmware"
SYNC="rsync://192.168.0.100/gentoo-portage"
USE="amd64 X a52 aac acpi alsa arts asf avi bash-completion berkdb bitmap-fonts browserplugin cairo cdr cli crypt css cups divx4linux dlloader dri dvd dvdr dvdread elibc_glibc emboss encode ffmpeg firefox flac font-server foomaticdb fortran freetype geoip gif gimp gnome gpm gstreamer gtk gtk2 hal imap imlib input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog java javascript jpeg kde kdeenablefinal kdehiddenvisibility kernel_linux linguas_en linguas_sv lzw lzw-tiff mad maildir mono mozsvg mp3 mpeg mplayer msn ncurses nls nptl nptlonly nsplugin nvidia ogg oggvorbis opengl pam pcre pdflib perl png ppds pppd python qt qt3 qt4 quicktime readline reflection samba scanner sdl session spell spl ssl subversion svg symlink tcpd tetex tiff truetype truetype-fonts type1-fonts unicode usb userland_GNU v4l v4l2 video_cards_nvidia wmf xcomposite xface xine xinerama xmms xorg xosd xpm xv xvid zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS

======
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-08-07 02:54:58 UTC
Reopen with 'eselect compiler list' and gcc-config -l output.
Comment 2 Togge 2006-08-07 05:22:26 UTC
root@explosive /usr/lib/distcc/bin 0 $ eselect compiler list
Available compilers for CTARGET i686-pc-linux-gnu
  [1]   i686-pc-linux-gnu-3.4.6/hardened
  [2]   i686-pc-linux-gnu-3.4.6/hardenednopie
  [3]   i686-pc-linux-gnu-3.4.6/hardenednopiessp
  [4]   i686-pc-linux-gnu-3.4.6/hardenednossp
  [5]   i686-pc-linux-gnu-3.4.6/vanilla
  [6]   x86_64-pc-linux-gnu-3.4.6/x86-hardened
  [7]   x86_64-pc-linux-gnu-3.4.6/x86-hardenednopie
  [8]   x86_64-pc-linux-gnu-3.4.6/x86-hardenednopiessp
  [9]   x86_64-pc-linux-gnu-3.4.6/x86-hardenednossp
  [10]  x86_64-pc-linux-gnu-3.4.6/x86-vanilla
  [11]  x86_64-pc-linux-gnu-4.1.1/x86-vanilla
Available compilers for CTARGET x86_64-pc-linux-gnu
  [12]  x86_64-pc-linux-gnu-3.4.6/amd64-hardened
  [13]  x86_64-pc-linux-gnu-3.4.6/amd64-hardenednopie
  [14]  x86_64-pc-linux-gnu-3.4.6/amd64-hardenednopiessp
  [15]  x86_64-pc-linux-gnu-3.4.6/amd64-hardenednossp
  [16]  x86_64-pc-linux-gnu-3.4.6/amd64-vanilla
  [17]  x86_64-pc-linux-gnu-4.1.1/amd64-vanilla

Activated profiles:
  i686                      i686-pc-linux-gnu-3.4.6/vanilla
  i686-pc-linux-gnu         i686-pc-linux-gnu-3.4.6/vanilla
  x86_64-pc-linux-gnu *     x86_64-pc-linux-gnu-4.1.1/amd64-vanilla

root@explosive /usr/lib/distcc/bin 0 $ gcc-config -l
Available compilers for CTARGET i686-pc-linux-gnu
  [1]   i686-pc-linux-gnu-3.4.6/hardened
  [2]   i686-pc-linux-gnu-3.4.6/hardenednopie
  [3]   i686-pc-linux-gnu-3.4.6/hardenednopiessp
  [4]   i686-pc-linux-gnu-3.4.6/hardenednossp
  [5]   i686-pc-linux-gnu-3.4.6/vanilla
  [6]   x86_64-pc-linux-gnu-3.4.6/x86-hardened
  [7]   x86_64-pc-linux-gnu-3.4.6/x86-hardenednopie
  [8]   x86_64-pc-linux-gnu-3.4.6/x86-hardenednopiessp
  [9]   x86_64-pc-linux-gnu-3.4.6/x86-hardenednossp
  [10]  x86_64-pc-linux-gnu-3.4.6/x86-vanilla
  [11]  x86_64-pc-linux-gnu-4.1.1/x86-vanilla
Available compilers for CTARGET x86_64-pc-linux-gnu
  [12]  x86_64-pc-linux-gnu-3.4.6/amd64-hardened
  [13]  x86_64-pc-linux-gnu-3.4.6/amd64-hardenednopie
  [14]  x86_64-pc-linux-gnu-3.4.6/amd64-hardenednopiessp
  [15]  x86_64-pc-linux-gnu-3.4.6/amd64-hardenednossp
  [16]  x86_64-pc-linux-gnu-3.4.6/amd64-vanilla
  [17]  x86_64-pc-linux-gnu-4.1.1/amd64-vanilla

Activated profiles:
  i686                      i686-pc-linux-gnu-3.4.6/vanilla
  i686-pc-linux-gnu         i686-pc-linux-gnu-3.4.6/vanilla
  x86_64-pc-linux-gnu *     x86_64-pc-linux-gnu-4.1.1/amd64-vanilla

Comment 3 Kevin F. Quinn (RETIRED) gentoo-dev 2006-08-07 15:21:39 UTC
Could you edit /usr/share/modules/compiler.eselect, and change line 487 (or thereabouts) which should currently be:

  die -q "Error determining reference timestamp for binaries.  Please file a bug report at http://bugs.gentoo.org."

to:

  die -q "Error determining reference timestamp for ${bin} (ref ${ref})."

then run eselect compiler again and post the result?
Comment 4 Togge 2006-08-07 21:34:25 UTC
I take it that it was:
    /usr/share/eselect/modules/compiler.eselect
you ment :)

naga@explosive ~/code/tmp 0 
tis 06:33:13 $ sudo eselect compiler set 5
!!! Error: Error determining reference timestamp for cc (ref gcc).
exiting.

Thanks for working on this!
Comment 5 Kevin F. Quinn (RETIRED) gentoo-dev 2006-08-08 00:05:54 UTC
:) yeah - that's what I was looking for.

Could you also attach /etc/eselect/compiler/i686-pc-linux-gnu-3.4.6.conf, and the output of:

$ ls /usr/i686-pc-linux-gnu/gcc-bin/3.4.6

(or the directory set as "binpath" in the above .conf file if it is different)
Comment 6 Togge 2006-08-08 05:18:33 UTC
Created attachment 93742 [details]
i686-pc-linux-gnu-3.4.6.conf

Think you hit the nails head with that one... /usr/i686-... doesn't exist.
Now to figure out how that has happened (I know I haven't removed it manually)...
Comment 7 Kevin F. Quinn (RETIRED) gentoo-dev 2006-08-08 05:58:19 UTC
I'm not up on what multilib does with compilers (so I'm CC'ing amd64 who can correct me if I'm wrong, as can other toolchain members), but it seems odd you have:

   i686-pc-linux-gnu-3.4.6/*

and

   x86_64-pc-linux-gnu-3.4.6/x86-*

present.  I'd guess on multilib amd64 you should just have x86_64-pc-linux-gnu-3.4.6/x86-* and x86_64-pc-linux-gnu-3.4.6/amd64-*.


Did you change profiles any time recently?  I'm trying to think of a way you'd end up with i686-pc-linux-gnu-3.4.6/*, and I think that would normally occur when the profile is x86 (rather than amd64), and the x86_64-pc-linux-gnu-3.4.6/x86-* and x86_64-pc-linux-gnu-3.4.6/amd64-* occur on multilib amd64 profiles.  This might explain how you've ended up with a config file for i686-pc-linux-gnu - if this is the case, that config file should have been deleted when you built the multilib x86_64 compiler so that would be the bug in eselect-compiler.


To clear the problem up for now, I think you should just remove /etc/eselect/compiler/i686-pc-linux-gnu-3.4.6.conf, since you don't actually have the compiler installed anyway.  If you want to build 32-bit stuff, you don't need an i686 compiler, you just need to choose from x86_64-pc-linux-gnu-3.4.6/x86-*.  If you really really want an i686-linux-pc-gnu compiler I think it needs to be built as a cross-compiler (see crossdev), but I doubt you really want that.

amd64: can you confirm I'm giving good advice here (in particular that x86_64-pc-linux-gnu-3.4.6/x86-* are for building 32-bit x86 binaries - does it need "-march=i686" or similar as well in CFLAGS?)
Comment 8 Togge 2006-08-08 07:05:41 UTC
I'm pretty sure it came when I did "crossdev -t i686-pc..." (using this box as a distcc host for i686 machines), but how it came to be deleted... And no profile change since first install. (btw the /usr/i686-... dir came back when I rebuilt the crossdev compiler, and now eselect compiler works again)

From my point of view this bug is solved.

Thanks again for all help!
Comment 9 Jeremy Huddleston (RETIRED) gentoo-dev 2006-08-22 04:11:27 UTC
Yeah, that profile was there from when you installed that compiler with crossdev, and the profile wasn't removed when you unmerged that compiler because of some items in the base profile that were transitioned out by vapier.  The env.d entry installed by eselect-compiler attempts to correct this problem, but doesn't always work 100%