Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ExifTool 11.50 won’t launch on macOS #63111

Closed
bdesham opened this issue Jun 14, 2019 · 2 comments
Closed

ExifTool 11.50 won’t launch on macOS #63111

bdesham opened this issue Jun 14, 2019 · 2 comments
Labels
6.topic: darwin Running or building packages on Darwin

Comments

@bdesham
Copy link
Contributor

bdesham commented Jun 14, 2019

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
@matthewbauer
Copy link
Member

This looks related to #2146, #35353, and #11133

@veprbl veprbl added the 6.topic: darwin Running or building packages on Darwin label Jun 15, 2019
@matthewbauer matthewbauer self-assigned this Jun 15, 2019
@matthewbauer matthewbauer removed their assignment Jun 23, 2019
@bdesham
Copy link
Contributor Author

bdesham commented Aug 10, 2019

I believe this is specifically an instance of #35353 (the shebang line is too long for macOS), not #2146 or #11133 (shebang lines can’t point to interpreted scripts on macOS).

The shebang line I’m getting is

#!/nix/store/kdhrydba180yvgwifsvqc4my23lgkjip-perl-5.28.2/bin/perl -w -I/nix/store/                     kdhrydba180yvgwifsvqc4my23lgkjip-perl-5.28.2/lib/perl5/site_perl -I/nix/store/                          kdhrydba180yvgwifsvqc4my23lgkjip-perl-5.28.2/lib/perl5/site_perl -I/nix/store/                          kdhrydba180yvgwifsvqc4my23lgkjip-perl-5.28.2/lib/perl5/site_perl -I/nix/store/                          kdhrydba180yvgwifsvqc4my23lgkjip-perl-5.28.2/lib/perl5/site_perl -I/nix/store/                          kdhrydba180yvgwifsvqc4my23lgkjip-perl-5.28.2/lib/perl5/site_perl -I/nix/store/                          a5m191w2rd87nki7plk8ja9kl5hr5f2i-perl5.28.2-Image-ExifTool-11.50/lib/perl5/site_perl

which is 558 characters. The interpreter, /nix/store/kdhrydba180yvgwifsvqc4my23lgkjip-perl-5.28.2/bin/perl, is a binary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: darwin Running or building packages on Darwin
Projects
None yet
Development

No branches or pull requests

3 participants