Skip to content

ExifTool 11.50 won’t launch on macOS #63111

@bdesham

Description

@bdesham

Issue description

I just upgraded nixpkgs.perlPackages.ImageExifTool from 11.49 to 11.50. When I try to run it I get this error:

$ exiftool --version
zsh: /Users/bdesham/.nix-profile/bin/exiftool: bad interpreter: /nix/store/h400cvgl5nd2a2sq6qlzzxxs26dqpj7g-perl-5.28.2/bin/perl -w -I/nix/store/h400cvgl5nd2a2sq6qlzzxxs26dqpj7g-perl-5.28.2/: exec format error

$ which exiftool
/Users/bdesham/.nix-profile/bin/exiftool

$ head -n 5 /Users/bdesham/.nix-profile/bin/exiftool
#!/nix/store/70v8qw138g1n8fipfwm8gk75mdri7qga-perl-5.28.2/bin/perl -w -I/nix/store/70v8qw138g1n8fipfwm8gk75mdri7qga-perl-5.28.2/lib/perl5/site_perl -I/nix/store/70v8qw138g1n8fipfwm8gk75mdri7qga-perl-5.28.2/lib/perl5/site_perl -I/nix/store/70v8qw138g1n8fipfwm8gk75mdri7qga-perl-5.28.2/lib/perl5/site_perl -I/nix/store/afidq126rg2mdszla89ycc2vzrcp4fd2-perl5.28.2-Image-ExifTool-11.49/lib/perl5/site_perl
#------------------------------------------------------------------------------
# File:         exiftool
#
# Description:  Read/write meta information

$ stat /nix/store/h400cvgl5nd2a2sq6qlzzxxs26dqpj7g-perl-5.28.2/bin/perl
  File: /nix/store/h400cvgl5nd2a2sq6qlzzxxs26dqpj7g-perl-5.28.2/bin/perl
  Size: 9548      	Blocks: 24         IO Block: 4096   regular file
[...]

$ stat /nix/store/70v8qw138g1n8fipfwm8gk75mdri7qga-perl-5.28.2/lib/perl5/site_perl
  File: /nix/store/70v8qw138g1n8fipfwm8gk75mdri7qga-perl-5.28.2/lib/perl5/site_perl
  Size: 96        	Blocks: 0          IO Block: 4096   directory
[...]

If I try from bash (which is not my usual shell and which isn’t set up for Nix), the message is even more gruesome:

bash-3.2$ ~/.nix-profile/bin/exiftool --version
/Users/bdesham/.nix-profile/bin/exiftool: line 12: use: command not found
/Users/bdesham/.nix-profile/bin/exiftool: line 13: require: command not found
/Users/bdesham/.nix-profile/bin/exiftool: line 15: my: command not found
/Users/bdesham/.nix-profile/bin/exiftool: line 18: my: command not found
/Users/bdesham/.nix-profile/bin/exiftool: line 19: BEGIN: command not found
/Users/bdesham/.nix-profile/bin/exiftool: line 21: syntax error near unexpected token `('
/Users/bdesham/.nix-profile/bin/exiftool: line 21: `    $exeDir = ($0 =~ /(.*)[\\\/]/) ? $1 : '.';'

If I roll back to version 11.49 the command works fine from zsh and from bash. Version 11.50 works fine for me on an Ubuntu 16.04.6 system.

Fun fact: I was the one who broke this 😳 I had tested it successfully on a different macOS system, one running Mojave. The failing system is High Sierra (10.13.6). I will try to see if I can fix this but I thought I should report the problem ASAP.

Steps to reproduce

  1. nix-env -iA nixpkgs.perlPackages.ImageExifTool
  2. exiftool --help

Technical details

  • system: "x86_64-darwin"
  • host os: Darwin 17.7.0, macOS 10.13.6
  • multi-user?: no
  • sandbox: no
  • version: nix-env (Nix) 2.2.2
  • channels(bdesham): "nixpkgs-19.09pre182717.b58ada326aa"
  • nixpkgs: /Users/bdesham/.nix-defexpr/channels/nixpkgs

Metadata

Metadata

Assignees

No one assigned

    Labels

    6.topic: darwinRunning or building packages on Darwin

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions