After using 'graveman' for some while to copy ISO files to CD, albeit having to do so as 'root', today 'graveman' failed with the message:
error while loading shared libraries: libmng.so.1: cannot open shared object file: No such file or directory.
I checked that 'libmng' was installed -- it was, and was up-to-date -- so I removed and re-installed 'graveman' but the error still occurred. 'libmng' is used by a number of other programs, e.g. gimp, so removing and re-installing would be inconvenient. Then I noticed that 'libmng' had been updated very recently from 1.0.10-4 to 2.0.2-2 so I downgraded it to the previous version and 'graveman' now works properly as before.
I don't know anything about the internal workings of either 'graveman' or 'libmng' so I don't feel confident enough to file a bug report but, in order to move forward, I guess there's a problem with at least one of these.
Last edited by edrich (2013-09-30 17:14:47)
What do you mean by 'reinstalled'? You need to recompile graveman.
graveman is in the AUR so you need to take care of it like any other package i.e. recompile it when a package it depends on gets a bump.
Last edited by karol (2013-09-30 16:03:55)
The point about recompiling vs. reinstalling is a fair one. By 'reinstalling' I mean that I typed:
# pacman -U graveman-0.3.12.5-5-i686.pkg.tar.xz
Graveman has not been updated since November 2010 and, not being a C programmer, I hadn't appreciated that changes to a dependency might require recompiling 'graveman' even though it hasn't changed. Anyway, to satisfy curiosity and to follow up your suggestion, I tried updating 'libmng' back to the latest version and then recompiling 'graveman'; it now works fine.
Lesson learned. Thanks for the prompt reply.
The packages from the repos are recompiled by devs and TUs when such changes happen, but you have to take care of the AUR packages by yourself.
Even though Graveman hasn't been updated upstream, you need to recompile it, so it links against the new library - libmng 2 instead of 1.
If it was a package from the repo, it would get a new release, graveman 0.3.12.5-5 -> 0.3.12.5-6. The version (0.3.12.5) doesn't change, because the graveman source hasn't changed, but it would be bumped to release 6. When running 'pacman -Syu' pacman would download the new graveman package along with new libmng package and others.