DTrace probes for python 2.7.7

Mark Johnston markj at freebsd.org
Mon Jun 9 18:28:34 UTC 2014


On Mon, Jun 9, 2014 at 2:16 PM, Sevan / Venture37 <venture37 at gmail.com> wrote:
> On 4 June 2014 20:15, Sevan / Venture37 <venture37 at gmail.com> wrote:
>> dtrace: failed to compile script Include/pydtrace.d: line 26: typedef
>> redeclared: __uint8_t
>
> On i386 the build fails differently with r266655 snapshot from 20140525
>
> “failed to compile script Include/pydtrace.d: “/usr/lib/dtrace/ip.d”
> line 2: type redeclared: struct devinfo"
>
> There is of course an inconsistent.
>
> The original error regarding the redeclaration of __uint8_t was from a
> AMD64 host running r266972.
>
> Installing the AMD64  r266655 snapshot & retrying the build results in,
>
> failed to compile script Include/pydtrace.d:
> “/usr/lib/dtrace/unistd.d”, line 135: syntax error near “csinfo_t”
>
> Can anyone shed some light on what's going on.

This is probably because the build is running dtrace -G without the
dtrace kernel modules loaded. This shouldn't be a problem, but
currently is because dtrace(1) parses the scripts in /usr/lib/dtrace
and errors out if dtrace isn't available in the kernel. Things like
"#pragma depends_on" don't work, and there seem to be bugs in the
error reporting of libdtrace; one ends up with the error messages
above.

I'd like to fix this by changing dtrace -G to not process scripts in
the libdir, but I'm not yet sure what the implications of this are. I
will ask on the dtrace-discuss list soon.

In the meantime, a somewhat unsatisfactory workaround would be to just
kldload dtraceall before starting the build.

-Mark


More information about the freebsd-dtrace mailing list