Hi, I''m want install Dtrace Java API for my Solaris 10 and I don''t want to download the newest version from opensolaris. But I found out that: ================================================================Please note that the Java DTrace API depends on changes to DTrace in Solaris 11. Those changes and the Java DTrace API will be backported to Solaris 10 update 4. The easiest way to get the API now is to install Solaris Express. The above source tarball does not include build instructions. When unpacked, it creates a single directory named libdtrace_jni (located in /onnv/onnv-gate/usr/src/lib in the source browser). ================================================================ does that means that I can''t install Dtrace Java API from source? or is there other way to get around it? Thanks. This message posted from opensolaris.org
Tom Erickson
2007-Feb-20 23:07 UTC
[dtrace-discuss] Re: Install Dtrace Java API from source code
You can install the Java DTrace API from source only if you have libdtrace from Solaris 11 build 30 or later. I do not have a work-around, although here''s a more detailed explanation if you''re interested: The API depends on the following structure added to usr/src/lib/libdtrace/common/dtrace.h in Solaris 11 (build 10): typedef struct dtrace_bufdata { dtrace_hdl_t *dtbda_handle; /* handle to DTrace library */ const char *dtbda_buffered; /* buffered output */ dtrace_probedata_t *dtbda_probe; /* probe data */ const dtrace_recdesc_t *dtbda_recdesc; /* record description */ const dtrace_aggdata_t *dtbda_aggdata; /* aggregation data, if agg. */ uint32_t dtbda_flags; /* flags; see above */ } dtrace_bufdata_t; The API calls dtrace_handle_buffered() and passes a pointer to a function for DTrace to call with the above structure whenever it would otherwise generate output to a file. DTrace normally sends output to stdout (although you can change that with the -o option to dtrace(1M) or by using the freopen() action). When there is a registered buffered output handler, file output is bypassed. This mechanism was added late in the development of the Java DTrace API, and unfortunately the dtbda_flags field in the above structure did not appear until build 30 and missed the backport to Solaris 10 update 2. The work to make the API function correctly without dtbda_flags is non-trivial. To use the Java DTrace API on Solaris 10, you will need to wait until update 4. Tom This message posted from opensolaris.org
Tom Erickson
2007-Feb-20 23:48 UTC
[dtrace-discuss] Re: Install Dtrace Java API from source code
Sorry that the information on the web page was unclear (I''m referring to your block quote from http://www.opensolaris.org/os/project/dtrace-chime/java_dtrace_api). I updated it just now, and I hope that spares people confusion in the future. Thanks for posting your question. Tom This message posted from opensolaris.org