Bug 460188 - multilib: Installing nss-mdns.x86_64 but not .i386 breaks name resolution for 32-bit programs
Summary: multilib: Installing nss-mdns.x86_64 but not .i386 breaks name resolution for...
Keywords:
Status: CLOSED DUPLICATE of bug 442047
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: 11
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Panu Matilainen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 431659 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-08-26 17:27 UTC by Adam Goode
Modified: 2012-05-25 04:22 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-06-10 05:48:08 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Adam Goode 2008-08-26 17:27:10 UTC
Description of problem:
If the x86_64 version of nss-mdns is installed without the i386 version, 32-bit programs cannot resolve hosts.


Version-Release number of selected component (if applicable):
nss-mdns-0.10-4.fc9


How reproducible:
Always.


Steps to Reproduce:
1. yum remove nss-mdns
2. yum install nss-mdns.x86_64
3. wine firefox.exe (for example)

  
Actual results:
No DNS resolution.


Expected results:
DNS resolution.


Additional info:
Either glibc must not fail if nsswitch.conf is invalid, or it should have some way of having a 64-bit and 32-bit override file. (Maybe nsswitch.d is needed?)

Or, nss-mdns.x86_64 should Depend on nss-mdns.i386 when that feature is allowed in RPM. (But can nss-mdns.x86_64 Depend on nss-mdns.i386 ONLY when 32-bit glibc is installed? Otherwise 64-bit only users would be out of luck.)

Comment 1 Aaron 2008-12-26 20:37:28 UTC
Similar result in Fedora 10 x86_64.  Java, javaws and firefox all failed to resolve names until nss.mdns.i386 was installed.  No mention of dependencies when installing rpms or using yum.

Comment 2 Lennart Poettering 2009-04-20 19:21:26 UTC
Ok, after a few discussions we came to the conclusion that multilib is broken in this respect. The only possible fix would be to add a dependency on the 32bit version of nss-mdns in the 64bit RPM. That would upset a lot of people. So we won't do it.

RPM doesn't allow 'conditional' dependencies. While I think it is unlikely that this will ever be added I am now reassigning this to rpm. Maybe the rpm guys know a way how to fix this issue?

Comment 3 Lennart Poettering 2009-04-20 19:25:16 UTC
*** Bug 431659 has been marked as a duplicate of this bug. ***

Comment 4 Lennart Poettering 2009-04-20 19:27:51 UTC
libasound actally exposes the same problem: the 64bit libasound-plugins-pulse installs a config file fragment that breaks 32bit libasound unless also the 32bit libasound-plugins-pulse is installed. I have hence marked bug 431659 as duplicate of this issue.

multilib is our downfall.

Comment 5 Bug Zapper 2009-06-09 09:41:13 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 11 development cycle.
Changing version to '11'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 6 Panu Matilainen 2009-06-10 05:48:08 UTC

*** This bug has been marked as a duplicate of bug 442047 ***

Comment 7 Simon Berger 2009-07-18 14:13:06 UTC
This happened to me the other way round: the i586 version was installed because of some dependencies and silently broke 64 bit applications. Wouldn't it be an option to add dependencies for the x86_64 version when it is installed on a 64 bit system? (or is that also impossible with rpm)

Comment 8 warren.crossing 2012-05-25 04:22:13 UTC
The system looks for libraries according to LD_LIBRARY_PATH or /etc/ld.conf
and is updated with ldconfig.

A good debugging step here is to run locate, strace and file

look for where the system is getting libasound.so from
>strace aplay my.wav
open("/usr/lib/libasound.so.2", O_RDONLY) = 3

>locate libasound.so
/usr/lib32/libasound.so.2
/usr/lib32/libasound.so.2.0.0
/usr/lib/libasound.so.2
/usr/lib/libasound.so.2.0.0
/usr/lib/x86_64-linux-gnu/libasound.so.2
/usr/lib/x86_64-linux-gnu/libasound.so.2.0.0

file /usr/lib/libasound.so.2.0.0 
/usr/lib/libasound.so.2.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x9b9b9d237e06016fa10b020c5ddfa6cf494ad9c3, stripped

I moved /usr/lib/libasound.so.* /old and then the system can find the correctly linked version of the file.

You guys need to be posting the output of these commands in general. So we can work out what is what. 

NO VOODO


Note You need to log in before you can comment on or make changes to this bug.