[PlanetCCRMA] fc7 x86_64 i386 conflicts

Fernando Lopez-Lezcano nando@ccrma.Stanford.EDU
Wed Jun 13 21:53:02 2007


On Wed, 2007-06-13 at 22:29 -0400, Matt Barber wrote:
> Hello,
> 
> I'm trying out ccrma x86_64 on FC7.  I am having trouble with
> dependencies updating certain packages because there are both i386 and
> x86_64 packages installed.  For instance, trying to install
> planetccrma-core, I get
> 
> 
> Transaction Check Error:
>   file /etc/security/limits.conf from install of
> pam-0.99.7.1-5.1.fc7.ccrma conflicts with file from package
> pam-0.99.7.1-5.fc7
>   file /usr/share/man/man5/namespace.conf.5.gz from install of
> pam-0.99.7.1-5.1.fc7.ccrma conflicts with file from package
> pam-0.99.7.1-5.fc7
>   file /usr/share/man/man8/pam_namespace.8.gz from install of
> pam-0.99.7.1-5.1.fc7.ccrma conflicts with file from package
> pam-0.99.7.1-5.fc7   file /usr/share/man/man8/pam_selinux.8.gz from
> install of pam-0.99.7.1-5.1.fc7.ccrma conflicts with file from package
> pam-0.99.7.1-5.fc7
> 
> 
> However, "yum update pam" works on its own, since both i386 and x86_64
> versions get updated from planetccrma (I'm assuming this is because
> installing the x86_64 planetccrma-core will only depend on the same
> architecture's pam).

Yes, that's probably correct. I'll modify (if possible) the dependencies
in planetccrma-core to take this into account, that is require both
architectures in the Requires:. I don't know if rpm accepts that at
all. 

> Also, jack-audio-connection-kit has the same problem:

That one is a surprise...

> Transaction Check Error:
>   file /usr/share/man/man1/jackd.1.gz from install of
> jack-audio-connection-kit-0.107.2-0.1.1050.svn.fc7.ccrma conflicts
> with file from package jack-audio-connection-kit-0.102.20-4.fc7
> 
> which I assume is due to:
> 
> # rpm -qa  --queryformat %-{name}-%{version}-%{release}.%{arch}"\n"
> jack-audio-connection-kit
> jack-audio-connection-kit-0.102.20-4.fc7.i386
> jack-audio-connection-kit-0.102.20-4.fc7.x86_64
> 
> 
> and it seems planetccrma only has the x86_64 version on hand. 

Correct, I did not know that it was built for both architectures _and_
installed by default. I wonder what requires the i386 version?

Could you do, for example:

  yum remove jack-audio-connection-kit.i386

and of course say "n" when asked... but note down which packages are
going to be erased if you remove that guy?

(later: looks like arts.i386 and fluidsynth-libs.i386 are the only ones
requiring a i386 version...)

> What's
> the best way to avoid this type of conflict?  Also, being new to the
> 64-bit world, how does it work to have two packages own /usr/bin/jackd
> -- is it a 64-bit or a 32-bit binary, or does it just depend upon
> which library it is using at the time?  Does it matter which gets
> updated first?  I'm assuming the i386 version should indeed be there
> at all.

Hmmm, I don't have an answer to that. 

I had imagined that multiarchitecture packages, when installed together,
would not share binaries, after all that's what multiple architectures
are for. I'll try to learn more about this...

-- Fernando