* [gentoo-commits] proj/catalyst:3.0 commit in: doc/
@ 2013-11-21 9:06 Brian Dolbec
0 siblings, 0 replies; 2+ messages in thread
From: Brian Dolbec @ 2013-11-21 9:06 UTC (permalink / raw
To: gentoo-commits
commit: 50ca04461223ca22967ff04b35f0cd1e94315657
Author: W. Trevor King <wking <AT> tremily <DOT> us>
AuthorDate: Fri Apr 12 18:13:57 2013 +0000
Commit: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com>
CommitDate: Thu Nov 21 09:00:10 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/catalyst.git;a=commit;h=50ca0446
doc/catalyst-config.5.txt: Document linking issues with binary packages
This gives users a heads up explaining why they might see linking
errors when pkgcache is enabled. I first saw this when I build a
stage1 without update_seed. Because my seed stage3 linked against
libmpc.so.2, some of my stage1 files linked against the older mpc.
However, the mpc-1.0.1 built for the stage1 installed libmpc.so.3.
When I tried to use this stage1 to build a stage2, it died with:
/usr/libexec/gcc/i686-pc-linux-gnu/4.6.3/cc1:
error while loading shared libraries: libmpc.so.2:
cannot open shared object file: No such file or directory
To fix this, I enabled update_seed, but binary packages built during
my first pass were used to populate the stage1, so even though I'd
updated the seed stage3 toolchain, I still had a stage1 with cc1
linked against libmpc.so.2.
After clearing the binary package cache, I got a stage1 *built* with
the updated seed stage3, which gave a cc1 linked against libmpc.so.3
(hurray!).
This commit adds a warning in the pkgcache documentation that should
help people understand what might be going wrong if they see similar
linking errors. For more details, see the thread following
http://thread.gmane.org/gmane.linux.gentoo.catalyst/2137/focus=2193
---
doc/catalyst-config.5.txt | 44 +++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 43 insertions(+), 1 deletion(-)
diff --git a/doc/catalyst-config.5.txt b/doc/catalyst-config.5.txt
index 27bc0bb..63a015f 100644
--- a/doc/catalyst-config.5.txt
+++ b/doc/catalyst-config.5.txt
@@ -126,7 +126,8 @@ build dies during `livecd-stage2`.
pkgcache::
Enable `--usepkg` and `--buildpkg` for most *emerge(1)* runs. This is
useful if your build dies prematurely. However, you may experience
-linking problems.
+linking problems. See the *BINARY PACKAGE DEPENDENCIES* section for
+details.
seedcache::
Use the build output of a previous target if it exists to speed up the
@@ -174,6 +175,47 @@ ripemd256, ripemd320, sha1, sha224, sha256, sha384, sha512, snefru128,
snefru256, tiger, tiger128, tiger160, whirlpool.
+BINARY PACKAGE DEPENDENCIES
+---------------------------
+This section is only important if you are using binary packages to
+build your stages (by enabling the `pkgcache` option and restarting
+incomplete builds).
+
+Before EAPI-5 introduced ABI sub-slots, the build-time compatibility
+of packages was not recorded. This leads to problems such as binary
+GCC packages built against mpc-0.8.2 (which installs libmpc.so.2)
+being installed on systems that only have mpc-1.0.1 (which installs
+libmpc.so.3), resulting in:
+
+---------------------------------
+/usr/libexec/gcc/i686-pc-linux-gnu/4.6.3/cc1:
+ error while loading shared libraries: libmpc.so.2:
+ cannot open shared object file: No such file or directory
+---------------------------------
+
+As long as there are packages in your stage that don't use ABI
+sub-slots, you may experience errors like this due to untracked ABI
+missmatches in binary packages. Packages generated by catalyst builds
+are currently namespaced:
+
+---------------------------------
+.../packages/<rel_type>/<target>-<subarch>-<version_stamp>/Packages
+---------------------------------
+
+so running into these out-of-date packages is unlikely. You may run
+into problems if:
+
+* you enable `update_seed` in your stage1 spec after a previous run
+ which generated packages linking against out-of-date seed libraries
+ or
+* you update your snapshot and an untracked ABI dependency is bumped
+ without a similar bump in the dependent package.
+
+without also bumping any of the package namespace variables in your
+spec. If you do make such a change, it's a good idea to clear the
+package cache in question and rebuild the packages from scratch.
+
+
FILES
-----
An example configuration file can be found at
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] proj/catalyst:3.0 commit in: doc/
@ 2013-11-21 9:06 Brian Dolbec
0 siblings, 0 replies; 2+ messages in thread
From: Brian Dolbec @ 2013-11-21 9:06 UTC (permalink / raw
To: gentoo-commits
commit: 069af8590e30d2760c1e9bddfb95dda122987896
Author: W. Trevor King <wking <AT> tremily <DOT> us>
AuthorDate: Sat Feb 9 20:40:33 2013 +0000
Commit: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com>
CommitDate: Thu Nov 21 09:00:10 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/catalyst.git;a=commit;h=069af859
doc/HOWTO.txt: Explain how to run catalyst without installing
Thanks to Chris White for explaining this to me.
Reviewed-by: Matt Turner <mattst88 <AT> gmail.com>
---
doc/HOWTO.txt | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/doc/HOWTO.txt b/doc/HOWTO.txt
index ea9c8f4..5717f80 100644
--- a/doc/HOWTO.txt
+++ b/doc/HOWTO.txt
@@ -202,3 +202,18 @@ and `dd`:
replacing `X` with the appropriate drive letter for your USB disk.
See https://bugs.gentoo.org/show_bug.cgi?id=251719[bug 251719] for
details.
+
+Running catalyst from a Git checkout
+------------------------------------
+
+If you're developing catalyst, you'll want to test your altered
+version. An easy way to run it without reinstalling is to setup a
+local configuration file and run:
+
+ # ./catalyst -c catalyst.conf -f path/to/your.spec
+
+The local configuration file can use all the defaults except for
+`sharedir`, which you should change to point to your development
+directory:
+
+ sharedir="/home/wking/src/catalyst"
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-11-21 9:06 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-21 9:06 [gentoo-commits] proj/catalyst:3.0 commit in: doc/ Brian Dolbec
-- strict thread matches above, loose matches on Subject: below --
2013-11-21 9:06 Brian Dolbec
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox