Chasing dependencies
I thought that it would be a good idea to create some more SFS
files for EasyOS, so I downloaded the source tarball for Openshot, a
video editor. This is written in Python, and requires 'pyqt5', and then I
started to follow the trail of dependencies...
After several hours, at 1am, got to compile Openshot itself, or
rather, just run it as it is Python scripts. It reported a module
missing, which seems to be due to wrong version of one of the deps. That
particular dep was required to be version later that something, and I
used the latest version, but that turned out to be a mistake, as the
latest version has a change that breaks Openshot.
Grrr. I decided this is a mugs game. Huge waste of time for me to be
doing this, when I could be focussed on development of the principles of
Easy.
So much more convenient if everything is already compiled. I was
planning to base Easy on Slackware binary packages, but I don't know
what is happening with the Slackware project.
Decided to have a play with building Easy from Debian Buster binary
DEBs. Did a build, got the commandline, but no X. I used a lot of
packages from Pyro64, and discovered that they don't work. They are
64-bit, in a 64-bit system, 'ldd' shows their shared libraries are
present, but when try to run them, get "No such file or directory".
Permissions OK. Hmmm.
EDIT 2019-07-29
Yippee, found out why the binaries from Pyro were not working in the Debian Buster build. Running "Easy Buster64" right now.
The Pyro binaries were compiled in my fork of OpenEmbedded, without multi-architecture support, so all libs were in /lib and /usr/lib. Buster is multi-arch, and the 64-bit libs are mostly in /lib/x86_64-linux-gnu and /usr/lib/x86_64-linux-gnu.
The Pyro binaries are hardcoded to expect /lib/ld-linux-x86-64.so.2. I created a symlink to /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2, For good measure, did same for libc.so.6. The Pyro binaries now run. Including SeaMonkey, using now.
I checked out Radky's BusterPup, 32-bit Puppy built from Debian Buster DEBs. He has built with /lib/x86_64-linux-gnu and /usr/lib/x86_64-linux-gnu symlinks to ".", thus all libs will be in /lib and /usr/lib, which completely avoids these kind of problems.
If you want to know more about BusterPup:
http://www.murga-linux.com/puppy/viewtopic.php?t=116570
I will keep the separate multi-arch folders, for maximum compatibility with Debian.
I am seriously thinking of going over to Buster DEBs for future
EasyOS releases. One reason, well, the main reason, is all of those
packages in the Debian repo, that I won't have to compile, or attempt to
compile. Openshot for example!
Thinking that version 1.1 will be the last of the Pyro series, then 2.0 will be the start of the Buster series.
Tags: easy