Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 123778 - timezone-data-2006b emerge failure
Summary: timezone-data-2006b emerge failure
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Other
: High normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
: 123775 123780 123812 123915 124234 124277 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-02-22 19:21 UTC by Jonathan Heaney
Modified: 2006-03-16 07:36 UTC (History)
17 users (show)

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


Attachments
patch to the ebuild to include -stc=c99 (timezone-data-2006b-c99.patch,811 bytes, patch)
2006-02-23 12:49 UTC, Martin von Gagern
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Heaney 2006-02-22 19:21:11 UTC
Fails to install here on an Athlon XP.  Output-

>>> Install timezone-data-2006b into /var/tmp/portage/timezone-data-2006b/image/ category sys-libs
./zic  -y ./yearistype -d
/var/tmp/portage/timezone-data-2006b/image//usr/share/zoneinfo -L /dev/null
africa antarctica asia australasia europe northamerica southamerica pacificnew
etcetera factory backward systemv solar87 solar88 solar89
./zic: wild compilation-time specification of zic_t
make: *** [posix_only] Error 1

!!! ERROR: sys-libs/timezone-data-2006b failed.
Call stack:
  ebuild.sh, line 1894:   Called dyn_install
  ebuild.sh, line 1037:   Called src_install

!!! (no error message)
!!! If you need support, post the topmost build error, and the call stack if
relevant.

This can be fixed if I modify the ebuild to use tz32code instead of tz64code.  timezone-data emerges correctly.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-02-22 19:48:41 UTC
*** Bug 123775 has been marked as a duplicate of this bug. ***
Comment 2 Paul Taylor 2006-02-22 20:23:20 UTC
*** Bug 123780 has been marked as a duplicate of this bug. ***
Comment 3 Paul Taylor 2006-02-22 20:24:28 UTC
(From bug #123780):

The problem does not occur on an amd64 box (using tz64code2006b.tar.gz).

I also updated the ebuild on the x86 box to use tz32code2006b.tar.gz instead of
tz64code2006b.tar.gz, and that works fine.

So, the solution is to change the SRC_URI in the ebuild to something like this:

   SRC_URI="ftp://elsie.nci.nih.gov/pub/tzdata${PV}.tar.gz
       amd64? ( ftp://elsie.nci.nih.gov/pub/tz64code${PV}.tar.gz )
       x86? ( ftp://elsie.nci.nih.gov/pub/tz32code${PV}.tar.gz )"

(Add other architectures as appropriate.)
Comment 4 Byeong-taek Lee 2006-02-22 22:47:17 UTC
the same error on ppc
Comment 5 Luca Botti 2006-02-22 22:59:47 UTC
Confirm the bug and the solution submitted from Paul Taylor.
Comment 6 Andrei Ivanov 2006-02-23 00:13:28 UTC
Same here: fails with tz64code and works with tz32code, on an Athlon XP.

Portage 2.1_pre4-r1 (default-linux/x86/2005.1, gcc-3.4.5, glibc-2.3.6-r3, 2.6.15-gentoo-r5 i686)
=================================================================
System uname: 2.6.15-gentoo-r5 i686 AMD Athlon(tm) XP 2600+
Gentoo Base System version 1.12.0_pre16
dev-lang/python:     2.3.5, 2.4.2-r1
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1-r1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-Os"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/openjms/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -ffast-math -fforce-addr -falign-functions=4 -mfpmath=sse -ftracer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig candy distlocks fixpackages sandbox sfperms strict userpriv usersandbox"
GENTOO_MIRRORS="http://ftp.lug.ro/gentoo"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 3dnow aalib acl acpi adns alsa apache2 avi bitmap-fonts bzlib cairo caps crypt cups curl curlwrappers dio eds emboss encode exif expat flac foomaticdb fortran ftp gd gif gmp gpm gstreamer idn imagemagick imap imlib java javamail jpeg junit ldap libg++ libwww mad maildir mailwrapper memlimit mhash mikmod mmap mmx mono mp3 mpeg ncurses nls nptl offensive ogg oggvorbis pam pcntl pcre pdflib png posix quicktime readline samba session shared sharedmem slp soap sockets socks5 speex spell sse ssl svg sysvipc tcpd theora tiff truetype truetype-fonts type1-fonts unicode urandom usb vhosts vorbis wmf xml xml2 xmlrpc zlib elibc_glibc kernel_linux userland_GNU"
Unset:  ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTDIR_OVERLAY
Comment 7 Ferdinando Formica 2006-02-23 00:47:26 UTC
I confirm the same on a pentium4 too; the modification proposed by Paul Taylor works.
Comment 8 Ulrich Müller gentoo-dev 2006-02-23 01:26:26 UTC
"tz64code" is just tzcode version 8.1 and should (in principle) not depend on the word size.

However, they are doing nasty things like redefining standard types. The following is from private.h:

   #ifndef INT_FAST64_MAX
   #ifdef LLONG_MAX
   typedef long long       int_fast64_t;
   #else /* !defined LLONG_MAX */
   typedef long            int_fast64_t;
   #endif /* !defined LLONG_MAX */
   #endif /* !defined INT_FAST64_MAX */

LLONG_MAX is only defined for C99 so this fails with standard gcc. Adding "-std=c99" to CFLAGS makes the package compile and install cleanly. Don't know if this would be a viable solution, though.
Comment 9 Ted 2006-02-23 04:20:47 UTC
Changing the src_uri didn't work for me.  Copied build to overlay, pasted the src_uri line in to replace the original, digested and built.  No go.
Comment 10 Samuli Suominen (RETIRED) gentoo-dev 2006-02-23 04:32:51 UTC
Same problem here, using Athlon XP with ~x86 system.

>>> Install timezone-data-2006b into /var/tmp/portage/timezone-data-2006b/image/ category sys-libs
./zic  -y ./yearistype -d /var/tmp/portage/timezone-data-2006b/image//usr/share/zoneinfo -L /dev/null africa antarctica asia australasia europe northamerica southamerica pacificnew etcetera factory backward systemv solar87 solar88 solar89
./zic: wild compilation-time specification of zic_t
make: *** [posix_only] Error 1
Comment 11 Samuli Suominen (RETIRED) gentoo-dev 2006-02-23 04:35:29 UTC
And solution by Paul Taylor fixed it.
Comment 12 Jonathan Heaney 2006-02-23 04:38:39 UTC
(In reply to comment #9)
> Changing the src_uri didn't work for me.  Copied build to overlay, pasted the
> src_uri line in to replace the original, digested and built.  No go.
> 

What does your SRC_URI look like?  Is the ebuild definitely using the tz32 code (i.e. can you delete the tz64code tarball from /usr/portage/distfiles and does the emerge still at least start)?
Comment 13 Samuli Suominen (RETIRED) gentoo-dev 2006-02-23 04:49:22 UTC
(In reply to comment #9)
> Changing the src_uri didn't work for me.  Copied build to overlay, pasted the
> src_uri line in to replace the original, digested and built.  No go.
> 

If you copied it in overlay, with same ebuild name.. you have 2 matching ebuilds in Portage and I think it emerged the one from /usr/portage first, version bump the name in your overlay to timezone-data-9999 or something or just change it directly from actual portage.
Comment 14 Jonathan Heaney 2006-02-23 04:56:39 UTC
(In reply to comment #13)
> (In reply to comment #9)
> > Changing the src_uri didn't work for me.  Copied build to overlay, pasted the
> > src_uri line in to replace the original, digested and built.  No go.
> > 
> 
> If you copied it in overlay, with same ebuild name.. you have 2 matching
> ebuilds in Portage and I think it emerged the one from /usr/portage first,
> version bump the name in your overlay to timezone-data-9999 or something or
> just change it directly from actual portage.
> 

I'm pretty sure an overlay takes precedence if the version nos. match.  It does here anyway (with different ebuilds admittedly).
Comment 15 Jonathan Heaney 2006-02-23 05:31:30 UTC
Two questions:

1. Does hte 32-bit code work on 64-bit boxes?

2. Shouldn't this maybe be masked (at least for 32-bit archs) until it gets resolved?
Comment 16 Daniel Webert 2006-02-23 06:47:27 UTC
*** Bug 123812 has been marked as a duplicate of this bug. ***
Comment 17 Kris Kelley 2006-02-23 07:48:55 UTC
Bug exists on ppc (PowerMac G3 beige tower), and Paul Taylor's solution works.  I changed the ebuild's SRC_URI to this:

SRC_URI="ftp://elsie.nci.nih.gov/pub/tzdata${PV}.tar.gz
       amd64? ( ftp://elsie.nci.nih.gov/pub/tz64code${PV}.tar.gz )
       x86? ( ftp://elsie.nci.nih.gov/pub/tz32code${PV}.tar.gz )"
       ppc? ( ftp://elsie.nci.nih.gov/pub/tz32code${PV}.tar.gz )"
Comment 18 Michael Hampicke 2006-02-23 09:44:57 UTC
The Problem also occours on Intel Xeon and in a MS VirtualPC 2004 sandbox.

The Paul Taylor solution fixes the problem on both machines.
Comment 19 Matt 2006-02-23 10:08:26 UTC
Paul Taylor's solution worked for me too on Pentium M

thanks to him
Comment 20 SpanKY gentoo-dev 2006-02-23 10:57:03 UTC
before anyone else wastes anymore time, Paul's solution is not the one you want to be using

the diamond in the rough here is Ulrich Mueller's comment #8 ... cheers to him for indepth analysis/solution to the issue
Comment 21 Federico Fissore 2006-02-23 11:03:56 UTC
I temporarly added -std=c99 to the cflags as suggested by Ulrich Mueller and the package emerged successfully

i'm running ~x86 ntpl gcc4.0.2 on an athlon-xp

Portage 2.1_pre4-r1 (default-linux/x86/2005.1, gcc-4.0.2, glibc-2.3.6-r3, 2.6.14-gentoo-r5 i686)
=================================================================
System uname: 2.6.14-gentoo-r5 i686 AMD Athlon(tm) XP 1700+
Gentoo Base System version 1.12.0_pre16
dev-lang/python:     2.3.5-r2, 2.4.2-r1
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1-r1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer -ftracer -std=c99"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer -ftracer -std=c99 -fvisibility-inlines-hidden"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--quiet --deep"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.ngi.it/ http://mirror.switch.ch/ftp/mirror/gentoo/"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j2 -s"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow X a52 aac aalib acpi alsa apm asf avi berkdb bitmap-fonts bzip2 cairo cdda cdr crypt css cups dga dts dvb dvd dvdr dvdread eds emboss encode esd ffmpeg firefox foomaticdb fortran gcj gdbm gif glut gnome gpm gstreamer gtk gtk2 imlib ipv6 java jikes jpeg libcaca libg++ libwww live lzo mad matroska mikmod mjpeg mmx mng motif mp3 mpeg nautilus ncurses nls nptl nptlonly nsplugin nvidia ogg oggvorbis opengl pam pdflib perl png python quicktime readline real rtc ruby samba sdl smartcard spell sse ssl stream svg tcpd theora threads tiff truetype truetype-fonts type1-fonts vcd vlm vorbis win32codecs wmf wxwindows xine xml2 xmms xosd xv xvid zlib elibc_glibc kernel_linux userland_GNU"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LINGUAS, PORTDIR_OVERLAY
Comment 22 Timothy Stotts 2006-02-23 11:08:03 UTC
(In reply to comment #20)

Confirmed on PPC (-mcpu=7450).  This command is successful:
# CFLAGS="-std=c99" emerge =timezone-data-2006b
Comment 23 Rumen Yotov 2006-02-23 11:20:31 UTC
Hi,
Following #8 - install works for me.
Thanks.Rumen
Comment 24 Bob 2006-02-23 12:36:11 UTC
(In reply to comment #8)

> LLONG_MAX is only defined for C99 so this fails with standard gcc. Adding
> "-std=c99" to CFLAGS makes the package compile and install cleanly. Don't know
> if this would be a viable solution, though.


the devil is making a snowman today.  the official fix is to use an insane CFLAG instead of "-O2 -fomit-frame-pointer -pipe".  =0
Comment 25 Martin von Gagern 2006-02-23 12:49:53 UTC
Created attachment 80546 [details, diff]
patch to the ebuild to include -stc=c99

This patch implements comment #8 into the ebuild.
Works for me.
Comment 26 Niv Vaizer 2006-02-23 13:02:43 UTC
Golden.
Comment 27 SpanKY gentoo-dev 2006-02-23 16:31:12 UTC
fixed in cvs, thanks all
Comment 28 Jakub Moc (RETIRED) gentoo-dev 2006-02-24 04:24:27 UTC
*** Bug 123915 has been marked as a duplicate of this bug. ***
Comment 29 Jakub Moc (RETIRED) gentoo-dev 2006-02-27 01:23:07 UTC
*** Bug 124234 has been marked as a duplicate of this bug. ***
Comment 30 Jakub Moc (RETIRED) gentoo-dev 2006-02-27 08:40:40 UTC
*** Bug 124277 has been marked as a duplicate of this bug. ***
Comment 31 Blu3 2006-02-27 08:59:50 UTC
can this cvs fix get pushed?  it's four days later, esync from one hour ago is still broken.

thank you
Comment 32 Rodrigo Severo 2006-03-16 07:36:18 UTC
I should have mentioned this before but maybe the problem is here:

Both of those are symptoms of the same problem: you compiled the code
in such a way that the code thinks there is no 64-bit integer support.
Here's a proposed patch that will catch this problem earlier and make
the fix more obvious:

--- private.h   2006/02/22 00:24:05     2006.2.0.2
+++ private.h   2006/02/23 06:18:32     2006.2.0.5
@@ -136,6 +136,10 @@ static char        privatehid[] = "@(#)private.
 #ifdef LLONG_MAX
 typedef long long      int_fast64_t;
 #else /* !defined LLONG_MAX */
+#if (LONG_MAX >> 31) < 0xffffffff
+Please use a compiler that supports a 64-bit integer type (or wider);
+you may need to compile with "-DHAVE_STDINT_H".
+#endif /* (LONG_MAX >> 31) < 0xffffffff */
 typedef long           int_fast64_t;
 #endif /* !defined LLONG_MAX */
 #endif /* !defined INT_FAST64_MAX */

Sorry for the delay in providing this info.