Building from source? autopsy-4.17.0 and sleuthkit-4.10.1


Has anyone managed to build autopsy-4.17.0 and sleuthkit-4.10.1 from source under Ubuntu 20.04 please?

The short version of my problem is that the ant build of autopsy fails with the following message:

[nb-javac] warning: No processor claimed any of these annotations: java.lang.FunctionalInterface,,org.sleuthkit.autopsy.coreutils.ThreadConfined,javax.annotation.Nonnull,javax.annotation.Nullable,,,javax.annotation.concurrent.ThreadSafe,javax.annotation.concurrent.GuardedBy,,,javafx.fxml.FXML,javafx.beans.DefaultProperty,javax.annotation.concurrent.Immutable,com.sun.javafx.beans.IDProperty

[nb-javac] /home/student/Downloads/autopsy-autopsy-4.17.0/Core/src/org/sleuthkit/autopsy/coreutils/ error: cannot find symbol
[nb-javac] import com.sun.jna.Pointer;
[nb-javac] ^
[nb-javac] symbol: class Pointer
[nb-javac] location: package com.sun.jna
[nb-javac] 1 error
[nb-javac] 1 warning

My question therefore is “Are autopsy-4.17.0 and sleuthkit-4.10.1 meant to work together?”

Other information that might be relevent:

i) This is being done on a clean install of Ubuntu 20.04.
ii) I believe I have installed/compiled all the necessary dependencies.
iii) sleuthkit builds without error.
iv) JAVA_HOME, JDK_HOME and TSK_HOME are correctly set.

I assume that the message is trying to tell me that the complier simply can’t find the right class file for com.sun.jna.Pointer but despite being reasonably familiar with the java ecosystem I can’t work out where it expects the class file (presumably embedded in a .jar) to be.

Any help appreciated,


OK, I’ve managed to make some progress with this:

It seems the file jna-5.6.0.jar is missing from:


Manually placing a copy of that file in there allowed me to successfully build and run autopsy but I assume that a better fix (wasn’t he in Asterix the Gaul?) would be to find why this dependency is missing. I assume this is something to do with ivy, and I’m trying to figure out whether ivy isn’t calculating the transitive dependecies correctly or whether that dependency missed out somewhere in the build system.