Author Topic: Future versions of MacOS and Perl Exiftool  (Read 910 times)

eddy2099

  • Newbie
  • *
  • Posts: 2
Future versions of MacOS and Perl Exiftool
« on: September 04, 2019, 02:09:21 AM »
As of now, I have been bundling ExifTool within my Mac apps which did an excellent job and it is easy for my users from the Mac AppStore to use. ExifTool is an excellent comprehensive tool and as Perl is preinstalled up to Catalina, it's not going to be an issue using it at least for my users' perspective.

Quote
Scripting Language Runtimes
Deprecations
Scripting language runtimes such as Python, Ruby, and Perl are included in macOS for compatibility with legacy software. Future versions of macOS won’t include scripting language runtimes by default, and might require you to install additional packages. If your software depends on scripting languages, it’s recommended that you bundle the runtime within the app. (49764202)
Use of Python 2.7 isn’t recommended as this version is included in macOS for compatibility with legacy software. Future versions of macOS won’t include Python 2.7. Instead, it’s recommended that you run python3 from within Terminal. (51097165)

However, I understand after Catalina, Apple would not preinstall scripting languages to the MacOS and that probably means that I would need to install Perl on my Mac to use ExifTool. No problem if it is just me but this can get complicated for some users.

I am not familiar with Perl myself and I seems to have two options here. Either bundle the Perl runtimes in my App or package ExifTool as a standalone command line app (like in the Windows version). Both of which I have no clue.

I tried PP but failed as it keeps complaining about the different version of Perl.

Quote
Perl lib version (5.18.4) doesn't match executable '/var/folders/zp/nfm_cfsj7nngt6dk_pd51phc0000gn/T/parlMfEk' version (v5.18.2) at /System/Library/Perl/5.18/darwin-thread-multi-2level/Config.pm line 62.
Compilation failed in require at /System/Library/Perl/5.18/darwin-thread-multi-2level/Errno.pm line 8.
BEGIN failed--compilation aborted at /System/Library/Perl/5.18/darwin-thread-multi-2level/Errno.pm line 8.
Compilation failed in require at /System/Library/Perl/5.18/File/Temp.pm line 150.
BEGIN failed--compilation aborted at /System/Library/Perl/5.18/File/Temp.pm line 150.
Compilation failed in require at /System/Library/Perl/Extras/5.18/Archive/Zip.pm line 11.
BEGIN failed--compilation aborted at /System/Library/Perl/Extras/5.18/Archive/Zip.pm line 11.
Compilation failed in require at -e line 459.
/usr/bin/pp5.18: Failed to extract a parl from 'PAR::StrippedPARL::Static' to file '/var/folders/zp/nfm_cfsj7nngt6dk_pd51phc0000gn/T/parl6l8QxA9' at /System/Library/Perl/Extras/5.18/PAR/Packer.pm line 1152, <DATA> line 1.

I know it is probably going to be a year away before this issue becomes real but was wondering what my options are moving forward.

Thanks.

StarGeek

  • Global Moderator
  • ExifTool Freak
  • *****
  • Posts: 3512
Re: Future versions of MacOS and Perl Exiftool
« Reply #1 on: September 04, 2019, 03:22:20 AM »
Just to let you know, Phil is currently on vacation with no net access.  So it'll probably be a couple weeks before you'll get a response.  I'd suggest clicking the the "Notify" button in the upper right corner of this thread so you'll know when there's a response.
Troubleshooting hints:
* When posting, include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).
* Double all percent signs (%) in a Windows batch file.
* If your GPS coords are negative, make sure and set the GpsLatitudeRef and GpsLongitudeRef tags correctly.

eddy2099

  • Newbie
  • *
  • Posts: 2
Re: Future versions of MacOS and Perl Exiftool
« Reply #2 on: September 04, 2019, 07:25:12 PM »
Not a problem since it is not a pressing issue now but just had to get it off my chest.

Phil Harvey

  • ExifTool Author
  • Administrator
  • ExifTool Freak
  • *****
  • Posts: 16346
    • ExifTool Home Page
Re: Future versions of MacOS and Perl Exiftool
« Reply #3 on: September 27, 2019, 01:28:21 PM »
I'm not looking forward to this.  The Mac install will get much more complicated.  I will probably have to include Perl in the ExifTool MacOS package, which I really don't want to do.

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

frank

  • Newbie
  • *
  • Posts: 4
Re: Future versions of MacOS and Perl Exiftool
« Reply #4 on: March 26, 2020, 07:39:55 AM »
Hi,

I was going to ask whether the exiftool executable in /usr/local/bin already includes the whole of perl.. I assume this means it does not.

I'm shipping the exiftool perl files with my application but that might no longer be possible after WWDC 2020. So I'm starting to investigate solutions. I've found "pp" (https://metacpan.org/pod/pp), but I don't really know what I'm doing.

Do you have any words (/perls?) of wisdom for a perl newbie?

Thanks again for writing and maintaining this great utility!

Frank

Phil Harvey

  • ExifTool Author
  • Administrator
  • ExifTool Freak
  • *****
  • Posts: 16346
    • ExifTool Home Page
Re: Future versions of MacOS and Perl Exiftool
« Reply #5 on: March 26, 2020, 08:15:22 AM »
Hi Frank,

I was going to ask whether the exiftool executable in /usr/local/bin already includes the whole of perl.. I assume this means it does not.

Correct.

Quote
I'm shipping the exiftool perl files with my application but that might no longer be possible after WWDC 2020. So I'm starting to investigate solutions. I've found "pp" (https://metacpan.org/pod/pp), but I don't really know what I'm doing.

There are more security problems associated with "pp" (it runs executables from a temporary directory, which MacOS might not like).  I think a better solution would be to include a separate Perl installer that runs if Perl is not found on the system.  (Is this possible?)  I'm not looking forward to Apple dropping built-in Perl, and will probably have to deal with this myself for the ExifTool Mac installer (although I won't be able to test it because I am locked into using Mojave because I can't update all of the apps I use to 64 bit).

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