Skip to content

Commit

Permalink
update building docs, remote dependency upon POSTGRESQL_HOME_64
Browse files Browse the repository at this point in the history
  • Loading branch information
Karl Mortensen committed Apr 28, 2015
1 parent ab5a1c2 commit aa34be7
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 48 deletions.
47 changes: 12 additions & 35 deletions BUILDING.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Last Updated: 21 April 2015
Last Updated: 27 April 2015

This file outlines what it takes to build Autopsy from source.

Expand Down Expand Up @@ -35,39 +35,20 @@ to the root 64-bit JRE directory.


2) Get Sleuth Kit Setup
2a) Download and build the release version of Libewf2 (20130119 or
later). All you need is the dll file. Note that you will get a
launching error if you use libewf 1.
- http://sourceforge.net/projects/libewf/
If you want to build the 64-bit version of The Sleuth Kit, download
our 64-bit version of libewf:
- https://github.com/sleuthkit/libewf_64bit

2b) Set LIBEWF_HOME environment variable to root directory of LIBEWF

2c) Download and install PostgreSQL 9.4 or above. The official releases are
from: http://www.postgresql.org/download/

2d) Set the POSTGRESQL_HOME_64 environment variable to point to the
PostgreSQL folder containing, but not including, the bin folder.
Example: POSTGRESQL_HOME_64=C:\Program Files\PostgreSQL\9.4

2d) Download and build a Release version of Sleuth Kit (TSK) 4.0. See
2a) Download and build a Release version of Sleuth Kit (TSK) 4.0. See
win32\BUILDING.txt in the TSK package for more information. You need to
build the tsk_jni project. Select the Debug_PostgreSQL x64 or
Release_PostgreSQL x64 target. You can use a released version or download
the latest from github:
build the tsk_jni project. Select the Release_PostgreSQL x64 target. You can
use a released version or download the latest from github:
- git://github.com/sleuthkit/sleuthkit.git

2e) Build the TSK JAR file by typing 'ant PostgreSQL' in bindings/java in the
2b) Build the TSK JAR file by typing 'ant PostgreSQL' in bindings/java in the
TSK source code folder from a command line. Note it is case sensitive. You
can also add the code to a NetBeans project and build it from there,
selecting the PostgreSQL target. For TSK, the default is SQLite, which is
not enough for Autopsy. You must use the PostgreSQL target.
selecting the PostgreSQL target.

2f) Set TSK_HOME environment variable to the root directory of TSK
2c) Set TSK_HOME environment variable to the root directory of TSK

2g) On Non-Windows systems, you will need to do a 'make install'
2d) On Non-Windows systems, you will need to do a 'make install'
from the TSK root directory to install the libraries and such in
the needed places (i.e. '/usr/local').

Expand Down Expand Up @@ -98,7 +79,6 @@ and by submitting pull requests to the main Autopsy repository.
5) Compile Autopsy
5a) using Netbeans IDE:
- Start NetBeans IDE and open the Autopsy project.
- To build Autopsy, PostgreSQL is required to be installed.
- Choose to build the Autopsy project / module. It is the highest level project
that will cause the other modules to be compiled.

Expand All @@ -115,16 +95,13 @@ Here are some notes to shed some light on what is going on during
the build process.

- The Sleuth Kit Java datamodel JAR file has native JNI libraries
that are copied into it. These JNI libraries have dependencies on
libewf and zlib. If you are using PostgreSQL, the dependencies are on libewf,
zlib, libpq, libintl-8, libeay32, and ssleay32 DLL files. On non-Windows
that are copied into it. These JNI libraries have dependencies on
libewf, zlib, libpq, libintl-8, libeay32, and ssleay32 DLL files. On non-Windows
platforms, the JNI library also has a dependency on libtsk (on Windows,
it is compiled into libtsk_jni).

- NetBeans uses ant to build Autopsy. The build target copies the
TSK datamodel JAR file into the project. If you want to use the
debug version of the TSK dll, then there is a different ant target
in the TSK datamodel to copy the debug versions of the dlls.
- NetBeans uses ant to build Autopsy. The build target copies the
TSK datamodel JAR file into the project.

- On a Windows system, the compile-time ant target copies the
dependency libraries into the Autopsy code structure so that they can
Expand Down
2 changes: 1 addition & 1 deletion build-windows.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@

<property name="win64.TskLib.path" value="${env.TSK_HOME}/win32/x64/Release"/>
<property name="win32.TskLib.path" value="${env.TSK_HOME}/win32/Release" />
<property name="win64.TskLib.postgres_path" value="${env.POSTGRESQL_HOME_64}/bin"/>
<property name="win64.TskLib.postgres_path" value="${env.TSK_HOME}/win32/x64/Release"/>
<available property="win64.TskLib.exists" type="dir" file="${win64.TskLib.path}" />
<available property="win32.TskLib.exists" type="dir" file="${win32.TskLib.path}" />
<available property="win64.TskLib_postgres.exists" type="dir" file="{win64.TskLib.postgres_path}" />
Expand Down
14 changes: 2 additions & 12 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,17 +47,7 @@
<fail unless="tskFound" message="TSK_HOME must be set as an environment variable."/>
<echo> TSK_HOME: ${env.TSK_HOME}</echo>
</target>

<!-- Verify that the POSTGRESQL_HOME_64 env variable is set -->
<target name="findPostgresHome64">
<property environment="env"/>
<condition property="postgresFound">
<isset property="env.POSTGRESQL_HOME_64"/>
</condition>
<fail unless="postgresFound" message="POSTGRESQL_HOME_64 must be set as an environment variable."/>
<echo> POSTGRESQL_HOME_64: ${env.POSTGRESQL_HOME_64}</echo>
</target>


<!-- This target will create a custom ZIP file for us. It first uses the general
ZIP target and then opens it up and adds in any files that we want. This is where we customize the
version number. -->
Expand Down Expand Up @@ -173,7 +163,7 @@
</target>

<!-- override build to add branding -->
<target name="build" depends="findPostgresHome64, build-brand,suite.build" description="Compiles autopsy and produces a basic branded build that can run on a dev. system" />
<target name="build" depends="build-brand,suite.build" description="Compiles autopsy and produces a basic branded build that can run on a dev system" />

<target name="build-brand" depends="-init">

Expand Down

0 comments on commit aa34be7

Please sign in to comment.