# AMD64pure, brother 81100DN, System don't exe foreign code

## Yczo

Hello world, (pardon me for my poor English)

I have a Brother-DCP 81100DN, that usually used with multilib in gentoo. This time tried to use AMD64 pure, but I found no way to right configure, except for the test page. Naturally Cups detect the printer.

According to an arch guide, running brcupsconfig4 into /opt/brother/Printers/DCP8110DN/cupswrapper folder, configure the printer... but is not possible, that is the output

```

# ls -l

total 40

-rwxr-xr-x 1 root root 19618 Jan 11  2012 brcupsconfig4

-rw-r--r-- 1 root root 12150 Jan 11  2012 brother-DCP-8110DN-cups-en.ppd

-rwxr-xr-x 1 root root  5108 Jan 11  2012 brother_lpdwrapper_DCP8110DN

# chmod +x brcupsconfig4

# ./brcupsconfig4

[b]bash: ./brcupsconfig4: No such file or directory[/b]

#

```

Summary:

  * Printer detectet from cups

  * Testpage, sometimes print

  *Programs like Kate or Libreoffice when seen the printer, don't print

  *Config programs, foreign code don't run

I suppose that forget some compatibility option with foreign code in kernel , should the 32 bit code posibility discard? because

```

# cat .config |grep IA32

CONFIG_IA32_EMULATION=y

.CONFIG_IA32_AOUT=y

 

```

Here is the complete .config   [url] https://pastebin.com/ExAECpmf [\url]

and my make.conf   [url] https://pastebin.com/u12jHM1w [/url]

Please, any help will be grateful

Thanks in advance

----------

## Hu

What is the output of file brcupsconfig4?

----------

## charles17

 *Yczo wrote:*   

> ... I have a Brother-DCP 81100DN, that usually used 

 

According to http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=dcp8110dn_us&os=127 it should be working with the "Generic ..." stuff aka net-print/brother-genml1-bin.

----------

## Yczo

First time, thank you very much for your help

The overlay is sadly off or, i have it not good configured; I followed the steps from your link https://wiki.gentoo.org/wiki/Brother_networked_printer#Preferred:_Using_drivers_from_custom_ebuild_repositories

The output from 

```

#/opt/brother/Printers/DCP8110DN/inf/braddprinter

bash: /opt/brother/Printers/DCP8110DN/inf/braddprinter: No such file or directory

```

is

```

cat /opt/brother/Printers/DCP8110DN/inf/braddprinter

-- deleted by moderator --

```

Naturaly, is a binary

The question is... why don't run? It had make before in multilib

Greetings and thankyou

[Moderator note: Removed the unprintable binary contents of the offending file.  I asked for file, not cat.  I fully expected it to be an unprintable binary. -Hu]

----------

## duby2291

There are 2 possible things as far as I can tell...

1: Did you try to mkdir that folder? It's unlikely that Brother has specifically tested that script on Gentoo, it's probably broken. So you may have to work around it's brokenness, if that's truly the case.

2: If the binary is 32bits, that means at minimum it has dependence on a 32bit libc and probably other libs too. So, I don't see how you could run it on a 64bit only system anyway. Even if you built a kernel with support for 32bit binaries, you still need the required 32bit libraries. At least that's what I think, I may be entirely wrong.

----------

## charles17

 *Yczo wrote:*   

> The output from 
> 
> ```
> 
> #/opt/brother/Printers/DCP8110DN/inf/braddprinter
> ...

 

Why at all are you trying to run braddprinter??? 

If you had emerged net-print/brother-genml1-bin as described in the wiki article, you should have like:

```
brother/

└── Printers

    └── BrGenML1

        ├── cupswrapper

        │   ├── brother-BrGenML1-cups-en.ppd

        │   ├── brother_lpdwrapper_BrGenML1

        │   └── paperconfigml1

        ├── inf

        │   ├── brBrGenML1func

        │   ├── brBrGenML1rc

        │   ├── braddprinter

        │   └── setupPrintcap

        └── lpd

            ├── brprintconflsr3

            ├── filter_BrGenML1

            └── rawtobr3

```

In case you were having trouble with the ebuild repository, please show your output of portageq repos_config /

----------

## Yczo

Thank you very much for the answers...

I have that inside the ebuild " brother-overlay/net-print/brother-genml1-bin/brother-genml1-bin-3.1.0-r1.ebuild" find

```

die "This package CANNOT be installed on pure 64-bit system. You need multilib enabled."

```

That means, that is no way to configure may printer in a no multilib system???

I remember the old IA32-libs ebuild....

Greetings

----------

## charles17

 *Yczo wrote:*   

> I have that inside the ebuild " brother-overlay/net-print/brother-genml1-bin/brother-genml1-bin-3.1.0-r1.ebuild" find
> 
> ```
> 
> die "This package CANNOT be installed on pure 64-bit system. You need multilib enabled."
> ...

 

What's your experience?  Did the emerge "die" with that message?  AFAIR the ebuild has a check for the system requirements.  Just try ...

Kernel option CONFIG_IA32_EMULATION may be needed to play with the ELF 32-bit LSB executables, I guess.

----------

## duby2291

Like I said, even if you enable 32bit support in the kernel, I still don't think it'll work. Stuff just like what you are trying to do right now is the -entire- point for multilib. It's -the- reason multilib exists. I'm at least 90% certain you will have to build a multilib system.

----------

## Hu

 *Yczo wrote:*   

> 
> 
> ```
> die "This package CANNOT be installed on pure 64-bit system. You need multilib enabled."
> 
> ...

 That is how I would interpret that message, yes.  If you want to use this on a no-multilib system, you need to compile the package in 64-bit mode.  As I understand this thread, the vendor did not release the source, so you cannot compile the package at all.  Perhaps if you ask nicely the vendor will provide a working 64-bit build.  They've had at least ~8 years of widespread 64-bit use to get ready, so it should be done by now.

----------

## Yczo

I am very grateful for all the answers, und with the sorrow and the need of a new multilib instalation make.

Then Richard Stallman was right. All programs should be frei software or opensource.

Greetings

----------

## charles17

It's only these three files ...

```
/opt/brother/Printers/BrGenML1/lpd/rawtobr3: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV)

/opt/brother/Printers/BrGenML1/lpd/brprintconflsr3: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV)

/opt/brother/Printers/BrGenML1/inf/braddprinter: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV)
```

Everything else is plain text files.  Any chance for reengineering?

----------

## duby2291

I really don't see the problem with multilib. If you play almost any commercial video game you'll need it. If you run almost any windows program you'll need it. If you run almost any proprietary userspace driver you'll need it. And the way that portage handles multilib dependencies now days is fantastic. In my eyes anyway multilib truly isn't a problem.

----------

