public inbox for gentoo-amd64@lists.gentoo.org
 help / color / mirror / Atom feed
From: Simon Stelling <blubb@gentoo.org>
To: gentoo-amd64@lists.gentoo.org
Subject: Re: [gentoo-amd64] file type not allowed in /usr/lib
Date: Sun, 07 Aug 2005 12:18:57 +0200	[thread overview]
Message-ID: <42F5E011.8020907@gentoo.org> (raw)
In-Reply-To: <42F53B6D.1080908@burnieanglican.org.au>

Hi,

Will Briggs wrote:
> !!! ERROR: media-gfx/skencil-0.6.16 failed.
> !!! Function dyn_install, Line 1114, Exitcode 0
> !!! File
> /var/tmp/portage/skencil-0.6.16/image///usr/lib/skencil-0.6.16/Lib/paxtkinter.so 
> matches a file type that is not allowed in /usr/lib
> !!! If you need support, post the topmost build error, NOT this status 
> message.

This means that there are 64bit shared objects going to /usr/lib instead 
of /usr/lib64, which is wrong, but currently not really a bug, since 
/usr/lib is a link to /usr/lib64.

> So if anyone can help with a fix, please let me know.

Just remove 'multilib-strict' from your FEATURES.

> The _question_ relates to the fact that I've seen this sort of error a 
> number of times, but by the time I come across it it's been bugged and 
> fixed and the next emerge sync fixes it.  Can someone let me know what 
> the issue is here - (mainly so I can get a handle on hacking my own 
> fixes when bug reports go unanswered)  Why can't a .so file be placed in 
> /usr/lib?

It can, but it shouldn't. We want 64bit .sos to go to (/usr)/lib64 and 
32bit to (/usr)/lib32, because *taking a deep breath*:

Generally, we want to provide a fully multilib-capable system. That 
means that you will be able to compile every application for 32bit or 
64bit, depending on your mood ;). 32bit applications require 32bit 
libraries, otherwise they can't be linked against each other, same 
(obviously) for 64bit apps/libs. Now imagine you want appfoo (32bit) and 
appbar (64bit), both depending on libfoobar. So you need libfoobar twice 
-- once 64bit and once 32bit.

Now, if libfoobar would get installed to /usr/lib instead /usr/lib32 and 
/usr/lib64, it'd obviously overwrite itself. Depending on what you 
install first, appfoo or appbar will break, as they both require 
installing libfoobar. Also, if you would emerge -C appfoo && emerge 
depclean, appbar wouldn't work anymore, because they both provide 
exactly the same files.

The simple solution to this is making two directories and making sure 
that no 64bit shared object goes anywhere else than to (/usr)/lib64, and 
vice versa.

Regards,

-- 
Simon Stelling
Gentoo/AMD64 Operational Co-Lead
blubb@gentoo.org
-- 
gentoo-amd64@gentoo.org mailing list



  reply	other threads:[~2005-08-07 10:19 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-06 22:36 [gentoo-amd64] file type not allowed in /usr/lib Will Briggs
2005-08-07 10:18 ` Simon Stelling [this message]
2005-08-08  2:23   ` Will Briggs
2005-08-07 13:18 ` [gentoo-amd64] " Duncan
2005-08-07 20:13   ` Simon Stelling
2005-08-08  9:17     ` Simon Stelling
2005-08-08 15:40     ` [gentoo-amd64] " Duncan
2005-08-08 19:20       ` Simon Stelling
2005-08-08 23:04         ` Matt Randolph
2005-08-09  0:33           ` Matt Randolph
2005-08-09 16:48           ` [gentoo-amd64] " Duncan
2005-08-09 18:48         ` Duncan
2005-08-10 13:12           ` Simon Stelling
2005-08-10 19:53             ` [gentoo-amd64] " Duncan
2005-08-09  8:05   ` [gentoo-amd64] " Jeremy Huddleston

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=42F5E011.8020907@gentoo.org \
    --to=blubb@gentoo.org \
    --cc=gentoo-amd64@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: link
Be 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