View previous topic :: View next topic |
Author |
Message |
RAPHEAD Tux's lil' helper
Joined: 20 Jun 2003 Posts: 134 Location: Germany
|
Posted: Mon Mar 27, 2006 9:31 pm Post subject: |
|
|
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 |
|
|
slycordinator Advocate
Joined: 31 Jan 2004 Posts: 3065 Location: Korea
|
Posted: Tue Mar 28, 2006 4:35 am Post subject: |
|
|
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 |
|
|
Bob P Advocate
Joined: 20 Oct 2004 Posts: 3355 Location: Jackass! Development Labs
|
Posted: Tue Mar 28, 2006 7:29 am Post subject: |
|
|
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:
|
_________________ .
Stage 1/3 | Jackass! | Rockhopper! | Thanks | Google Sucks |
|
Back to top |
|
|
Bob P Advocate
Joined: 20 Oct 2004 Posts: 3355 Location: Jackass! Development Labs
|
Posted: Tue Mar 28, 2006 7:32 am Post subject: |
|
|
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 |
|
|
RAPHEAD Tux's lil' helper
Joined: 20 Jun 2003 Posts: 134 Location: Germany
|
Posted: Tue Mar 28, 2006 8:43 am Post subject: |
|
|
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 |
|
|
Bob P Advocate
Joined: 20 Oct 2004 Posts: 3355 Location: Jackass! Development Labs
|
Posted: Tue Mar 28, 2006 8:58 am Post subject: |
|
|
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 |
|
|
RAPHEAD Tux's lil' helper
Joined: 20 Jun 2003 Posts: 134 Location: Germany
|
Posted: Thu Mar 30, 2006 9:23 pm Post subject: Success with x86 tarball |
|
|
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 |
|
|
Bob P Advocate
Joined: 20 Oct 2004 Posts: 3355 Location: Jackass! Development Labs
|
Posted: Mon Apr 03, 2006 12:07 pm Post subject: Re: Success with x86 tarball |
|
|
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"? that's quite a fantasy. _________________ .
Stage 1/3 | Jackass! | Rockhopper! | Thanks | Google Sucks |
|
Back to top |
|
|
slycordinator Advocate
Joined: 31 Jan 2004 Posts: 3065 Location: Korea
|
Posted: Mon Apr 03, 2006 9:51 pm Post subject: Re: Success with x86 tarball |
|
|
Bob P wrote: | the average gentoo user using catalyst "intuitively"? 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 |
|
|
d_adams Apprentice
Joined: 20 Oct 2003 Posts: 223
|
Posted: Wed Apr 05, 2006 2:06 am Post subject: |
|
|
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 |
|
|
Bob P Advocate
Joined: 20 Oct 2004 Posts: 3355 Location: Jackass! Development Labs
|
|
Back to top |
|
|
InsaneHamster Guru
Joined: 02 May 2003 Posts: 435
|
Posted: Fri Jul 14, 2006 1:27 pm Post subject: i get the following error |
|
|
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 |
|
|
|
|
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
|
|