C/C++ and Objective-C analysis module installation for macOS projects
Installation is required only if you need to analyze projects written in C/C++ for masOS. A download link for the distributive is provided with the DerScanner installation instruction.
System requirements:
- Apple macOS Mojave or later
- 4-cores CPU
- 16 GB RAM
- 100 GB HDD
- root user privileges
- no Java machines or $JAVA_HOME environment variables installed
- network connection to main installation server
- installed Xcode, clang, CMake, cocoapods
- Internet access
- installed Git and/or Subversion if downloading libraries from external sources is necessary
- prepared environment for successful building of an analyzed project
Please notice that the module needs to be installed on the machine allowing for a full automated build of an analyzed project. Analysis with building is supported for Xcode and GNU CMake projects.
Installation instruction
-
Download the archive.
-
Extract the files to the desired directory, e.g. /Users/user/derscanner/.
-
Install JDK from archive with default settings.
-
In terminal, go to the directory with unpacked archive, execute
iccheck: bash iccheck.sh
script and follow the instructions.
-
Change daemon.properties settings to correct values. Check if all key values are available.
-
Check the paths correctness (change if necessary):
- queueURI main server installation address. E.g.: tcp://88.88.88.88:61616
- workDir path to temporary analyzer files directory. E.g.: /Users/user/derscanner/files/d/
- CFamilyNix.module path to analyzer executable file. E.g.: /Users/user/derscanner/iccheck/iccheck-make
- CFamily.iccheckxx path to analyzer executable file. E.g.: /Users/user/derscanner/iccheck/iccheck++
- CFamily.iccheck path to analyzer executable file. E.g.: /Users/user/derscanner/iccheck/iccheck
- CFamily.rules path to analyzer rules. E.g.: /Users/user/derscanner/iccheck/share/iccheck/assets/queries/
-
Run from terminal:
java -jar daemon.jar
.
Inside the archive you can find a plist example for service installation with launchd process hypervisor.
Update instruction
-
Check that the analyzer has no active tasks and stop its process.
-
Save a copy of the configuration file daemon.properties.
-
Rename the directory with the current version of analyzer to create a reserve copy.
-
Download the archive.
-
Extract the contents to the desired directory. Make sure the name stays the same as in previous version, e.g.: /Users/user/derscanner/.
-
In terminal, go to the directory with extracted archive, execute
iccheck: bash iccheck.sh
script, follow the instructions and install to same path.
-
If all the keys in old and new configurations match, copy the saved copy to the daemon.jar directory, to replace daemon.properties.
-
If the configurations are different, change daemon.properties settings to correct values and check the correctness of all keys.
-
Run from terminal:
java -jar daemon.jar
.
Inside the archive you can find a plist example for service installation with launchd process hypervisor.