Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
catalyst - livecd creation tool
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3 ... 10, 11, 12  
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
RAPHEAD
Tux's lil' helper
Tux's lil' helper


Joined: 20 Jun 2003
Posts: 134
Location: Germany

PostPosted: Mon Mar 27, 2006 9:31 pm    Post subject: Reply with quote

Hi,

trying to create a customized CD/USB instance of Gentoo with Catalyst.

Everything went well untill I did catalyst my spec file:

Code:
catalyst -f nfts1-stage1.spec


The spec file:

Code:
subarch: x86
version_stamp: 20060326
target: livecd-stage1
rel_type: default
profile: default-linux/x86/2006.0
snapshot: 20060326
source_subpath: stage3-i686-2006.0
livecd/use:
        -*
   apache2
   pam
   gif
   jpeg
   png
   socks5
   bzip2
   ftp
   livecd
   fbcon
   xml
   ncurses
   readline
   ssl
   mysql
   php
   zlib
   samba

livecd/packages:
   usbutils
        baselayout
        ...


I'm getting the famous error 'C compiler cannot create executables'

as follows:

Code:
 * econf: updating ncurses-5.4/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating ncurses-5.4/config.sub with /usr/share/gnuconfig/config.sub
/var/tmp/portage/ncurses-5.4-r6/work/ncurses-5.4/configure --prefix=/usr --host=i386-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/lib --with-terminfo-dirs=/etc/terminfo:/usr/share/terminfo --disable-termcap --with-shared --with-rcs-ids --without-ada --enable-symlinks --program-prefix= --without-debug --without-gpm --build=i386-pc-linux-gnu
Configuring NCURSES 5.4 ABI 5 (Mon Mar 27 20:17:27 Local time zone must be set--see zic manual page 2006)
checking build system type... i386-pc-linux-gnu
checking host system type... i386-pc-linux-gnu
checking target system type... i386-pc-linux-gnu
Configuring for linux-gnu
checking for prefix... /usr
checking for i386-pc-linux-gnu-gcc... i386-pc-linux-gnu-gcc
checking for C compiler default output... configure: error: C compiler cannot create executables

!!! Please attach the config.log to your bug report:
!!! /var/tmp/portage/ncurses-5.4-r6/work/narrowc/config.log

!!! ERROR: sys-libs/ncurses-5.4-r6 failed.
!!! Function econf, Line 495, Exitcode 0
!!! econf failed
!!! If you need support, post the topmost build error, NOT this status message.


Traceback (most recent call last):
  File "modules/livecd_stage1_target.py", line 21, in run_local
    cmd("/bin/bash "+self.settings["sharedir"]+\
  File "/usr/lib/catalyst/modules/catalyst_support.py", line 102, in cmd
    raise CatalystError,myexc
CatalystError: <unprintable instance object>
None

!!! catalyst: LiveCD stage1 build aborting due to error.



tried catalyst 1 and 2 as well as several compilers and removed all my CFLAGS.

I guess the problem is, that it's assuming an i386-pc-linux-gnu arch. But in my make.conf I've stated i686-pc-linux-gnu. How can I fix this?
Back to top
View user's profile Send private message
slycordinator
Advocate
Advocate


Joined: 31 Jan 2004
Posts: 3065
Location: Korea

PostPosted: Tue Mar 28, 2006 4:35 am    Post subject: Reply with quote

RAPHEAD wrote:
Hi,

trying to create a customized CD/USB instance of Gentoo with Catalyst.

Everything went well untill I did catalyst my spec file:

Code:
catalyst -f nfts1-stage1.spec


The spec file:

Code:
subarch: x86
version_stamp: 20060326
target: livecd-stage1
rel_type: default
profile: default-linux/x86/2006.0
snapshot: 20060326
source_subpath: stage3-i686-2006.0
livecd/use:
        -*
   apache2
   pam
   gif
   jpeg
   png
   socks5
   bzip2
   ftp
   livecd
   fbcon
   xml
   ncurses
   readline
   ssl
   mysql
   php
   zlib
   samba

livecd/packages:
   usbutils
        baselayout
        ...


I'm getting the famous error 'C compiler cannot create executables'

as follows:

Code:
 * econf: updating ncurses-5.4/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating ncurses-5.4/config.sub with /usr/share/gnuconfig/config.sub
/var/tmp/portage/ncurses-5.4-r6/work/ncurses-5.4/configure --prefix=/usr --host=i386-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/lib --with-terminfo-dirs=/etc/terminfo:/usr/share/terminfo --disable-termcap --with-shared --with-rcs-ids --without-ada --enable-symlinks --program-prefix= --without-debug --without-gpm --build=i386-pc-linux-gnu
Configuring NCURSES 5.4 ABI 5 (Mon Mar 27 20:17:27 Local time zone must be set--see zic manual page 2006)
checking build system type... i386-pc-linux-gnu
checking host system type... i386-pc-linux-gnu
checking target system type... i386-pc-linux-gnu
Configuring for linux-gnu
checking for prefix... /usr
checking for i386-pc-linux-gnu-gcc... i386-pc-linux-gnu-gcc
checking for C compiler default output... configure: error: C compiler cannot create executables

!!! Please attach the config.log to your bug report:
!!! /var/tmp/portage/ncurses-5.4-r6/work/narrowc/config.log

!!! ERROR: sys-libs/ncurses-5.4-r6 failed.
!!! Function econf, Line 495, Exitcode 0
!!! econf failed
!!! If you need support, post the topmost build error, NOT this status message.


Traceback (most recent call last):
  File "modules/livecd_stage1_target.py", line 21, in run_local
    cmd("/bin/bash "+self.settings["sharedir"]+\
  File "/usr/lib/catalyst/modules/catalyst_support.py", line 102, in cmd
    raise CatalystError,myexc
CatalystError: <unprintable instance object>
None

!!! catalyst: LiveCD stage1 build aborting due to error.



tried catalyst 1 and 2 as well as several compilers and removed all my CFLAGS.

I guess the problem is, that it's assuming an i386-pc-linux-gnu arch. But in my make.conf I've stated i686-pc-linux-gnu. How can I fix this?


Try using an x86 stage3 tarball instead of an i686. That might help, though it's "kludgy."
Back to top
View user's profile Send private message
Bob P
Advocate
Advocate


Joined: 20 Oct 2004
Posts: 3355
Location: Jackass! Development Labs

PostPosted: Tue Mar 28, 2006 7:29 am    Post subject: Reply with quote

RAPHEAD wrote:
I guess the problem is, that it's assuming an i386-pc-linux-gnu arch. But in my make.conf I've stated i686-pc-linux-gnu. How can I fix this?


Garbage in, garbage out.

RAPHEAD wrote:
Code:
catalyst -f nfts1-stage1.spec


The spec file:

Code:
subarch: x86
...


_________________
.
Stage 1/3 | Jackass! | Rockhopper! | Thanks | Google Sucks
Back to top
View user's profile Send private message
Bob P
Advocate
Advocate


Joined: 20 Oct 2004
Posts: 3355
Location: Jackass! Development Labs

PostPosted: Tue Mar 28, 2006 7:32 am    Post subject: Reply with quote

slycordinator wrote:
edit:
So what seems to be the "fix" for the problem is just unpacking the stage tarball anywhere, bind-mounting portage into that unpacked area, chroot in, remove pam-login, and then unmount stuff and create a new tarball.

This way I can automate it in the future. Though I'll have to see if this works on another day (as I work soon).
But it no longer gave the pam-login message so that's good.


you're right -- catalyst is going to use whatever is in your seed stageball to build your system. its a PITA, but the best way to address the problem is to rebuild your stageball the way that you want it to be, and upload the revised stageball for catalyst to use as a seed. that's better than modifying the catalyst chroot, as that information is temporary and will get flushed by -p.
_________________
.
Stage 1/3 | Jackass! | Rockhopper! | Thanks | Google Sucks
Back to top
View user's profile Send private message
RAPHEAD
Tux's lil' helper
Tux's lil' helper


Joined: 20 Jun 2003
Posts: 134
Location: Germany

PostPosted: Tue Mar 28, 2006 8:43 am    Post subject: Reply with quote

Hi,
thanks Bob and slycordinator.

I guess thinkgs start making sense for me slowly. I always asked myslef why on earth I need would need this _COMPILED_ stage tarball anyway. So can someone confirm the following assumption about how catalyst works:

1.) Deflates the (seed?) tarball (no matter stage 1,2 or 3) to some directory below /tmp/catalyst
2.) Chroots to this directory
3.) Starts to emerge the package list in the spec file to that environment

Am I right?

This would mean changing my local CFLAGS is no good. So what I could do is modify my seed tarball before or to use a more generic one like just x86.

If this works, I have to give a hint here: http://gentoo-wiki.com/HOWTO_Small_Footprint_Gentoo_on_USB

If catalyst applies the USE flags stated in the spec file but ignores the CFLAGS, it should definately be possible to override the CFLAGS too.
Back to top
View user's profile Send private message
Bob P
Advocate
Advocate


Joined: 20 Oct 2004
Posts: 3355
Location: Jackass! Development Labs

PostPosted: Tue Mar 28, 2006 8:58 am    Post subject: Reply with quote

i don't know if you're aware of this or not, but there is a catalyst mailing list. Chris G does a good job at trying to help people, but he tends to *sigh* alot when people find the documentation to be insufficient.

one way to solve your flag problem is to fix the seed. you may also be able to accomplish a similar result via the file that directs catalyst to use specified environment variables. i've never done it. that stuff is supposedly documented, though it seems to be somewhat of an circuitous excersise to reverse engineer your way into understanding how the tool works.
_________________
.
Stage 1/3 | Jackass! | Rockhopper! | Thanks | Google Sucks
Back to top
View user's profile Send private message
RAPHEAD
Tux's lil' helper
Tux's lil' helper


Joined: 20 Jun 2003
Posts: 134
Location: Germany

PostPosted: Thu Mar 30, 2006 9:23 pm    Post subject: Success with x86 tarball Reply with quote

Hi,

I've compiled everything with catalyst2 (!) and a x86 stage 3 tarball. Thanks!
Regarding the built system I have a question:

- I want to strip the size doen a bit (currently 430MB). The biggest part seem to be the locale files in /usr/lib/locale, which belong to glibc according to equery. They need 170MB. Can I set some flags or whatever that emerge/catalyst skips them?
I know I could use ulibc but I don't want to...

The second way (untar the tarball and modify make.conf) did not work for me. I figured out after some weired errors of catalyst, that after re-packing the tarball, there are files and directories missing. I guess it's my fault, but what the heck is wrong with?:

Code:
tar -cjvf stage3-i686-2006.0.tar.bz2 *


Regarding catalyst: I think there is room for optimisations and the doc should clearly state, what it actually does, because then it could be used more intuitively by an average gentoo user.

thanks
Back to top
View user's profile Send private message
Bob P
Advocate
Advocate


Joined: 20 Oct 2004
Posts: 3355
Location: Jackass! Development Labs

PostPosted: Mon Apr 03, 2006 12:07 pm    Post subject: Re: Success with x86 tarball Reply with quote

RAPHEAD wrote:
Regarding catalyst: I think there is room for optimisations and the doc should clearly state, what it actually does, because then it could be used more intuitively by an average gentoo user.

the average gentoo user using catalyst "intuitively"? :lol: that's quite a fantasy.
_________________
.
Stage 1/3 | Jackass! | Rockhopper! | Thanks | Google Sucks
Back to top
View user's profile Send private message
slycordinator
Advocate
Advocate


Joined: 31 Jan 2004
Posts: 3065
Location: Korea

PostPosted: Mon Apr 03, 2006 9:51 pm    Post subject: Re: Success with x86 tarball Reply with quote

Bob P wrote:
the average gentoo user using catalyst "intuitively"? :lol: that's quite a fantasy.


Like is it "intuitive" that the "fetchonly" feature fetches the packages that are explicitely in the spec file... and proceeds to run the chroot build script.

And my bug on this issue hasn't been commented on by any dev so I have no idea if it's even been worked on though after reading another bug they have sort-of "intermittent" releases of catalyst so it might be a while before this gets fixed.
Back to top
View user's profile Send private message
d_adams
Apprentice
Apprentice


Joined: 20 Oct 2003
Posts: 223

PostPosted: Wed Apr 05, 2006 2:06 am    Post subject: Reply with quote

I've got a question on both the stage 1 and 2 spec files and how catalyst works the way it does. I'm trying to insert a custom module into the cd (minimal one) and I've noticed that catalyst builds the kernel 4 different times!! Is there any sound reason for this activity? I've been at this for a while now and can build working cd's just fine, but putting the network driver in that I want is rapidly becoming a pita. I've watched this happen and break the build midstream so I can chroot into the environment to fix the kernel every time, but the last one never quite works. I also finally figured out that the gcc version I'm running impacts building stuff in a chroot, so I've gotten that part corrected now.

What would be the best way to insert this module into the livecd so that it gets loaded or can at least be modprobed?

Thanks
_________________
http://www.1and1.com/?k_id=16196755 click me for cheap linux based web hosting.
Back to top
View user's profile Send private message
Bob P
Advocate
Advocate


Joined: 20 Oct 2004
Posts: 3355
Location: Jackass! Development Labs

PostPosted: Thu Apr 06, 2006 12:45 am    Post subject: Reply with quote

look at the autoconfig script.
_________________
.
Stage 1/3 | Jackass! | Rockhopper! | Thanks | Google Sucks
Back to top
View user's profile Send private message
InsaneHamster
Guru
Guru


Joined: 02 May 2003
Posts: 435

PostPosted: Fri Jul 14, 2006 1:27 pm    Post subject: i get the following error Reply with quote

i get this error when i first try to even get to stage 1
Code:


whitepenguin livecd # catalyst2 -f livecd-stage2_template.spec
Gentoo Catalyst, version 2.0_rc49
Copyright 2003-2005 The Gentoo Foundation
Distributed under the GNU General Public License version 2

Using default Catalyst configuration file, /etc/catalyst2/catalyst2.conf
Setting sharedir to config file value "/usr/lib64/catalyst2"
Setting snapshot_cache to default value "/var/tmp/catalyst2/snapshot_cache"
Setting hash_function to config file value "crc32"
Setting storedir to config file value "/var/tmp/catalyst2"
Setting portdir to default value "/usr/portage"
Setting distdir to default value "/usr/portage/distfiles"
Setting options to config file value "autoresume ccache kerncache pkgcache seedcache snapcache"
Compiler cache support enabled.
Package cache support enabled.
Snapshot cache support enabled.
Seed cache support enabled.
Kernel cache support enabled.
Autoresuming support enabled.
Using target: livecd-stage2
Building on amd64 for alternate machine type x86
Caching snapshot to /var/tmp/catalyst2/snapshot_cache/portage-latest/
The autoresume path is /var/tmp/catalyst2/tmp/default/.autoresume-livecd-stage2-x86-2006.0/
Resume point detected, skipping target path setup operation...
Location of the package cache is /var/tmp/catalyst2/packages/default/livecd-stage2-x86-2006.0/
Location of the kerncache is /var/tmp/catalyst2/kerncache/default/livecd-stage2-x86-2006.0/
Checking for processes running in chroot and killing them.
Running action sequence: unpack
Resume point detected, skipping unpack operation...
Running action sequence: unpack_snapshot
Valid snapshot cache, skipping unpack of portage tree ...
Running action sequence: config_profile_link
Configuring profile link...
ln: creating symbolic link `/var/tmp/catalyst2/tmp/default/livecd-stage2-x86-2006.0//etc/make.profile' to `../usr/portage/profiles/default-linux/x86/2006.0': No such file or directory

!!! catalyst: Error creating profile link


Catalyst aborting....



i did some searching and think i located the script which causes this error
/usr/lib64/catalyst2/targets/stage1/stage1-controller.sh

Code:

case $1 in
        enter)
        ;;
        run)
                cp ${clst_sharedir}/targets/stage1/build.py ${clst_chroot_path}/tmp

                # Setup "ROOT in chroot" dir
                install -d ${clst_chroot_path}/${clst_root_path}/etc

                # Setup make.conf and make.profile link in "ROOT in chroot":
                 copy_to_chroot ${clst_chroot_path}/etc/make.conf /${clst_root_path}/etc \
                 copy_to_chroot ${clst_chroot_path}/etc/make.profile /${clst_root_path}/etc \

                # Enter chroot, execute our build script
                exec_in_chroot \
                        ${clst_sharedir}/targets/${clst_target}/${clst_target}-chroot.sh \
                        || exit 1
        ;;



but also if i try to chroot into a folder folder i get this error so i think its somehow connected to the chroot unless anyone can spot any error in the script ?

Code:

user livecd # chroot root /bin/bash
chroot: cannot run command `/bin/bash': No such file or directory
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Goto page Previous  1, 2, 3 ... 10, 11, 12
Page 12 of 12

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum