Using an .rpm packaged i386 driver on an LMDE amd64 system

Archived topics about LMDE 1 and LMDE 2
Locked
BRB

Using an .rpm packaged i386 driver on an LMDE amd64 system

Post by BRB »

I've got a Dell 2155cdn http://accessories.us.dell.com/sna/prod ... redirect=1 colour network laser printer which I'd like to be able to us from an amd64-based system, running Linux Mint Debian Edition Update Pack 5 (2012.09.17).

Dell claims support for Red Hat and SUSE, and provides a driver as an i386 .rpm file. I figured I'd probably be able to do something with that to get the driver out.

I tried to convert the .rpm on the Dell CD to a .deb file using the command-line program alien, but alien doesn't like to mix architectures:
brodi@kitchen:~/Downloads$ sudo alien /media/DELL/Linux/Dell-2155-Color-MFP-1.0-1.i686.rpm
Warning: Skipping conversion of scripts in package Dell-2155-Color-MFP: postinst postrm
Warning: Use the --scripts parameter to include the scripts.
/media/DELL/Linux/Dell-2155-Color-MFP-1.0-1.i686.rpm is for architecture i386 ; the package cannot be built on this system
brodi@kitchen:~/Downloads$
So, I tried the same on an old netbook running Linux Mint 11 Katya, and alien worked without a hitch, creating a .deb file, dell-2155-color-mfp_1.0-2_i386.deb. I installed the .deb on the netbook, and I was able to install the printer and print from the netbook right away, worked like a charm.

However, I really want to print from my LMDE amd64 system. I tried to install the same .deb files on my amd64 system using dpkg:
brodi@kitchen:~/Downloads$ sudo dpkg -i dell-2155-color-mfp_1.0-2_i386.deb
dpkg: error processing dell-2155-color-mfp_1.0-2_i386.deb (--install):
package architecture (i386) does not match system (amd64)
Errors were encountered while processing:
dell-2155-color-mfp_1.0-2_i386.deb
brodi@kitchen:~/Downloads$
So, I tried adding the --force-all switch to dpkg, figuring that a printer driver is probably identical regardless of the underlying system architecture:
brodi@kitchen:~/Downloads$ sudo dpkg -i --force-all dell-2155-color-mfp_1.0-2_i386.deb
dpkg: warning: overriding problem because --force enabled:
package architecture (i386) does not match system (amd64)
Selecting previously unselected package dell-2155-color-mfp.
(Reading database ... 316342 files and directories currently installed.)
Unpacking dell-2155-color-mfp (from dell-2155-color-mfp_1.0-2_i386.deb) ...
dpkg: dell-2155-color-mfp: dependency problems, but configuring anyway as you requested:
dell-2155-color-mfp depends on libc6 (>= 2.1.3).
dell-2155-color-mfp depends on libcups2 (>= 1.4.0).
dell-2155-color-mfp depends on libcupsimage2 (>= 1.4.0).
dell-2155-color-mfp depends on libgcc1 (>= 1:4.1.1).
dell-2155-color-mfp depends on libstdc++6 (>= 4.1.1).
Setting up dell-2155-color-mfp (1.0-2) ...
brodi@kitchen:~/Downloads$
So, this installed the package, the --force-all switch also forcing dpkg to ignore dependency problems. However, the dependencies listed above are in fact all met. My system has:
  • libc6 2.13
    libcups2 1.5.3
    libcupsimage2 1.5.3
    libgcc1 1:4.7.1
    libstdc++6 4.7.1
Printer, however, doesn't work. When I run the printing troubleshooter in the Gnome system-config-printer, it gives the following message:
Status Messages
There are status message associated with this queue.

The printer's state message is: '/usr/lib/cups/filter/Dell_2155_Color_MFP/DLM_MF failed'
So, the drivers work fine on an i386 system running Linux Mint 11 Katya, which probably has not had a single update in over a year. They do not work on an amd64 system running LMDE Update Pack 5.

Any thoughts on what needs to be done to get this driver working?

-- B
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
cwsnyder

Re: Using an .rpm packaged i386 driver on an LMDE amd64 sys

Post by cwsnyder »

The Dell package is linked to the 32-bit libraries, not to 64-bit libraries, so it is no more useful to a LMDE amd64 installation than a Mac OS X driver.

You will have to install a 32-bit version of Linux, at least in a VM or Live CD, to actually use this driver. The alternative is if you can get your hands on the source code and re-build with amd64 libraries.

You have already proved that your .deb package can work in Mint, so you could install 32-bit Mint in VirtualBox with a bridged network adapter and set up to share the printer over the internal network connection according to https://help.ubuntu.com/community/Netwo ... WithUbuntu
viking777

Re: Using an .rpm packaged i386 driver on an LMDE amd64 sys

Post by viking777 »

Another possible alternative (but really last ditch I should say) is to install the 32 bit packages of the libraries you are missing alongside the 64bit ones you already have. You can get the 32 bit packages from packages.debian.org and install them with the --force-architecture switch. Then reinstall the driver.

The only problem with this strategy is that it might turn into a dependency hell as the 32 bit packages you are missing will have 32 bit dependencies that you are also missing. This could make the whole strategy so frustrating as to be completely worthless - only you can decide that.
BRB

Re: Using an .rpm packaged i386 driver on an LMDE amd64 sys

Post by BRB »

Thanks for your replies, now it makes more sense why this doesn't work.

Just noticed the latest post on the Linux Mint front page, http://blog.linuxmint.com/?p=2211 is talking about Multiarch - http://wiki.debian.org/Multiarch. Could that solve the dependency problem? I may give it a try.

The other option, which (if Multiarch doesn't work) may actually be the easiest in the long run, particularly as I am someone who doesn't like spending a lot of time trying to tweak non-standard setups, is to simply reinstall LMDE using the 32-bit version; my /home folder is on a separate partition, so this would only mean reinstalling a few applications. I recognize it may not be 'optimal', but I'm not a power user and it is a fast enough machine (AMD A8-3850 2.9Ghz quad core, 8GbRAM), so doubt I would even notice whatever performance differences there may be.

-- B
BRB

SOLVED: Re: Using an .rpm i386 printer driver on amd64 syste

Post by BRB »

Multiarch solved the problem. Lucky for that bug in Linux Mint 14 I mentioned above, gave me the solution.

The failed dependencies that came up from installing the .deb file appeared to be noted by the apt package manager, so after setting up multiarch to install the necessary i386 packages, the missing packages were installed by running apt-get -f install.

Here's what I did to set up multiarch:

Code: Select all

sudo dpkg --add-architecture i386
sudo apt update
I then ran the following:

Code: Select all

sudo apt-get -f install
I then reinstalled the printer driver to make sure everything was set up properly:

Code: Select all

sudo dpkg -i dell-2155-color-mfp_1.0-2_i386.deb
I then went back to the Gnome Administration/Printing settings (system-config-printer), and was able to install the printer with no problems.

-- B.
joesken

Re: Using an .rpm packaged i386 driver on an LMDE amd64 sys

Post by joesken »

Hi,

Firstly thanks for taking the time to write up all this. I've been having the same problem with a Dell 2155cn and could find no answers anywhere to help.

Would you mind uploading the .deb file you made or emailing it? I tried to run 'alien' however it won't build it on this system (64bit) and I don't have another machine to build it off.

Again thanks for writing it up in detail like this, really helps for those of new to this whole thing.

Joe
BRB

Re: Using an .rpm packaged i386 driver on an LMDE amd64 sys

Post by BRB »

Would you mind uploading the .deb file you made or emailing it?
Would post it, but it seems that this forum doesn't allow attachments (or at least not .deb files).
zerozero

Re: Using an .rpm packaged i386 driver on an LMDE amd64 sys

Post by zerozero »

joesken wrote:I tried to run 'alien' however it won't build it on this system (64bit)
is your system already converted to multiarch? http://forums.linuxmint.com/viewtopic.p ... 0&t=122296
BRB

Re: Using an .rpm packaged i386 driver on an LMDE amd64 sys

Post by BRB »

zerozero wrote:
joesken wrote:I tried to run 'alien' however it won't build it on this system (64bit)
is your system already converted to multiarch? http://forums.linuxmint.com/viewtopic.p ... 0&t=122296
zerozero, just to clarify, are you saying if an amd64 system is converted to multiarch, alien should be able to build an i386 .deb package, e.g., you wouldn't get the error message from alien I quoted near the top of my original post?
zerozero

Re: Using an .rpm packaged i386 driver on an LMDE amd64 sys

Post by zerozero »

in many ways multiarch is still a work in progress (and i never used alien before) but if alien has now multiarch support it should build i386 pkgs in amd64 systems (it should).

at that time (nov.) there were more bits missing and the conversion to multiarch wasn't straightforward (yet), we found out with UP6 http://forums.linuxmint.com/viewtopic.p ... 7&t=119075 later on in dec that multiarch was a necessity not an option.
joesken

Re: Using an .rpm packaged i386 driver on an LMDE amd64 sys

Post by joesken »

Just a quick update.

I followed BRB's instructions (along with installing libcups2:i386 and libcupsimage2:i386) and all installed perfectly. Thanks.

Zerozero the 'alien' command to convert the rpm to a deb package didn't run even though I did have the multiarch support installed.
lpdrummerboy87

Re: Using an .rpm packaged i386 driver on an LMDE amd64 sys

Post by lpdrummerboy87 »

Hey guys don't know if any of you are still struggling with this but I just went through it to install a Dell 2150cn printer in Linux Mint 17 x64 and figured a few things out that may be useful.

For the people saying they had problems getting alien to work with the 32 bit rpm file on their 64 bit systems, here is how I got it to work for me.

You have to first tell alien to convert the rpm to a tgz file...

Code: Select all

$ sudo alien --to-tgz Dell-2150-Color-Printer-1.0-1.i686.rpm 
Warning: Skipping conversion of scripts in package Dell-2150-Color-Printer: postinst postrm
Warning: Use the --scripts parameter to include the scripts.
Dell-2150-Color-Printer-1.0.tgz generated
Then have it build the deb package from that and it works no problem!

Code: Select all

$ sudo alien --to-deb Dell-2150-Color-Printer-1.0.tgz 
dell-2150-color-printer_1.0-2_all.deb generated
I was then able to install it no problem and the printer worked perfectly the first try!

Code: Select all

$ sudo dpkg -i dell-2150-color-printer_1.0-2_all.deb 
Selecting previously unselected package dell-2150-color-printer.
(Reading database ... 160377 files and directories currently installed.)
Preparing to unpack dell-2150-color-printer_1.0-2_all.deb ...
Unpacking dell-2150-color-printer (1.0-2) ...
Setting up dell-2150-color-printer (1.0-2) ...
Locked

Return to “LMDE Archive”