I can't build DDR (ddr.jar) from source because of lack of IBM's JAR files.
I cloned OpenJ9 from GitHub.
github.com
Then I changed directory to debugtool, and executed ant's xml.
cd [OPENJ9_HOME]/debugtools/DDR_VM
$ ant -f compile_ddr.xml
Buildfile: /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/compile_ddr.xml
BUILD FAILED
/Users/koichi.sakata/code/openj9/debugtools/DDR_VM/compile_ddr.xml:62: Problem: failed to create task or type if
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
This message means that we need Ant-Contrib Tasks. So I put it in lib directory and change the xml file.
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<pathelement location="./lib/ant-contrib.jar" />
</classpath>
</taskdef>
Run ant again.
$ ant -f compile_ddr.xml
Buildfile: /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/compile_ddr.xml
clean.bin:
[delete] Deleting directory /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/output/bin
[delete] Deleting directory /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/output/findbugs
[shellscript] rmdir: output/bin/emma: No such file or directory
[shellscript] rmdir: output/bin: No such file or directory
[shellscript] rmdir: output/findbugs: No such file or directory
[shellscript] Result: 1
compile.setup:
[mkdir] Created dir: /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/output/bin
[mkdir] Created dir: /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/output/bin/j9_core
[mkdir] Created dir: /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/output/bin/j9_core_tests
[mkdir] Created dir: /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/output/findbugs
[mkdir] Created dir: /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/output/findbugs/results
[mkdir] Created dir: /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/output/findbugs/unpack
[mkdir] Created dir: /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/output/bin/emma
compile:
compile.j9_core:
compile.j9_core.minmum:
[echo] Compiling j9_core excluding vm 23/24/26/27/28/29/29_00
[echo] JAVAC ARGS:
[echo] destdir = output/bin/j9_core
[echo] src.level = 1.9
[echo] target.level = 1.9
[echo] build.compiler.java = javac
[echo] Source Paths:
[echo] - j9_core_src = ../DDR_VM/src
[echo] Classpaths :
[echo] - dtfj.jar = ../../RAS_Binaries/dtfj.jar
[echo] - dtfj-j9.jar = ../DDR_VM/lib/dtfj.j9-head.jar
[echo] - ibmjzos.jar = ../DDR_VM/lib/ibmjzos.jar
[echo] - junit.jar = ../DDR_VM/lib/junit.jar
[echo] - traceformat.jar = ../../RAS_Binaries/traceformat.jar
[javac] /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/compile_ddr.xml:209: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 368 source files to /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/output/bin/j9_core
[javac] 警告:[options] --add-exportsオプション内にモジュール名が見つかりません: com.ibm.dtfj
[javac] 警告:[options] --add-exportsオプション内にモジュール名が見つかりません: com.ibm.traceformat
[javac] /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/src/com/ibm/j9ddr/corereaders/tdump/TDumpReader.java:78: エラー: パッケージcom.ibm.jzosは存在しません
[javac] import com.ibm.jzos.ZFile;
[javac] ^
[javac] /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/src/com/ibm/j9ddr/corereaders/tdump/zebedee/dumpreader/MVSFileReader.java:33: エラー: パッケージcom.ibm.jzosは存在しません
[javac] import com.ibm.jzos.ZFile;
[javac] ^
[javac] /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/src/com/ibm/j9ddr/corereaders/tdump/zebedee/dumpreader/MVSFileReader.java:55: エラー: シンボルを見つけられません
[javac] private ZFile dataset; // dump dataset
[javac] ^
[javac] シンボル: クラス ZFile
[javac] 場所: クラス MVSFileReader
[javac] /Users/koichi.sakata/code/openj9/debugtools/DDR_VM/src/com/ibm/j9ddr/libraries/DDRLibraryAdapter.java:34: エラー: パッケージcom.ibm.dtfj.imageは存在しません
[javac] import com.ibm.dtfj.image.CorruptDataException;
[javac] ^
...
In compiling two modules, com.ibm.dtfj and com.ibm.traceformat weren't found.
<property name="dtfj.jar" value="${dtfj_interface_dir}/dtfj.jar"/>
<property name="dtfj-j9.jar" value="${j9_core_lib}/dtfj.j9-head.jar"/>
...
<property name="compilerarg.javac.addexports" value="--add-exports java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED,com.ibm.dtfj --add-exports com.ibm.dtfj/com.ibm.dtfj.utils=ALL-UNNAMED --add-exports com.ibm.dtfj/com.ibm.dtfj.utils.file=ALL-UNNAMED --add-exports com.ibm.traceformat/com.ibm.jvm.trace.format.api=ALL-UNNAMED"/>
So we need to JAR files, dtfj.jar and dtfj.j9-head.jar. dtfj is Diagnostic Tool Framework for Java which is provided by IBM. But where can I download these JAR files? I can't find them in IBM website or maven repository.