Undefined subroutine

Started by johnrellis, December 20, 2023, 03:03:42 PM

Previous topic - Next topic

johnrellis

I get "Undefined subroutine" with this command line:

$ exiftool -makernotes= exiftool-bug.2023.12.20.dng
Undefined subroutine &Image::ExifTool::QuickTime::WriteQuickTime called at /usr/local/bin/lib/Image/ExifTool/Writer.pl line 694.

$ exiftool -ver
12.70

Download the problem DNG:
https://www.dropbox.com/scl/fi/46620lzi2dij31bynojy6/exiftool-bug.2023.12.20.dng?rlkey=prgyixtijf0mtneu2t2ncvca4&dl=0

Tested on Mac OS 14.1.

johnrellis

Also, when I use -makernotes:all= it does what I intended. So I guess the issue is the obscure error message when I gave -makernotes=.

dwlott

Using this delete makernotes command, I get an error message, as shown below.  I was using the Oliver Betz install, which I uninstalled and reinstalled, but that didn't help.  So I uninstalled the Oliver Betz install and downloaded ExifTool from https://exiftool.org/exiftool-12.70.zip, but am still getting the same error message.  I am stumped, so I tried a reboot, but that didn't help either.
I'm using ExifTool aplenty, and everything else works great.  How can I fix the delete makernotes - undefined subroutine problem?
-MakerNotes=
E:\mySourceFolder\Ribault Bike Ride\PA110002.JPG
-o
e:\myTargetFolder\%f.%e

StarGeek

There's nothing you can do, it'll have to be fixed by Phil.

According to this post on the same subject, you could use -MakerNotes:all= in the meantime.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).

dwlott

Quote from: dwlott on December 20, 2023, 10:10:01 PMUsing this delete makernotes command, I get an error message, as shown below.  I was using the Oliver Betz install, which I uninstalled and reinstalled, but that didn't help.  So I uninstalled the Oliver Betz install and downloaded ExifTool from https://exiftool.org/exiftool-12.70.zip, but am still getting the same error message.  I am stumped, so I tried a reboot, but that didn't help either.
I'm using ExifTool aplenty, and everything else works great.  How can I fix the delete makernotes - undefined subroutine problem?
-MakerNotes=
E:\mySourceFolder\Ribault Bike Ride\PA110002.JPG
-o
e:\myTargetFolder\%f.%e

I forgot to add the error message.  Here it is:
Exiftool: Undefined subroutine &Image::ExifTool::QuickTime::WriteQuickTime called at C:\Users\dwlot\AppData\Local\Temp\par-64776c6f74\cache-exiftool-12.70\inc\lib/Image/ExifTool/Writer.pl line 694.

Phil Harvey

could you post the sample image that shows this problem?

- 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 ($).

StarGeek

I went ahead and merged these two threads as it was the same topic.

I was also able to duplicate it by copying a MakerNotes from one of my original files into my test file and had the same error.

C:\>exiftool -P -overwrite_original -TagsFromFile 2012-07-28_15.42.05.Nef -MakerNotes y:\!temp\Test4.jpg
    1 image files updated

C:\>exiftool -P -overwrite_original -MakerNotes= y:\!temp\Test4.jpg
Undefined subroutine &Image::ExifTool::QuickTime::WriteQuickTime called at C:\Users\Bryan\AppData\Local\Temp\par-626b772d4d\cache-exiftool-12.70\inc\lib/Image/ExifTool/Writer.pl line 694.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).

Phil Harvey

Ouch.  It is very unusual that I wouldn't be able to reproduce an issue like this:

> Image-ExifTool-12.70/exiftool ~/Desktop/exiftool-bug.2023.12.20.dng -makernotes= -o tmp
    1 image files created

(on MacOS 10.14.6)

:(

- 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 ($).

Phil Harvey

Does this still happen if you add -config "" at the start of the command?

- Phil

Edit:  Ah, OK.  If I add that to my command then I see the error!!
...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 ($).

Phil Harvey

I found the problem.  This bug was introduced in 12.69 with a change in the writing of makernotes as a block to CR3 images.

I'll fix this in version 12.71 which I hope to release later today.

- 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 ($).

Phil Harvey

12.71 is now available.

- 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 ($).