qligier / PixelDngFixer

An application that fixes broken metadata of DNG (RAW) files generated by the Google Camera app
MIT License
8 stars 0 forks source link

Received exiftool error #8

Open jakecoppinger opened 2 years ago

jakecoppinger commented 2 years ago

I received this error on first run (macOS M1).

exiftool --help in my terminal returns a man page.

Thanks for building such an awesome app use case, I came across it on https://old.reddit.com/r/GooglePixel/comments/mtqwkr/gps_coordinates_missing_in_raw_photos/ and I'm having the same issues with raw DNGs (can't add tags or labels, missing GPS).

com.thebuzzmedia.exiftool.exceptions.ExifToolNotFoundException: java.io.IOException: Cannot run program "exiftool": error=2, No such file or directory
    at com.thebuzzmedia.exiftool.core.cache.VersionCallable.call(VersionCallable.java:96)
    at com.thebuzzmedia.exiftool.core.cache.VersionCallable.call(VersionCallable.java:38)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at com.thebuzzmedia.exiftool.core.cache.DefaultVersionCache.load(DefaultVersionCache.java:69)
    at com.thebuzzmedia.exiftool.ExifTool.<init>(ExifTool.java:339)
    at com.thebuzzmedia.exiftool.ExifToolBuilder.build(ExifToolBuilder.java:418)
    at ch.qligier.app.pixeldngfixer.exiftool.PhotoMetadataHandler.<init>(PhotoMetadataHandler.java:58)
    at ch.qligier.app.pixeldngfixer.gui.MainController$1.call(MainController.java:123)
    at ch.qligier.app.pixeldngfixer.gui.MainController$1.call(MainController.java:119)
    at javafx.concurrent.Task$TaskCallable.call(Task.java:1426)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.io.IOException: Cannot run program "exiftool": error=2, No such file or directory
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
    at com.thebuzzmedia.exiftool.process.executor.DefaultCommandExecutor.createProcess(DefaultCommandExecutor.java:95)
    at com.thebuzzmedia.exiftool.process.executor.DefaultCommandExecutor.readProcessOutput(DefaultCommandExecutor.java:68)
    at com.thebuzzmedia.exiftool.process.executor.DefaultCommandExecutor.execute(DefaultCommandExecutor.java:53)
    at com.thebuzzmedia.exiftool.core.cache.VersionCallable.call(VersionCallable.java:83)
    ... 11 more
Caused by: java.io.IOException: error=2, No such file or directory
    at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
    at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:314)
    at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:244)
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)
    ... 16 more
jakecoppinger commented 2 years ago

I'll give it a go running with the jar file rather than the .app and report back :)

jakecoppinger commented 2 years ago

Yep works with

brew install java
sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
java -jar ~/Downloads/pixel-dng-fixer-1.0.2.jar

I assume some sort of macOS sandboxing preventing it from reaching the exiftool binary may be the issue?

Once again thanks for the awesome app!

qligier commented 2 years ago

Hi Jake! Thank you for your feedback! I'm thinking about dropping the app bundles: it can't be installed on Windows because of the unrecognized certificate, I can't try it on macOS because it requires 11.6 (I need 10.15 for work) and I've no feedback for the Linux packages. Furthermore, it doesn't include the exiftool binary, so it's not really useful. I'm happy the jar works well, I hope you'll be a happy user!