[SOLVED] interarchitectural package conflict: easy fix?

Archived topics about LMDE 1 and LMDE 2
Locked
TomRoche

[SOLVED] interarchitectural package conflict: easy fix?

Post by TomRoche »

summary: LMDE-201403/UP8 amd64 box must install an i386 package which depends on `libgif4:i386`, but
  • `libgif4:i386` conflicts with `libgif4:amd64`
  • important apps depend on `libgif4:amd64`
details:

As detailed here, I am forced to run a 32-bit java plugin (F5 Network Access Plugin) on a 32-bit firefox on an otherwise 64-bit (and up-to-date) LMDE box with

Code: Select all

me@it ~ $ inxi -r
Repos: Active apt sources in file: /etc/apt/sources.list.d/google-chrome.list
       deb http://dl.google.com/linux/chrome/deb/ stable main
       Active apt sources in file: /etc/apt/sources.list.d/official-package-repositories.list
       deb http://packages.linuxmint.com debian main upstream import
       deb http://debian.linuxmint.com/latest/ testing main contrib non-free
       deb http://debian.linuxmint.com/latest/security testing/updates main contrib non-free
       deb http://debian.linuxmint.com/latest/multimedia testing main non-free
       deb http://extra.linuxmint.com debian main
As detailed here I am now able to run 32-bit `firefox-3.6.28` on the box. However, when I try to install the F5NAP on the running firefox, I currently get

Code: Select all

LoadPlugin: failed to initialize shared library /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so [/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so: wrong ELF class: ELFCLASS64]
followed by similar errors, followed by install failure. To fix this, I try to install an i386 version of `IcedTeaPlugin.so` as follows:

Code: Select all

me@it ~ $ apt contains IcedTeaPlugin.so
icedtea-7-plugin:amd64: /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so
icedtea-6-plugin:amd64: /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so

me@it ~ $ sudo aptitude -s install icedtea-7-plugin:i386
The following NEW packages will be installed:
  icedtea-7-plugin:i386 icedtea-netx:i386{a} libasyncns0:i386{a} libatk-wrapper-java-jni:i386{a} libattr1:i386{a} libcap2:i386{a} libflac8:i386{a} libgif4:i386{ab} libjson-c2:i386{a} 
  liblcms2-2:i386{a} libnspr4:i386{a} libnss3:i386{a} libogg0:i386{a} libpango1.0-0:i386{a} libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 libpcsclite1:i386{a} libpulse0:i386{a} 
  libsndfile1:i386{a} libsqlite3-0:i386{a} libvorbis0a:i386{a} libvorbisenc2:i386{a} libwrap0:i386{a} libxft2:i386{a} libxtst6:i386{a} openjdk-7-jre:i386{a} openjdk-7-jre-headless:i386{a} 
The following packages are RECOMMENDED but will NOT be installed:
  icedtea-7-jre-jamvm:i386 libgconf2-4:i386 libgnome2-0:i386 libgnomevfs2-0:i386 
0 packages upgraded, 27 newly installed, 0 to remove and 0 not upgraded.
Need to get 41.5 MB of archives. After unpacking 66.2 MB will be used.
The following packages have unmet dependencies:
 libgif4 : Conflicts: libgif4:i386 but 4.1.6-10 is to be installed.
 libgif4:i386 : Conflicts: libgif4 but 4.1.6-10 is installed.

[1]me@it ~ $ sudo aptitude -s install icedtea-6-plugin:i386
The following NEW packages will be installed:
  icedtea-6-plugin:i386 icedtea-netx:i386{a} libasyncns0:i386{a} libatk-wrapper-java-jni:i386{a} libattr1:i386{a} libcap2:i386{a} libflac8:i386{a} libgif4:i386{ab} libjson-c2:i386{a} 
  libnspr4:i386{a} libnss3:i386 libnss3-1d:i386{a} libogg0:i386{a} libpcsclite1:i386{a} libpulse0:i386{a} libsndfile1:i386{a} libsqlite3-0:i386{a} libvorbis0a:i386{a} libvorbisenc2:i386{a} 
  libwrap0:i386{a} libxtst6:i386{a} openjdk-6-jre:i386{a} openjdk-6-jre-headless:i386{a} 
The following packages are RECOMMENDED but will NOT be installed:
  icedtea-6-jre-cacao:i386 icedtea-6-jre-jamvm:i386 
0 packages upgraded, 23 newly installed, 0 to remove and 0 not upgraded.
Need to get 21.5 MB of archives. After unpacking 92.1 MB will be used.
The following packages have unmet dependencies:
 libgif4 : Conflicts: libgif4:i386 but 4.1.6-10 is to be installed.
 libgif4:i386 : Conflicts: libgif4 but 4.1.6-10 is installed.
There seem to be 3 ways to solve my problem:
  1. (easier) remove `libgif4:amd64`, and hope that's icedtea-*-plugin's only dependency conflict.
  2. (problematic) wait for the maintainers to fix the conflict between `libgif4:amd64` and `libgif4:i386` .
  3. (harder) fix the (seemingly nonsensical) conflict between `libgif4:amd64` and `libgif4:i386` .
Can I remove `libgif4:amd64` ? Only if I want to remove Emacs (and LibreOffice, et al), which I don't:

Code: Select all

me@it ~ $ sudo aptitude -s remove libgif4
The following packages will be REMOVED:  
  libgif4 
0 packages upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 91.1 kB will be freed.
The following packages have unmet dependencies:
 libgdiplus : Depends: libgif4 (>= 4.1.4) but it is not going to be installed.
 emacs24 : Depends: libgif4 (>= 4.1.4) but it is not going to be installed.
 openjdk-6-jre : Depends: libgif4 (>= 4.1.4) but it is not going to be installed.
 openjdk-7-jre : Depends: libgif4 (>= 4.1.4) but it is not going to be installed.
Option 2 seems unacceptable at this point: I can't telework without the VPN enabled by the F5NAP, and getting on the physical LAN would be *very* difficult at the moment. But perhaps there are currently elsewhere versions of libgif4:* without interarchitectural conflict? If so, how to access them?

Which seems to leave option 3: is there a way that *I* can resolve the conflict between `libgif4:amd64` and `libgif4:i386` ?

Apologies if this is a FAQ, but I didn't see any information on this topic targeting a package end-user while either casually DDGing or a less casual read of https://wiki.debian.org/Multiarch (which seems more targeted to package maintainers). Feel free to pass pointers to Fine Manuals; I will cheerfully RTFM.
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 2 times in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
GeneBenson
Level 4
Level 4
Posts: 357
Joined: Fri Sep 17, 2010 9:55 pm

Re: [multiarch] interarchitectural package conflict: easy fi

Post by GeneBenson »

Hi TomRoche,

I'm tracking testing repo's and both libgif4 and libgif4:i386 are at version 4.1.6-11. libgif4 is already installed and if, in Synaptic, I try to install libgif4:i386, it will do so without installing/removing anything else. So perhaps:
2. (problematic) wait for the maintainers to fix the conflict between `libgif4:amd64` and `libgif4:i386` .
has been dealt with.

Just out of curiosity, why are you running a 64 bit version of LMDE instead of the 32 bit version, or even dual booting between 32 and 64 bit versions? Please don't feel obliged to reply, I'm just being nosey. :wink:
TomRoche

SOLVED: [multiarch] interarchitectural package conflict

Post by TomRoche »

GeneBenson wrote:I'm tracking testing repo's and both libgif4 and libgif4:i386 are at version 4.1.6-11. libgif4 is already installed and if, in Synaptic, I try to install libgif4:i386, it will do so without installing/removing anything else.
Yep, using the real, "gin-u-wine" debian-testing was the fix:

Code: Select all

NEW_REPO_LINE='deb http://ftp.debian.org/debian/ testing main contrib non-free'
NEW_REPO_LIST_FN='debian-testing.list' # files in .../sources.list.d/ need extension=list
REPO_LIST_DIR='/etc/apt/sources.list.d'

NEW_REPO_LIST_FP="${REPO_LIST_DIR}/${NEW_REPO_LIST_FN}"
sudo touch ${NEW_REPO_LIST_FP}
#sudo echo -e "${NEW_REPO_LINE}\n" > ${NEW_REPO_LIST_FP}
# above fails: gotta run the whole thing as `sudo`:
#sudo sh -c "echo -e '${NEW_REPO_LINE}\n' > ${NEW_REPO_LIST_FP}"
# above fails: prepends '-e '
sudo sh -c "echo '${NEW_REPO_LINE}\n' > ${NEW_REPO_LIST_FP}"
cat ${NEW_REPO_LIST_FP}
sudo aptitude update
apt-cache policy libgif4:i386

> libgif4:i386:
>   Installed: (none)
>   Candidate: 4.1.6-11
>   Version table:
>      4.1.6-11 0
>         500 http://ftp.debian.org/debian/ testing/main i386 Packages
>      4.1.6-10 0
>         500 http://debian.linuxmint.com/latest/ testing/main i386 Packages
and, as you note, at version 4.1.6-11 libgif4:amd64 and libgif4:i386 don't conflict with each other. Is there someone @ LMDE to whom I should report that `debian.linuxmint.com/latest/` needs an upgrade?
GeneBenson wrote:Just out of curiosity, why are you running a 64 bit version of LMDE instead of the 32 bit version, or even dual booting between 32 and 64 bit versions?
'Cause it's a 64-@#$%^&!-bit box! and I continue to hope that, some day, someone up my food chain will realize that running a VPN via a *browser plugin* (instead of, say, the Cisco VPN natively supported by NetworkManager!) is just a really dumb idea, and I won't hafta jump through this particular hoop any more. To paraphrase King, "the arc of the intellectual universe is long, and it bends towards intelligence ... but *very slowly*"
Monsta
Level 10
Level 10
Posts: 3071
Joined: Fri Aug 19, 2011 3:46 am

Re: SOLVED: [multiarch] interarchitectural package conflict

Post by Monsta »

TomRoche wrote:Is there someone @ LMDE to whom I should report that `debian.linuxmint.com/latest/` needs an upgrade?
That would be useless; no upgrades are done until the next Update Pack anyway.
Locked

Return to “LMDE Archive”