Undefined subroutine Image::ExifTool::SetFilePermissions

Started by chrexif, July 03, 2017, 03:10:27 PM

Previous topic - Next topic

chrexif

Hi there!

I am not sure if this is a bug or a specific problem of my setup. Anyway: I don't get any further since a couple of days and after a lot of google searches. So maybe someone here can help me out and give proper hints. I hope so.

My setup:

  • Arch linux (It gets updated regulary so I use the most recent packages)
  • exiftool -ver -> 10.20 (Warning: Library version is 10.55)
  • I use the standard command line
I only want to rename image files according to their creation dates using
exiftool '-filename<CreateDate' -d %y%m%d_%H%M%S%%-c.%%le -ext JPG -ext jpg -ext png -ext MOV -ext mp4 -ext MP4 -ext AVI -ext avi -ext 3gp -ext 3GP *.*
This command worked for a long time without any problems. (I'm sure this can be done with less text .. but I only did a "copy and paste" and a little testing).
Anyway: Some days ago it stopped to work giving the following error:
Undefined subroutine Image::ExifTool::SetFilePermissions called at /usr/share/perl5/vendor_perl/Image/ExifTool.pm line 4027

This was not the only error I got first. Before I got a kind of "wrong permisson"-error in combination with a "not found" error. I could reduce / work around these errors by removing and reinstalling the "perl-image-exiftool" package. But now I'm at the end of my abilities. I have the suspicion it's not the wonderful exiftool but perl. It makes no difference because I have no clue how to solve this.

Anybody having a hint for me where to start, where to look?

Thanks a lot!
Chris

Edit: Maybe it's something like
https://exiftool.org/forum/index.php?topic=6334.0 ?

Phil Harvey

Hi Chris,

Quote from: chrexif on July 03, 2017, 03:10:27 PM
- exiftool -ver -> 10.20 (Warning: Library version is 10.55)

This is bad.  You are running an older version of the exiftool app with a newer library.  You should delete the older version since this may cause problems.

Quote-ext JPG -ext jpg

The -ext option is case insensitive, so only one of these is necessary.

QuoteAnyway: Some days ago it stopped to work giving the following error:
Undefined subroutine Image::ExifTool::SetFilePermissions called at /usr/share/perl5/vendor_perl/Image/ExifTool.pm line 4027

Yes.  This is because you are using an older app with a new library.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

chrexif

Quote from: Phil Harvey on July 03, 2017, 09:41:17 PM
Hi Chris,
...
You should delete the older version since this may cause problems.
OK, so the exiftool is older than it's library. Since I only did a package install via pacman / yaourt I really have no clue how incompatible versions could find the way on my system.
Nor I have any clue how to delete only the tool without touching the library. Can you give me any details on the process?

Thank you very much!
Chris

Hayo Baan

I don't know pacman / yaourt, but I suggest you uninstall using the same tools you used to install. That should hopefully work. If that doesn't work you can simply remove the files manually (you need to know where they got installed then, of course...)
Hayo Baan – Photography
Web: www.hayobaan.nl

Phil Harvey

Type "which exiftool" and delete the exiftool at the location indicated.  All may be good after that if the other exiftool is in your path somewhere.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

chrexif

Quote from: Phil Harvey on July 05, 2017, 09:17:44 PM
Type "which exiftool" and delete the exiftool at the location indicated.  All may be good after that if the other exiftool is in your path somewhere.

Hi Phil,
it took a couple of weeks till I had time to follow your instructions. Anyway, you have been right.

So thanks a lot for all the help! Problem solved!

Regards,
Chris