Page 1 of 1

How to find & install libraries not in PPM?

Posted: Wed Nov 10, 2021 10:04 am
by Maybe

Hey!

I installed the OBS Studio program from PPM in Slako Puppy, but when I try to enable it, the program does not start. Checking the package for dependencies showed that several libraries were missing. I did not find these libraries in PPM. It is clear that you need to look for them in a different way through the Internet. Please tell me how to install missing libraries in Slacko Pup?

From Dmitry (Russia)


Re: How to find & install libraries not in PPM?

Posted: Wed Nov 10, 2021 3:53 pm
by mikewalsh

@Maybe :-

Which Slacko Puppy are we talkiing about? It's very important that you always, ALWAYS give us this information.

Regarding the several missing libraries, this is due to Slackware's very conservative installation policy. They've always believed in just making the OS usable, then leaving the user to install everything else they may need by themselves.

Did you try the SLC64 version norgo built & posted about, here?

viewtopic.php?p=39274#p39274

This is compiled to work with one of the Slackware derivatives, and is more likely to work than those compiled for 'buntu-based Pups. 'buntu-based Pups tend to have a hell of a lot more stuff installed, by default, OOTB, so a 'buntu-compiled/built version of OBS will expect to be searching around the system to find dependencies.

Mike. ;)


Re: How to find & install libraries not in PPM?

Posted: Thu Nov 11, 2021 12:26 am
by bigpup

Usually you can find them by using a internet search for the name of whatever you need.
Then you have to figure out where in the file system it wants them to be placed.

If you can tell us what the missing stuffs exact names are.
We could give better advice.

Note:
I just installed OBS Studio in Fossapup64 9.5 using it's PPM.
Works OK with no errors.
So the PPM got everything needed.
Total download was 6 items.


Re: How to find & install libraries not in PPM?

Posted: Thu Nov 11, 2021 11:12 am
by Maybe
mikewalsh wrote: Wed Nov 10, 2021 3:53 pm

@Maybe :-

Which Slacko Puppy are we talkiing about? It's very important that you always, ALWAYS give us this information.

Regarding the several missing libraries, this is due to Slackware's very conservative installation policy. They've always believed in just making the OS usable, then leaving the user to install everything else they may need by themselves.

Did you try the SLC64 version norgo built & posted about, here?

viewtopic.php?p=39274#p39274

This is compiled to work with one of the Slackware derivatives, and is more likely to work than those compiled for 'buntu-based Pups. 'buntu-based Pups tend to have a hell of a lot more stuff installed, by default, OOTB, so a 'buntu-compiled/built version of OBS will expect to be searching around the system to find dependencies.

Mike. ;)

Hello, @mikewalsh!

This is Slacko Pup 7.0. I tried to install OBS.sfs of @norgo but it don't work. Then I tried it on ScPup, and again false. There is no reaction. I tried it in console

Code: Select all

OBS

But the console responded that the library was missing.

Oooh..


Re: How to find & install libraries not in PPM?

Posted: Thu Nov 11, 2021 4:33 pm
by mikeslr

The first thing to do is identify the missing libraries. You may have already done this, but what I do is locate each of the application's binaries. There's usually only one, and the application's /usr/share/application/...desktop file's argument (Exec=) will either identify it, or a wrapper (bash-script you can open in a text editor and look for name of the actual binary). When you Menu>filesystem>pfind, then file-browse to that binary, look nearby for similarly named binaries: e.g. my-application, my-application-more.
Right-Click all binaries and select ListDD from the pop-up menu. At the bottom of ListDD's GUI, click the "missing tab".
If it reports that glibc newer than that used by your Puppy is missing Quit. [It may be possible to construct an application that will internally contain a newer glibc --ala palemoon-with-glib-tweak-- but you really need to know what your doing; and even then it won't always work].
Now that ListDD has listed all the missing dynamic libraries, copy each list to a text file.
Open you web-browser to https://pkgs.org/. At the top-right is a search box. You can copy & paste each of the names of the missing dependencies into it. But use a little imagination. For example, if libgobject-2.0.so.0 was the missing file, have pkgs.org search for libgobject-2.0, and if nothing is found, try libgobject, then just gobject.
Know which major distro AND version with which your Puppy is binary-compatible. pkgs.org search will provide links to the repositories of AFAIK all the major Linuxes, and several minor. Your search may, for example, reveal that packages are available for slackware 14.1, slackware 14.2, and slackware current. Or none for slackware, but some for debian 9.
A package --such as a pet-- consists of files organized in such a way that the package-manager of the distro they are created to use in will properly install each file into that distro's file structure. UExtract can decompress almost all package enabling you to then manually copy the extracted files into a proper location for a Puppy to make use of it.
But there are two 'got-yas'. :roll:
The first is the files within a package were compiled to work under the Distro and version they were compiled in. In order to use a library in a different Distro-Version you may have to (a) also install other libraries; and libraries those libraries depend on. And you may have to create symbolic links. For example, your application is looking for libgobject-2.0.so.0 but the closest file you could find was libgobject-2.0.so.14. You could create a symbolic link named libgobject-2.0.so.0 pointing to libgobject-2.0.so.14.
The second 'got-ya' is that while a file compiled for one distro-version may be identical to that of a different distro-version (the difference between the packages being only how they were packaged) sometimes they are not.
The further you depart from the libraries compiled for your Puppy-binary-compatible distro the less likely you will be able to find a workaround.


Re: How to find & install libraries not in PPM?

Posted: Thu Nov 11, 2021 8:33 pm
by norgo

@Maybe
unfortunately my OBS version is not able work in Slacko 7.0
Slacko 7.0 used Glibc version is too old, the ffmpeg version too
furthermore you will need at least qt 5.15.....

here the ldd output

Code: Select all

/usr/bin/obs: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /usr/bin/obs)
/usr/bin/obs: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /usr/bin/obs)
/usr/bin/obs: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by /usr/bin/obs)
	libQt5Network.so.5 => not found
	libQt5Svg.so.5 => not found
	libQt5Xml.so.5 => not found
	libobs-frontend-api.so.0 => not found
	libavcodec.so.58 => not found
	libavutil.so.56 => not found
	libavformat.so.58 => not found
	libQt5Widgets.so.5 => not found
	libobs.so.0 => not found
	libQt5Gui.so.5 => not found
	libQt5Core.so.5 => not found