# ELF binary type "0" not known.



## frankgrimes97 (Jun 25, 2011)

Hi all,

I am trying to install a product that ships as RedHat Enterprise Linux 5 certified RPMs. After successfully installing the RPMs and trying to launch binaries, I get the following error:


```
ELF binary type "0" not known.
./run: Exec format error. Binary file not executable.
```

I did some searching online and even tried the following:

[cmd=]brandelf -t Linux run[/cmd]

But then it just complains that type "3" is not known either.

I'm running FreeBSD 8.2-RELEASE and I believe that Linux compatibility is correctly enabled as evidenced by the output of *kldstat*:

```
Id Refs Address            Size     Name
 1   20 0xffffffff80100000 c9fe20   kernel
 2    1 0xffffffff80da0000 202a58   zfs.ko
 3    2 0xffffffff80fa3000 4940     opensolaris.ko
 4    2 0xffffffff81022000 1cecd    linux.ko
 5    1 0xffffffff8103f000 3edb     linprocfs.ko
```

I also have the linux_base-f10 port installed (tried also with linux_base-fc6 with the same results).

Any help would be much appreciated.

Thanks,

Frank Grimes


----------



## kpedersen (Jun 25, 2011)

I remember reading in the handbook that you need to rebrand the elf binary.

I don't use Linux compatibility so perhaps someone else could explain this some more.


----------



## _martin (Jun 25, 2011)

It is some time I've used linux-compat mode. I did make myself some notes so I know how to proceed if I need it in a future. Maybe this helps:

Install rpm: 

`# rpm --ignoreos --root /usr/compat/linux --dbpath /var/lib/rpm --nodeps --replacepkgs --install <PKG>.RPM`

Update libs: 

`# /usr/compat/linux/sbin/ldconfig`

Mark the binary for the correct ABI with brandelf(1):

`# brandelf -t linux /path/to/binary`


----------



## frankgrimes97 (Jun 26, 2011)

As I mentioned, I did try running *brandelf -t Linux* but it then simply complains that ELF binary type "3" is not known. Is there something I can check that I might have missed in setting up Linux compatibility?

Thanks,

Frank Grimes


----------



## frankgrimes97 (Jun 27, 2011)

As a simpler test I tried installing a RedHat rpm of Curl (curl-7.15.5-9.el5.x86_64.rpm) and I still get ELF binary type "3" is not known after running *brandelf -t Linux*on it.

Can someone else try this on FreeBSD 8.2 with linux_base-f10 and let me know if it works? Maybe then we can more easily track down what's missing in my configuration.

Thanks,

Frank Grimes


----------



## wblock@ (Jun 27, 2011)

Do you have Linux compatibility fully set up, including linproc in /etc/fstab?

Otherwise, watching what ftp/linux-f10-curl does during install might be helpful.


----------



## vertexSymphony (Jun 27, 2011)

Clean the entire Linux enviroment, reinstall Linux base, and try downloading the 32 bit version of the binary you're interested in. The linux(4) compat layer emulates a (partial) 32 bit Linux system ABI and you're installing a 64 bit package (x86_64)

Cheers


----------



## frankgrimes97 (Jun 27, 2011)

vertexSymphony said:
			
		

> Clean the entire Linux enviroment, reinstall Linux base, and try downloading the 32 bit version of the binary you're interested in. The linux(4) compat layer emulates a (partial) 32 bit Linux system ABI and you're installing a 64 bit package (x86_64)
> 
> Cheers



I don't know how I missed the fact that Linux compatibility is only 32-bit... I really need 64-bit so I guess I'm out of luck here.
Thanks for taking the time to clarify!

Frank Grimes


----------



## hselasky@ (Jan 31, 2017)

Did you try:

`kldload linux64`


----------



## SirDice (Jan 31, 2017)

hselasky@, you're responding to a 5 year old thread. The 64 bit Linux emulation didn't even exist back then.


----------



## Marx (Feb 4, 2017)

i'm update to freebsd 11 ... kldload linux64 fix the problem. thx )


----------



## eydaimon (Oct 16, 2017)

Didn't fix the problem for me :/


----------



## free-and-bsd (Oct 21, 2017)

eydaimon said:


> Didn't fix the problem for me :/


Even without knowing what _your_ particular problem is (perhaps, _different_ from that of the OP), that error message means you're doing something WRONG. It has nothing to do with ${your Linux app} working or not working with the FreeBSD linux compatibility thing.

So examine carefully what exactly you are doing, cause there must be something wrong about it. Like making FreeBSD system use Linux binaries directly.


----------



## tobik@ (Oct 21, 2017)

free-and-bsd said:


> Even without knowing what _your_ particular problem is (perhaps, _different_ from that of the OP), that error message means you're doing something WRONG. It has nothing to do with ${your Linux app} working or not working with the FreeBSD linux compatibility thing.
> 
> So examine carefully what exactly you are doing, cause there must be something wrong about it. Like making FreeBSD system use Linux binaries directly.


The problem was already solved.  https://forums.freebsd.org/threads/62857/


----------

