Question About .SO Files

4 risposte [Ultimo contenuto]
PublicLewdness
Offline
Iscritto: 03/15/2020

So I was troubleshooting a game not launching today on my Manjaro system and I wanted to test it on another distro to see if the same issue happens there and the closest system I had to me was my Trisquel desktop. The game actually gave me a different issue there, namely it was missing several different .so files in order for the game to run. I was able to potentially solve the issue (Trisquel had some of the files in question, just not the 32 bit versions so I just downlaoded those files and put them in the game's folder) but this gave me a question I hadn't considered before: Can .so files be closed source ? Is it good practice to basically say if Trisquel doesn't ship with the file that it probably has some issues when it comes to being free software ? I wasn't worried about the files I downloaded today because Trisquel had the 64 bit versions of them so I figured overall those specific files 32 bit versions would also be ok but now I am curious about this as a whole.

Magic Banana

I am a member!

I am a translator!

Offline
Iscritto: 07/24/2010

A .so file is an executable file. It is not source code. If its source code is not available, it is definitely nonfree. If its source code is available, then it depends on the license it is distributed under. Sticking with Trisquel's repository is safe: nonfree software in Trisquel's repository is a critical bug. However, Trisquel does not ship all the free software there is. In particular, if free software is not packaged for a given version of Ubuntu, it will almost always not be for the corresponding version of Trisquel.

All that said, I see little reason for a same program compiled for different processor architectures to be released under different licenses. If Trisquel has an amd64 package, it should have the related i386 package, if it exists. The question is: why would you need the 32-bit version if your system is 64-bit? The answer is probably "because 32-bit nonfree software depends on it"...

PublicLewdness
Offline
Iscritto: 03/15/2020

I needed the 32 bit due to the game in question so your last comment is correct. I noticed that Trisquel had the file I needed but when I dumped it into the game folder I received an "ELFCLASS64" error so I hunted down the 32 bit file and it fixed that specific error. Games are my last area where there are few free software options that do it for me hence the Manjaro system I still employ. I'm hoping to fix this going forward but most game genres I am interested in don't have free options. There is only so much Super Tux Kart one can play :)

chaosmonk

I am a member!

I am a translator!

Offline
Iscritto: 07/07/2017

> Trisquel had some of the files in question, just not the 32 bit versions so I just downlaoded those files and put them in the game's folder

For future reference, the "correct" way to handle this would have been to enable Trisquel's 32-bit packages via

$ sudo dpkg --add-architecture i386
$ sudo apt update

and to install the 32-bit packages you need via apt. For example, to instal the 32-bit version of package `foo`, you would run

$ sudo apt install foo:i386

PublicLewdness
Offline
Iscritto: 03/15/2020

Thank you for that turotial ! That would have saved me a lot of time and still will going forward.