Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 173789 - net-print/cups-1.2.9 installs libraries into /usr/lib64 on x86 systems
Summary: net-print/cups-1.2.9 installs libraries into /usr/lib64 on x86 systems
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Printing (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Printing Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-04-08 19:10 UTC by Sal Gonzalez
Modified: 2007-05-09 21:24 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sal Gonzalez 2007-04-08 19:10:13 UTC
If, for whatever reason the directory /usr/lib64 exists, cups will place its library objects into this directory, regardless of the actual arch type.

Here is the relevant code from cups' configure (line 8381):
if test "$libdir" = "\${exec_prefix}/lib"; then
        if test "$uname" = "IRIX"; then
                libdir="$exec_prefix/lib32"
        else
                if test "$uname" = Linux -a -d /usr/lib64; then
                        libdir="$exec_prefix/lib64"
                else
                        libdir="$exec_prefix/lib"
                fi
        fi
fi

So on Linux systems, if $exec_prefix/lib64, and $exec_prefix/lib both exist, lib64 will be chosen.

As to why I have a /usr/lib64 directory on my x86 system, who knows?  But I did have a portage/pym directory in there ,which equery tells me is orphaned.

Removing the lib64 directory fixes the problem, but I think the configure script is a bit too basic in its test.


Reproducible: Always

Steps to Reproduce:
1. mkdir -p /usr/lib64
2. emerge cups
3. ls -l /usr/lib64
Actual Results:  
libcups & friends are installed in /usr/lib64

Expected Results:  
libcups & friends are installed in /usr/lib
Comment 1 Sal Gonzalez 2007-04-08 19:24:40 UTC
I'm too lazy to write the patch, but I guess what is needed is:

if [ ${ARCH} -eq "x86" -a -d "/usr/lib64" ]
then
    eerror "You are running an x86 system, but /usr/lib64 exists, cups will install all library objects into this directory!"
    eerror "You should remove /usr/lib64, but before you do, you should check for existing objects, and re-compile all effected packages."
    eerror "You can use qfile (emerge portage-utils to install qfile) to get a list of the effected ebuilds:"
    eerror "# qfile -qC /usr/lib64"
fi
Comment 2 Stefan Schweizer (RETIRED) gentoo-dev 2007-05-09 21:10:24 UTC
Thanks I have added this check with the 1.2.11 version bump
Comment 3 Sal Gonzalez 2007-05-09 21:19:39 UTC
Cool.  if you took my warning code verbatim, after I re-read it, I think that the right word is affected instead of effected... I can never get those 2 right.
Comment 4 Stefan Schweizer (RETIRED) gentoo-dev 2007-05-09 21:24:37 UTC
thanks I have fixed this again :)