From: "Brian Dolbec" <dolsen@gentoo.org> To: gentoo-commits@lists.gentoo.org Subject: [gentoo-commits] proj/catalyst:master commit in: doc/ Date: Thu, 26 Feb 2015 20:12:44 +0000 (UTC) [thread overview] Message-ID: <1424978121.de8d4332d2ffbe1f627a2e97d582650c80c87cd1.dolsen@gentoo> (raw) commit: de8d4332d2ffbe1f627a2e97d582650c80c87cd1 Author: W. Trevor King <wking <AT> tremily <DOT> us> AuthorDate: Fri Apr 12 18:13:57 2013 +0000 Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org> CommitDate: Thu Feb 26 19:15:21 2015 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/catalyst.git;a=commit;h=de8d4332 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
WARNING: multiple messages have this Message-ID (diff)
From: "Brian Dolbec" <dolsen@gentoo.org> To: gentoo-commits@lists.gentoo.org Subject: [gentoo-commits] proj/catalyst:pending commit in: doc/ Date: Thu, 26 Feb 2015 19:25:32 +0000 (UTC) [thread overview] Message-ID: <1424978121.de8d4332d2ffbe1f627a2e97d582650c80c87cd1.dolsen@gentoo> (raw) Message-ID: <20150226192532.nsltwqK12_qaRwXqbc4vLZ1BhL9piK4hZ7FqD6VWlJM@z> (raw) commit: de8d4332d2ffbe1f627a2e97d582650c80c87cd1 Author: W. Trevor King <wking <AT> tremily <DOT> us> AuthorDate: Fri Apr 12 18:13:57 2013 +0000 Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org> CommitDate: Thu Feb 26 19:15:21 2015 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/catalyst.git;a=commit;h=de8d4332 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
next reply other threads:[~2015-02-26 20:14 UTC|newest] Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-02-26 20:12 Brian Dolbec [this message] 2015-02-26 19:25 ` [gentoo-commits] proj/catalyst:pending commit in: doc/ Brian Dolbec -- strict thread matches above, loose matches on Subject: below -- 2020-05-16 6:43 [gentoo-commits] proj/catalyst:master " Matt Turner 2020-05-16 6:43 Matt Turner 2020-05-16 6:43 Matt Turner 2020-04-10 6:18 Matt Turner 2020-04-09 18:48 Matt Turner 2020-03-30 23:47 Matt Turner 2018-04-26 15:57 Richard Farina 2017-11-22 15:52 [gentoo-commits] proj/catalyst:pending " Brian Dolbec 2017-11-29 17:20 ` [gentoo-commits] proj/catalyst:master " Brian Dolbec 2017-03-11 2:35 Richard Farina 2015-10-28 16:50 Mike Frysinger 2014-01-03 5:03 [gentoo-commits] proj/catalyst:pending " Brian Dolbec 2014-01-06 2:00 ` [gentoo-commits] proj/catalyst:master " Brian Dolbec 2013-03-09 2:41 Matt Turner 2013-03-09 2:41 Matt Turner 2012-11-21 5:20 Matt Turner 2012-11-02 0:26 Richard Farina 2012-10-31 22:11 Richard Farina 2011-07-21 4:44 Matt Turner 2011-06-25 18:08 Sebastian Pipping 2011-06-25 18:08 Sebastian Pipping 2011-06-25 18:08 Sebastian Pipping
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1424978121.de8d4332d2ffbe1f627a2e97d582650c80c87cd1.dolsen@gentoo \ --to=dolsen@gentoo.org \ --cc=gentoo-commits@lists.gentoo.org \ --cc=gentoo-dev@lists.gentoo.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox