I just had a nasty surprise when I tried to pay myself out of my company in the United Kingdom. “Her Majesty’s Revenue and Customs” (HMRC) publish a tool, called “BPT-RTI”, which small companies can use to pay payroll withholding taxes in the UK (called “PAYE”, for “Pay As You Earn”). And they even have a Linux version! It’s a one-size-fits-all executable that installs the system supposedly on any Linux, and they claim the only prerequisite to be the latest C-library.
However, whereas this ran just fine on my other systems (64-bit SLED 11 SP1 and SP2), it installed alright but failed to run on 64-bit OpenSUSE 12.3, claiming (when started from the command line) to be missing libpng12.so.0. This library exists in /usr/lib64, but in contrast to the SLED releases there is no 32-bit version of it in /usr/lib.
Solution:
Install the package “libpng12-0-32bit”.
That fixed the problem. Apparently, this package is not installed by default on 64-bit 12.3, in contrast to the SLED versions.
Good luck to the few people out there who might need this!
(Another installation bug for BPT-RTI: the desktop short-cut does not have quotes around the filename of the executable. So if, like me, you install the software in a location where the path has shell meta-characters in it ( in my case, a space), you need to edit the icons properties to quote the pathname of the executable.)
msohnius wrote:
>
> I just had a nasty surprise when I tried to pay myself out of my company
> in the United Kingdom. “Her Majesty’s Revenue and Customs” (HMRC)
> publish a tool, called “BPT-RTI”, which small companies can use to pay
> payroll withholding taxes in the UK (called “PAYE”, for “Pay As You
> Earn”). And they even have a Linux version! It’s a one-size-fits-all
> executable that installs the system supposedly on any Linux, and they
> claim the only prerequisite to be the latest C-library.
>
> However, whereas this ran just fine on my other systems (64-bit SLED 11
> SP1 and SP2), it installed alright but failed to run on 64-bit OpenSUSE
> 12.3, claiming (when started from the command line) to be missing
> libpng12.so.0. This library exists in /usr/lib64, but in contrast to
> the SLED releases there is no 32-bit version of it in /usr/lib.
>
> Solution:
>
> Install the package “libpng12-0-32bit”.
>
> That fixed the problem. Apparently, this package is not installed by
> default on 64-bit 12.3, in contrast to the SLED versions.
>
> Good luck to the few people out there who might need this!
>
> (Another installation bug for BPT-RTI: the desktop short-cut does not
> have quotes around the filename of the executable. So if, like me, you
> install the software in a location where the path has shell
> meta-characters in it ( in my case, a space), you need to edit the icons
> properties to quote the pathname of the executable.)
>
>
If you have installed a 64 bit OS you will obviously not have 32 bit
libraries.
You can always add the 32 bit libraries by going to YaST ==> Patterns
==> install/check 32 bit runtime environment
Ahem, yes, but: while in my /usr/lib directory, if I do
file * | grep 32-bit | wc -l
I see no less than 365 entries that are 32-bit (one for each day ;)). So, clearly, even a 64-bit install will include, by default, a LOT of 32-bit code. Except, at least for OpenSUSE 12.3, not the one I needed in this case! As said before, SLED 11 did have the needed libraries, even in a 64-bit install.
My point is really, that HMRC are not making it clear that their software needs the 32-bit libraries no matter what system it is used on. I think (don’t ask me why I think this!) that they ship, or use, 32-bit Python with their stuff, which then needs that shared library.
Hmm, my 64 bit 12.3 contains only 48 files in /usr/lib that are 32 bit.
At least a few of those I installed to support some 32 bit apps.
So by default, there are not many 32 bit libs installed in 12.3 64 bit.
Hi and many many thanks for posting this. You have saved me hours of time trying to sort this out. There is a remark in the HMRC notes on Linux installations that 32 bit library file may be needed on 64 bit systems but it didn’t give the full details so your post has been invaluable.
Thanks again,
Budgie2
You are quite welcome! I had also contacted HMRC to point this problem out to them, so that may well be why there is now a note to that effect on their web site. As usual, dependencies are the bane of common software items on Linux (mention GoogleEarth, or Skype!).
Hi, after reading your advice I have had good use of HMRC RTI on 64 bit openSUSE 13.1 machine but I have just had to do a re-build and have moved on to 13.2. Installed the 32 bit library as advised above but alas no joy this time. Does anybody have this software working on 13.2?
I note also in the installation readme.txt file HMRC advise only to use Adobe reader. I quote:-
The following steps represent one way to successfully install Adobe Reader on
Ubuntu Linux, and ensure that your operating system is configured to use it to
open FDF files as well as PDF files.
Interesting as I cannot find a linux version on the Adobe website. Any views anyone?
Otherwise, until I myself have gone past OpenSuse 12.3 (which, I understand, is about to go off support from SuSE, is that right?) I cannot really comment on what BPT-RTI will or won’t do on 13.1 and 13.2. I am, however, surprised that indeed there a few people out there who use this software on SuSE Linux!
Just seen this having failed to get BPT-RTI to run on 13.2 x86-64bit. (I had it running perfectly on 13.1) I went back to this thread again and tried the Patterns as suggested above. Now I assumed this would download and install all the 32 bit libraries corresponding to my existing if there were any. Not so. All that happened was it downloaded the “pattern”.
Ah I thought, an on-line update will then do the business. Not so. Many of the library files I need in 32 bit have not been installed although I have the corresponding 64 bit already. So how does this work exactly?
The quote was not from me, but from vazhavandan.
I am still on 12.3, not being a believer in hazardous upgrades, so I don’t have an immediate answer. You may want to try and invoke the program from the terminal command line, and see whether it tells you which library exactly it is missing. The command “ldd <file>” (that’s ell-dee-dee) is also useful to find which libraries are needed by a binary executable file or another library.
In particular, the library libQtGui.so.4, part of the HMRC-RTI directory, calls 32-bit libpng12.so.0, which caused me to have to load the package that contains it manually from the Suse repository.
To my great embarrassment I find that it was also on 12.3 that I had HMRC software running. I did NOT get it to run on 13.1, in fact I didn’t try on that machine. I am going to start a new thread for my present problem. Many thanks again for your support.
Budgie2