Building Ghidra from source
Clone the repo
git clone https://github.com/NationalSecurityAgency/ghidra.git
gradle --init-script gradle/support/fetchDependencies.gradle init
Note: After fetching the dependencies, it would be helpful to save backup of build/downloads, because it takes quite some time to download them.
This is because sometimes
gradle clean is needed when checking out to a different commit, doing so will remove the downloaded files.
This should take about 10 minutes.
Build Ghidra quickly
There are a couple of things that aren’t needed when just building Ghidra for development purposes. The following build command skips the unneeded steps.
gradle buildGhidra -x ip -x createJavadocs -x createJsondocs -x zipJavadocs -x sleighCompile
Note: Sometimes the
sleighCompile step is needed. If Ghidra complains about Sleigh related errors then this step is most likely needed.
Problem: Ghidra doesn’t run properly
If Ghidra doesn’t run properly after doing
gradle buildGhidra, running
gradle clean might get it to work.
gradle clean clears everthing, including the dependencies fetched earlier. To save time, copy build/downloads to another location, and copy it back after
gradle clean is executed.