Kernel_Killer
April 25th, 2003, 04:03
I'm trying to run a Linux app with the binaries, but get this error:

./uplink: error while loading shared libraries: /usr/X11R6/lib/libGLU.so.1: ELF file OS ABI invalid

Any idea why I'm getting this error? Do I need to config my kernel more for ELF?

soup4you2
April 25th, 2003, 15:07
have you tried a sysctl of elf branding fallback to 3

Strog
April 25th, 2003, 18:38
Are you using /compat/linux/bin/sh to invoke this linux app?

Make sure that you are calling a wrapper and not the acutal binary if this app uses a wrapper.

Yeah and check your elf branding.

Kernel_Killer
May 6th, 2003, 03:56
OK. Got past that part. Now I'm having trouble with one single file. Good ol' libglut.so.3.7. The app is looking for it in /lib, but resides in /usr/X11R6/lib/. I tried doing a sybolic link /lib to redirect to /usr/X11R6/lib/, but still having trouble with the file. The error is:

relocation error: /lib/libglut.so.3: undefined symbol: XmuLookupStanda

Am I pointing to the wrong lib dir?

socomm
May 6th, 2003, 14:08
relocation error: /lib/libglut.so.3: undefined symbol: XmuLookupStanda


I would think that it is looking for a function by the name XmuLookupStandar(), or something of the sort :roll:

Kernel_Killer
May 6th, 2003, 17:08
I would think that it is looking for a function by the name XmuLookupStandar(), or something of the sort

Yes. This is a glib error from libglut.so.3 because it's too old. I need to find where it residing from though. I've replaced the libglut.so.3 with libglut.so.3.7 (which is the fix), but doesn't seem to be the right /lib dir that the app is looking in. So, I guess my question is, where does the Linux binaries look for libraries?

Strog
May 7th, 2003, 12:50
They are supposed to look in /compat/linux/ unless you have modified it

Kernel_Killer
May 7th, 2003, 22:11
Well, so much for that. Doesn't seem that libglut.so.3.7 renamed as libglut.so.3 works like it did in Linux. Crap. Any ideas? Same error.

Kernel_Killer
May 12th, 2003, 01:21
Ok. I've now linked it to /usr/X11R6/lib/libglut.so.3, /compat/linux/usr/X11R6/lib/libglut.so.3, and /compat/linux/lib/libglut.so.3. Unfortunatly, it still doesn't work. Even when running from the /compat/linux/bin/sh, it still gives the same problem. It looks like this app would work ok even w/o the Linux binaries. Anyone have ANY ideas?

socomm
May 12th, 2003, 11:35
Have you considered E-Mailing the developer? He/She can probably help you figure out how it is linked , what libraries it is linked to, and where it is searching for them. Though just a thought.

kFuQ
September 23rd, 2003, 14:12
Ok. I've now linked it to /usr/X11R6/lib/libglut.so.3, /compat/linux/usr/X11R6/lib/libglut.so.3, and /compat/linux/lib/libglut.so.3. Unfortunatly, it still doesn't work. Even when running from the /compat/linux/bin/sh, it still gives the same problem. It looks like this app would work ok even w/o the Linux binaries. Anyone have ANY ideas?

Did you ever run /sbin/ldconfig after you changed things around ?
you may have to include the linux library paths to the ldconfig conf file as well..

:twisted:

ealwen
September 23rd, 2003, 20:37
I have been having this for a while and even if I get the current lib file to work it just picks another to ELF ABI OS invalid. Running ldconfig gives me the same ELF error.

soup4you2
September 23rd, 2003, 20:49
what about elf branding?

brandelf EXECUTABLE

to change brandelf -t Linux EXECUTABLE

and how about a sysctl of

kern.fallback_elf_brand=3

kFuQ
September 23rd, 2003, 22:38
I have been having this for a while and even if I get the current lib file to work it just picks another to ELF ABI OS invalid. Running ldconfig gives me the same ELF error.

well.. i don't know if this will help your situation or not, but..

i am setting up 30+ jails on the same machine and kept getting the mknod errcr " ... mknod /compat/linux/dev/null .. blah blah "

well.. it turns out if i install perl5 right off the bat through the ports, run ' /usr/local/bin/use.perl port ' ( to switch perl versions -- otherwise linux_base dependencies seem to crap out ), then use pkg_add to install the linux base package from the ftp site...

i don't know what it is about the difference in compiling the linux_base package in the ports vs. using pkg_add in the jail... but this seems to resolve ( or bypass ) the mknod error somehow.

:roll:

btw -- FYI:

su-2.05b# sysctl -a kern.fallback_elf_brand
kern.fallback_elf_brand: -1
su-2.05b#

su-2.05b# uname -sr
FreeBSD 4.8-RELEASE
su-2.05b#

ealwen
September 26th, 2003, 21:40
brandelf sometimes stops the current lib file to stop giving me the ELF error sometimes not. I have tried branding everything in my /lib directory but I still get the ELF error with lcdonfig or when I try to run a linux binary. I have tried sysctrl as well I don't think that helped at any point but I ran it on my /lib directory too.

Edit: I have portupgraded and tried uninstalling and reinstalling the linux base port.

soup4you2
September 26th, 2003, 22:20
what version of linux_base you runnin?

linux_base-8 works fine for me..

ealwen
September 27th, 2003, 23:07
It was Linux base 7.x when I did it. I will try 8.

ealwen
October 5th, 2003, 20:50
No dice on linux base 8 either. Gives the same message " /ib/libGLU.so.1: ELF file OS ABI invalid" when I try to run a linux compat binary.

Heh, tired of trying to get this to work too. I have spent days trying to get it to work. *sigh* :(