# /usr/local/lib/libGL.so.1: ELF file OS ABI invalid



## debguy (May 3, 2021)

I am running on nvidia and libGl is provided by nVidia for FreeBSD.  To (solve any) depends I installed:
  /usr/ports/x11/glcapsviewer
  /usr/ports/x11-clocks/glclock

But when I run my "linux" app, which is NOT a port, it is Mathematica 12, I get (see thread title).  Yes I did brandelf it all.  And please realize this is NOT and LD_LIB_PATH issue.

The plain text binaries (not requiring Gl) seem to run or at least try to (so far, not with issues and crashes).

BAD TEST:  I ran /compat/linux/bin/x86_64 when I tried to run the Gl using binary the machine rebooted (which is why i suggest Not trying it!)

BAD TEST:  I chrooted to /compat/linux Xorg and libGl is not in there) so i'd have to sacrifice FreeBSD's Xorg and use RHEL7's i'm not sure that is even wise or possible under FreeBSD, IDK.

_I see this has been going on with MANY APPS since at least 2006 if you google it:  no one has claimed success resolving the issue since 2006 other than to upgrade to UBU or RH current version.  (in the linux world the phenomenon occurs when libc is not upgraded to current RedHat or Ubuntu forced upgrade version)_

I'm asking here because most posts are old I though "maybe i'm missing something, maybe supposedly it's solved" and I just didn't do something simple.

If I can't get it to run I would install Oracle "unbreakable linux" see if that works.  But I fear the fact #1 i'm blowing huge time on a rat chase that shouldn't be, and:  i KNOW ubuntu et all is a rat chase of continual breakage and unanswered questions historically.

I'm thinking of hacking around for a solution.  However if I boot Xorg with "nvidia" instead of "vesa" I cannot switch back to terminal Ctrl-Alt-F1 or "su root" - so debugging the issue is so obstructed (ie, to mount another drive i must be root must exit Xorg).

I'll refrain from commenting on the fact this all started when MS and GG edited bfd ld 2006 and previous.  "GNU agreeement:  this code is offered in hopes it will be useful"  (really? has anyone tested that recently?)


----------



## debguy (May 3, 2021)

I do not understand this:









						Chapter 11. Linux Binary Compatibility
					

FreeBSD provides binary compatibility with Linux, allowing users to install and run most Linux binaries on a FreeBSD system without having to first modify the binary




					docs.freebsd.org
				




The document says to install /compat/linux/lib/foo when it is not in freebsd already (version pending  debate).

ldd /usr/local/Wolfram/Mathematica/12.2/SystemFiles/FrontEnd/Binaries/Linux-x86-64/Mathematica

reports most things are found/registered.  ((ldd won't even run with /usr/local/lib in LD_LIBRARY_PATH - i also don't understand that ... what is /usr/local/lib/libfoo if it isn't freebsd and isn't centos?))

HOWEVER:  these are not found:
  libX11.so.6
  libGL.so.1

libGL is nVidia provided and very doubt it would *ever* work to stick an nVidia driver from RHEL into /compat/linux and think it would go anywhere (meaning following the handbook linux doom advice).

libX11.so.6 reall confuses me.  It's already in /usr/local/lib and why would ldd not see it?  so let's say i should edit /etc/ld.so.conf?  i doubt that since then LD_LIBRARY_PATH should work ??  ldd "runs the app" to find depends i hear, so if freebsd ldd gets an error and can't run at all with /usr/local/lib in path i should think i would not add it to ld.so.conf if i want my machine to (be able to boot)

Again - according to "linuxdoom handbook"  libX11.so.6 is already in freebsd so shouldn't need to be copied from  "Linux".

Either linux compat doesn't work or there is allot of documentation missing about how to use it dir dir dir what path goes where and what libs don't really subsitute and what to do if freebsd and linux both need a .so of the same name.

I can understand completely if nVidia is a blame, close source and un-willing to pony up drivers that work for freeBSD compat/linux.  But if that is so then 3D sofware drivers should have installed knowing libGL.so was for freebsd only not compat/?  Or something to prevent a rat race of being dealt cryptic and crosstalk messages and cryptic error messages there are no good explinatioins for on any of the google searches.


----------



## bakul (May 3, 2021)

debguy said:


> libX11.so.6 reall confuses me. It's already in /usr/local/lib and why would ldd not see it?


That version is for FreeBSD. For Linux binaries you need linux versions of libX11.so.6. You need to `pkg install linux-c7` and possibly a few more linux specific packages.


----------

