1

The end goal is to get my Raspberry Pi to work as a print server providing AirPrint for a Brother DCP-195C printer they already have.

I'm trying to follow this answer on how to achive that.

So I already got to the point of where I installed the printer driver, but since that is only provided in compiled form for 32bit x86. So I tried to install Qemu to be able to use those.

I'm getting stuck on

$ sudo apt install libc6:i386
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libc6:i386 : Depends: libgcc1:i386 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

A bit more information:

$ sudo aptitude install libc6:i386
The following NEW packages will be installed:
  gcc-6-base:i386{ab} libc6:i386 libgcc1:i386{ab} 
0 packages upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,698 kB of archives. After unpacking 10.2 MB will be used.
The following packages have unmet dependencies:
 gcc-6-base : Breaks: gcc-6-base:i386 (!= 6.3.0-18+rpi1+deb9u1) but 6.3.0-18+deb9u1 is to be installed
 gcc-6-base:i386 : Breaks: gcc-6-base (!= 6.3.0-18+deb9u1) but 6.3.0-18+rpi1+deb9u1 is installed
 libgcc1 : Breaks: libgcc1:i386 (!= 1:6.3.0-18+rpi1+deb9u1) but 1:6.3.0-18+deb9u1 is to be installed
 libgcc1:i386 : Breaks: libgcc1 (!= 1:6.3.0-18+deb9u1) but 1:6.3.0-18+rpi1+deb9u1 is installed
The following actions will resolve these dependencies:

     Keep the following packages at their current version:
1)     gcc-6-base:i386 [Not Installed]                    
2)     libc6:i386 [Not Installed]                         
3)     libgcc1:i386 [Not Installed]                       



Accept this solution? [Y/n/q/?] n

*** No more solutions available ***

The following actions will resolve these dependencies:

     Keep the following packages at their current version:
1)     gcc-6-base:i386 [Not Installed]                    
2)     libc6:i386 [Not Installed]                         
3)     libgcc1:i386 [Not Installed]                       



Accept this solution? [Y/n/q/?] y
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
How can I either make this work or is there another way to get the printer working?
usbpc102
  • 127
  • 1
  • 8
  • Why can't libgcc1:i386 be installed (first)? – Xen2050 Dec 25 '18 at 20:11
  • I added `aptitude` output. – usbpc102 Dec 25 '18 at 23:01
  • 1
    The RaspPi has an ARM architecture, not i386. To be able to install libraries for multiple architectures on Debian, you need the [multiarch](https://wiki.debian.org/Multiarch/HOWTO) version of some packages (in particular `dpkg` and `apt`). If it's a dependency problem, use `aptitude`, and see what exactly the problem is, and if you need to upgrade some (seemingly unrelated) packages. – dirkt Dec 26 '18 at 07:03
  • dpkg is multiarch for sure: `dpkg --print-foreign-architectures`prints `i386` I'm not sure how to check with apt. And as you can see above I provided aptitude output and if I understand it correctly it tells me the i386 versions can't be installed because of the arm versions of the same packages. – usbpc102 Dec 26 '18 at 17:41

2 Answers2

0

I managed to make the DCP-197C to work:

I don't know if I miss something, because I tried it so many times, but I want to write somewhere what I did today, when it finally worked:

Install all the necessary stuff

apt-get install qemu binfmt-support qemu-user-static cups a2ps

Add architecture

dpkg --add-architecture i386

Download libc6 for i386 (I found it here)

wget old.kali.org/kali-security/pool/main/e/eglibc/libc6_2.13-38+deb7u8_i386.deb

If you try to install this, you will mess around with apt, so we will extract the deb and copy these files manually

dpkg -x libc6_2.13-38+deb7u8_i386.deb data

sudo cp -r data/lib/* /lib
sudo cp -r data/usr/* /usr
sudo cp -r data/etc/* /etc

Run this and add it to bashrc to run in every reboot

EXTRA_OPTS="-L /lib/i386-linux-gnu"

Download and install your drivers - for me e.g.:

wget https://download.brother.com/welcome/dlf005405/dcp197ccupswrapper-1.1.3-1.i386.deb
wget https://download.brother.com/welcome/dlf005403/dcp197clpr-1.1.3-1.i386.deb

sudo dpkg -i dcp197ccupswrapper-1.1.3-1.i386.deb
sudo dpkg -i dcp197clpr-1.1.3-1.i386.deb
help-info.de
  • 1,822
  • 5
  • 17
  • 19
-1

I'm having the very same issue. From what I can tell there is not really a way to fix it at the moment. libc6:armhf can be installed alongside the i386 version if they are the exact same version. Because however, all raspbian packages have "rpi#" (# will be your version of the pi, so e.g. 1 for rpi 1/zero, 2 for 2 etc.) added into their version number, the versions will never line up correctly. This basically means that i386 can't be installed on raspbian (I have literally no idea how the guy from the post you referenced got it working).

I have found this post on a German forum saying that multiarch is working properly on Ubuntu Mate (which, unfortunately for me isn't available for RPi 1 and Zero) so it might be worth a shot to try this whole thing through Ubuntu.

toasty
  • 1