Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 72677 - catalyst 1.1.1 unsuccessful in stage 1
Summary: catalyst 1.1.1 unsuccessful in stage 1
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: Catalyst (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: Gentoo Catalyst Developers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-11-27 16:05 UTC by M. Edward Borasky
Modified: 2004-11-29 04:22 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description M. Edward Borasky 2004-11-27 16:05:07 UTC
I am trying to work my way through catalyst to make a LiveCD. I have created my own profile and placed it in the "Portage overlay" directory. I built a Portage snapshot using catalyst 1.1.1, however, I haven't been able to get the stage1 to build. Here's the log of the attempt; the seed was the stage3 i686 tarball from the 2004.3 release:
----------------------------------------------------------------
DreamSong catalyst # catalyst -f stage1.spec
Gentoo Catalyst, version 1.1.0
Copyright 2003-2004 The Gentoo Foundation
Distributed under the GNU General Public License version 2

Using default Catalyst configuration file, /etc/catalyst/catalyst.conf
Setting storedir to default value "/var/tmp/catalyst"
Setting portdir to default value "/usr/portage"
Setting distdir to config file value "/usr/portage/distfiles"
Setting options to config file value "ccache pkgcache kerncache"
Setting sharedir to config file value "/usr/lib/catalyst"
Compiler cache support enabled.
Package cache support enabled.
Kernel cache support enabled.
Building natively for x86
Setting up directories...
Running command "rm -rf /var/tmp/catalyst/tmp/default/stage1-i686-20041127-znmeb"
Unpacking stage tarball...
Running command "tar xjpf /var/tmp/catalyst/builds/default/stage3-i686-2004.3.tar.bz2 -C /var/tmp/catalyst/tmp/default/stage1-i686-20041127-znmeb"
Unpacking portage tree snapshot...
Running command "tar xjpf /var/tmp/catalyst/snapshots/portage-20041127-znmeb.tar.bz2 -C /var/tmp/catalyst/tmp/default/stage1-i686-20041127-znmeb/usr"
Configuring profile link...
Running command "rm -f /var/tmp/catalyst/tmp/default/stage1-i686-20041127-znmeb/etc/make.profile"
Running command "ln -sf ../usr/portage/profiles/i686-science /var/tmp/catalyst/tmp/default/stage1-i686-20041127-znmeb/etc/make.profile"
Setting up chroot...
Running command "cp /etc/resolv.conf /var/tmp/catalyst/tmp/default/stage1-i686-20041127-znmeb/etc"
Running command "rm -f /var/tmp/catalyst/tmp/default/stage1-i686-20041127-znmeb/etc/make.conf"
Running command "/bin/bash /usr/lib/catalyst/targets/stage1/stage1.sh run"
>>> Regenerating /etc/ld.so.cache...
 * Caching service dependencies...


Performing Global Updates: /usr/portage/profiles/updates/4Q-2004
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  @='/var/db move'
  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'
.....................................s....
Calculating dependencies ...done!
>>> emerge (1 of 1) dev-util/ccache-2.3 to /
*** Adjusting ccache permissions for portage user...
>>> md5 src_uri ;-) ccache-2.3.tar.gz
>>> Unpacking source...
>>> Unpacking ccache-2.3.tar.gz to /var/tmp/portage/ccache-2.3/work
>>> Source unpacked.
./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
configure: Configuring ccache
checking for i686-pc-linux-gnu-gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for a BSD-compatible install... /bin/install -c
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking whether time.h and sys/time.h may both be included... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking ctype.h usability... yes
checking ctype.h presence... yes
checking for ctype.h... yes
checking for strings.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for realpath... yes
checking for snprintf... yes
checking for vsnprintf... yes
checking for vasprintf... yes
checking for asprintf... yes
checking for mkstemp... yes
checking for gethostname... yes
checking for compar_fn_t in stdlib.h... yes
checking for C99 vsnprintf... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
gcc -O3 -march=pentium3 -pipe -fomit-frame-pointer -Wall -W -I.   -c -o ccache.o ccache.c
gcc -O3 -march=pentium3 -pipe -fomit-frame-pointer -Wall -W -I.   -c -o mdfour.o mdfour.c
gcc -O3 -march=pentium3 -pipe -fomit-frame-pointer -Wall -W -I.   -c -o hash.o hash.c
gcc -O3 -march=pentium3 -pipe -fomit-frame-pointer -Wall -W -I.   -c -o execute.o execute.c
gcc -O3 -march=pentium3 -pipe -fomit-frame-pointer -Wall -W -I.   -c -o util.o util.c
gcc -O3 -march=pentium3 -pipe -fomit-frame-pointer -Wall -W -I.   -c -o args.o args.c
gcc -O3 -march=pentium3 -pipe -fomit-frame-pointer -Wall -W -I.   -c -o stats.ostats.c
gcc -O3 -march=pentium3 -pipe -fomit-frame-pointer -Wall -W -I.   -c -o cleanup.o cleanup.c
gcc -O3 -march=pentium3 -pipe -fomit-frame-pointer -Wall -W -I.   -c -o snprintf.o snprintf.c
gcc -O3 -march=pentium3 -pipe -fomit-frame-pointer -Wall -W -I.   -c -o unify.ounify.c
gcc -O3 -march=pentium3 -pipe -fomit-frame-pointer -Wall -W -I. -o ccache ccache.o mdfour.o hash.o execute.o util.o args.o stats.o cleanup.o snprintf.o unify.o
>>> Test phase [not enabled]: dev-util/ccache-2.3

>>> Install ccache-2.3 into /var/tmp/portage/ccache-2.3/image/ category dev-util
man:
prepallstrip:
strip:
strip:
   usr/bin/ccache
>>> Completed installing into /var/tmp/portage/ccache-2.3/image/

./
./usr/
./usr/bin/
./usr/bin/ccache-config
./usr/bin/ccache
./usr/lib/
./usr/lib/ccache/
./usr/lib/ccache/bin/
./usr/lib/ccache/bin/.keep
./usr/share/
./usr/share/doc/
./usr/share/doc/ccache-2.3/
./usr/share/doc/ccache-2.3/html/
./usr/share/doc/ccache-2.3/html/index.html
./usr/share/doc/ccache-2.3/html/ccache-man.html
./usr/share/doc/ccache-2.3/README.gz
./usr/share/man/
./usr/share/man/man1/
./usr/share/man/man1/ccache.1.gz
./root/
./root/.ccache/
./root/.ccache/.keep
>>> Done.
>>> extracting info
>>> extracting ccache-2.3
>>> Merging dev-util/ccache-2.3 to /
--- /usr/
--- /usr/bin/
>>> /usr/bin/ccache-config
>>> /usr/bin/ccache
--- /usr/lib/
--- /usr/lib/ccache/
--- /usr/lib/ccache/bin/
>>> /usr/lib/ccache/bin/.keep
--- /usr/share/
--- /usr/share/doc/
>>> /usr/share/doc/ccache-2.3/
>>> /usr/share/doc/ccache-2.3/html/
>>> /usr/share/doc/ccache-2.3/html/index.html
>>> /usr/share/doc/ccache-2.3/html/ccache-man.html
>>> /usr/share/doc/ccache-2.3/README.gz
--- /usr/share/man/
--- /usr/share/man/man1/
>>> /usr/share/man/man1/ccache.1.gz
--- /root/
>>> /root/.ccache/
>>> /root/.ccache/.keep
 * Scanning for compiler front-ends...
Creating ccache shadow link: /usr/lib/ccache/bin/gcc...
Creating ccache shadow link: /usr/lib/ccache/bin/cc...
Creating ccache shadow link: /usr/lib/ccache/bin/c++...
Creating ccache shadow link: /usr/lib/ccache/bin/g++...
Creating ccache shadow link: /usr/lib/ccache/bin/i686-pc-linux-gnu-gcc...
Creating ccache shadow link: /usr/lib/ccache/bin/i686-pc-linux-gnu-c++...
Creating ccache shadow link: /usr/lib/ccache/bin/i686-pc-linux-gnu-g++...
 * To use ccache with **non-Portage** C compiling, add
 * /usr/lib/ccache/bin to the beginning of your path, before /usr/bin.
 * Portage 2.0.46-r11+ will automatically take advantage of ccache with
 * no additional steps.  If this is your first install of ccache, type
 * something like this to set a maximum cache size of 2GB:
 * # ccache -M 2G
>>> Regenerating /etc/ld.so.cache...
 * Caching service dependencies...
>>> dev-util/ccache-2.3 merged.

>>> clean: No packages selected for removal.

>>> Auto-cleaning packages ...

>>> No outdated packages were found on your system.


 * GNU info directory index is up-to-date.

>>> /tmp/stage1root/tmp doesn't exist, creating it...
>>> /tmp/stage1root/var/tmp doesn't exist, creating it...
>>> /tmp/stage1root//var/cache/edb doesn't exist, creating it...
>>> /tmp/stage1root//var/cache/edb/dep doesn't exist, creating it...


Performing Global Updates: /usr/portage/profiles/updates/3Q-2002
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  @='/var/db move'
  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'
........................................................................................


Performing Global Updates: /usr/portage/profiles/updates/4Q-2002
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  @='/var/db move'
  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'
................................................................................


Performing Global Updates: /usr/portage/profiles/updates/1Q-2003
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  @='/var/db move'
  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'
..........................


Performing Global Updates: /usr/portage/profiles/updates/2Q-2003
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  @='/var/db move'
  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'
.................................................................................


Performing Global Updates: /usr/portage/profiles/updates/3Q-2003
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  @='/var/db move'
  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'
........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................


Performing Global Updates: /usr/portage/profiles/updates/4Q-2003
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  @='/var/db move'
  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'
.....................................................................


Performing Global Updates: /usr/portage/profiles/updates/1Q-2004
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  @='/var/db move'
  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'
.........................................


Performing Global Updates: /usr/portage/profiles/updates/2Q-2004
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  @='/var/db move'
  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'
................................................................................................................


Performing Global Updates: /usr/portage/profiles/updates/3Q-2004
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  @='/var/db move'
  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'
..............................................................................................................................................................................................................


Performing Global Updates: /usr/portage/profiles/updates/4Q-2004
(Could take a couple of minutes if you have a lot of binary packages.)
  .='update pass'  *='binary update'  @='/var/db move'
  s='/var/db SLOT move' S='binary SLOT move' p='update /etc/portage/package.*'
.........................................



 ** Skipping packages. Run 'fixpackages' or set it in FEATURES to fix the
    tbz2's in the packages directory. Note: This can take a very long time.
emerge: please tell me what to do.


Usage:
   emerge [ options ] [ action ] [ ebuildfile | tbz2file | dependency ] [ ... ]
   emerge [ options ] [ action ] < system | world >
   emerge < --sync | --metadata | --info >
   emerge --resume [ --pretend | --ask | --skipfirst ]
   emerge --help [ system | config | sync ]
Options: -[abcCdDefhikKlnoOpPsSuUvV] [--oneshot] [--newuse] [--noconfmem]
                                    [--columns] [--nospinner]
Actions: [ --clean | --depclean | --inject | --prune | --regen | --search | --unmerge ]


   For more help try 'emerge --help' or consult the man page.


!!! catalyst: build script failed

!!! catalyst: Stage build aborting due to error.
!!! catalyst: could not complete build
--------------------------------------------------------
And the spec file

## generic installation stage specfile
## used to build a stage1, stage2, or stage3 installation tarball

## John Davis <zhen@gentoo.org>

# subarch can be any of the supported Catalyst subarches (like athlon-xp). Refer
# to the catalyst reference manual (http://www.gentoo.org/proj/en/releng/catalys
t) for supported arches.
# example:
# subarch: athlon-xp
subarch: i686

# version stamp is an identifier for the build. can be anything you want it to b
e, but it
# is usually a date.
# example:
# version_stamp: 2004.2
version_stamp: 20041127-znmeb

# target specifies what type of build Catalyst is to do. check the catalyst refe
rence manual
# for supported targets.
# example:
# target: stage2
target: stage1

# rel_type defines what kind of build we are doing. usually, default will suffic
e.
# example:
# rel_type: default
rel_type: default

# system profile used to build the media
# example:
# profile: default-x86-2004.0
profile: i686-science

# which snapshot to use
# example:
# snapshot: 20040614
snapshot: 20041127-znmeb

# where the seed stage comes from, path is relative to $clst_sharedir (catalyst.
conf)
# example:
# default/stage3-x86-2004.1
source_subpath: default/stage3-i686-2004.3
-----------------------------------------------------------------------
My profile is based on /usr/portage/profiles/default-linux/x86/2004.3/; the only difference is in "make.defaults", where I've modified the USE flags:

DreamSong catalyst # diff /usr/portage/profiles/default-linux/x86/2004.3/make.defaults /usr/local/portage/profiles/i686-science/make.defaults
8c8
< GRP_STAGE23_USE="ipv6 pam tcpd readline nls ssl gpm perl python berkdb ncurses"
---
> GRP_STAGE23_USE="mmx fortran f77 ipv6 pam tcpd readline nls ssl gpm perl python berkdb ncurses"
15c15
< USE="x86 oss apm arts avi berkdb bitmap-fonts crypt cups encode fortran f77 foomaticdb gdbm gif gpm gtk gtk2 imlib jpeg kde gnome libg++ libwww mad mikmod motif mpeg ncurses nls oggvorbis opengl pam pdflib png python qt quicktime readline sdl spell ssl svga tcpd truetype X xml2 xmms xv zlib"
---
> USE="mmx x86 oss apm arts avi berkdb bitmap-fonts crypt cups encode fortran f77 foomaticdb gdbm gif gpm gtk gtk2 imlib jpeg kde gnome libg++ libwww mad mikmod motif mpeg ncurses nls oggvorbis opengl pam pdflib png python qt quicktime readline sdl spell ssl svga tcpd truetype X xml2 xmms xv zlib"


Reproducible: Always
Steps to Reproduce:




DreamSong catalyst # emerge info
Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.3.4, glibc-2.3.4.20040808-r1,
2.4.25-gentoo-r12 i686)
=================================================================
System uname: 2.4.25-gentoo-r12 i686 Pentium III (Coppermine)
Gentoo Base System version 1.4.16
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.90.0.1.1-r3
Headers:  sys-kernel/linux-headers-2.4.21-r1
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=pentium3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown
/usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/
/usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=pentium3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="ftp://gentoo.mirrors.pair.com/
http://212.219.56.131/sites/www.ibiblio.org/gentoo/
ftp://gg3.net/pub/linux/gentoo/ http://mirror.gentoo.gr.jp
ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X alsa ansi apm arts auctex avi berkdb bitmap-fonts blas cdr clisp cmucl
crypt cups emacs encode esd f77 fam flac flash fltk foomaticdb fortran fpx gcl
gdbm gif gpm graphviz guile imagemagick imlib jack jack-tmpfs java jbig jpeg kde
ladcca lcms ldap libg++ libwww mad mikmod mmx motif mpeg mysql nas ncurses nls
oggvorbis opengl oss pam pdflib perl png portaudio python qt quicktime readline
ruby sbcl sdl slang sndfile spell sse ssl svg svga tcltk tcpd tetex tiff
truetype wmf x86 xemacs xml2 xmms xv zlib"

DreamSong catalyst #
Comment 1 Chris Gianelloni (RETIRED) gentoo-dev 2004-11-28 07:15:01 UTC
Seed stage has to be an unoptimized stage.  You would have to use stage3-x86-2004.3 rather than stage3-i686-2004.3 or it won't work.
Comment 2 M. Edward Borasky 2004-11-28 08:37:20 UTC
That didn't work. Same error message, same place:

emerge: please tell me what to do.


Usage:
   emerge [ options ] [ action ] [ ebuildfile | tbz2file | dependency ] [ ... ]
   emerge [ options ] [ action ] < system | world >
   emerge < --sync | --metadata | --info >
   emerge --resume [ --pretend | --ask | --skipfirst ]
   emerge --help [ system | config | sync ]
Options: -[abcCdDefhikKlnoOpPsSuUvV] [--oneshot] [--newuse] [--noconfmem]
                                    [--columns] [--nospinner]
Actions: [ --clean | --depclean | --inject | --prune | --regen | --search | --unmerge ]


   For more help try 'emerge --help' or consult the man page.


!!! catalyst: build script failed

!!! catalyst: Stage build aborting due to error.
!!! catalyst: could not complete build
------------------------------------------------------------------------
I've seen that message ("emerge: please tell me what to do") before, when I've forgotten to include a "target" on an emerge command. I think one of the scripts in catalyst is missing a target.

Here's the new spec file:

## generic installation stage specfile
## used to build a stage1, stage2, or stage3 installation tarball

## John Davis <zhen@gentoo.org>

# subarch can be any of the supported Catalyst subarches (like athlon-xp). Refer
# to the catalyst reference manual (http://www.gentoo.org/proj/en/releng/catalys
t) for supported arches.
# example:
# subarch: athlon-xp
subarch: x86

# version stamp is an identifier for the build. can be anything you want it to b
e, but it
# is usually a date.
# example:
# version_stamp: 2004.2
version_stamp: 20041127-znmeb

# target specifies what type of build Catalyst is to do. check the catalyst refe
rence manual
# for supported targets.
# example:
# target: stage2
target: stage1

# rel_type defines what kind of build we are doing. usually, default will suffic
e.
# example:
# rel_type: default
rel_type: default

# system profile used to build the media
# example:
# profile: default-x86-2004.0
profile: i686-science

# which snapshot to use
# example:
# snapshot: 20040614
snapshot: 20041127-znmeb

# where the seed stage comes from, path is relative to $clst_sharedir (catalyst.
conf)
# example:
# default/stage3-x86-2004.1
source_subpath: default/stage3-x86-2004.3
------------------------------------------------------------------------------
One other note: I was watching it run, and in the step before, it compiled "ccache", and it was using the *host* CFLAGS -- "march=pentium3", etc. Is that right, or should it be using the target CFLAGS -- generic x86 or i686?
Comment 3 Chris Gianelloni (RETIRED) gentoo-dev 2004-11-29 04:22:21 UTC
All of the scripts that come with catalyst are examples and need to be edited to suit your needs.

I'm sorry, but without more information there simply isn't anything I can do as catalyst works as it is supposed to when there is a proper spec file in use.

Perhaps you could check out gentoo/src/releng/specs/2004.3/x86 from viewcvs and use those instead.