14 July 2017

I've been doing some compiling

I've done software compiling for quite a few years. Compiling is converting source code into a usable program. In the Linux world that means producing a 'package' as the end product.
Recently, I made some Gimp plugins for the current Ubuntu (16.04) that were previously unavailable. I had success with Gimp-gap (Gimp Animation Package) but it was seriously difficult. I wrote about it here.
The problem is that gimp-gap is 'multimedia' software with many different codecs and dependencies. In the Linux world we call it 'dependency hell'.

Compiling gives the brain a workout because mostly the source code fails to build first time and ends with an error message in the terminal. Your main tools are a command terminal and a text editor. You need to refer to the net to search for similar error messages and see if they are similar. RedHat Linux uses a different packaging system called 'RPM' and in some cases I look at the RPM 'spec file' to see what was done to compile the program.

I have also compiled the 'MathMap' plugin for Ubuntu. At first I was not succeeding, so I converted a RedHat RPM of Mathmap into an Ubuntu 'Deb' pack using Alien. Alien is a brilliant piece of work and I also added some extra filters using the 'repack' method. I came back to compiling Mathmap after 5 months and discovered where I had gone wrong. I now have it done on Ubuntu 17 and it works on the previous Ubuntu as well. It is available here.

It's good when it finally compiles and you have software that can be used around the world on similar systems.
Compiling also makes you aware of the strengths and weaknesses of computer operating systems. For example Ubuntu/Mint/Debian has it's own library naming system which can be frustrating. No wonder Linus Torvalds doesn't use Debian-based systems? On the plus side Ubuntu/Debian system are relatively fast with excellent security. At some point I may go back to using RedHat. I used Mandrake until it morphed into Mandriva. Teaching myself Unix was one of the best things I ever did because it future-proofed my tech skills. Check-out http://distrowatch.com/

Recently I gave-up on a compiling a project called 'FFMultiConverter'. Although a small program, it needed a huge number of support files when installed. It's written in Python and is not available for later versions of Ubuntu. I settled on using WinFF to do my video converting tasks. I may go back to compiling FMultiConverter when I get my head around loading Python libraries on Ubuntu.

I actually want to upload more animations but I also don't want to slow down my blog page with all the graphics so I achieved both with this post.

No comments: