I was running releng/10.0 from 10-jul-2014 and dtrace was working fine.
I built/installed releng/10.1 from 07-dec-2014 and now when running "dtrace -s anyfile", even an empty file, it prints the following errors: dtrace: failed to compile script test.d: "/usr/lib/dtrace/tcp.d", line 166: operator -> cannot be applied to a forward declaration: no struct tcpcb definition is available
(same with io.d struct devstat and struct bio)

I tried a clean install of release/10.1 from the 12-nov-2014 iso file, and it works fine there. There doesn't seem to have been any changes to the branch since the release. I went through all the directories in / and /usr, making sure there are no stale config/header/lib files, and that the contents of all existing config/header files is identical to the clean version (plusminus my custom changes). I also temporarily moved the entire /usr/local tree to make sure its contents don't interfere; did not help. Finally I tried just shoving the missing system C header information into the D code, which might have worked, but after the 5th time I got tired of it.

I would like to fix this problem without doing a full system reinstall. However at this point I'm stuck. I don't know how to make the D compiler built into dtrace to print diagnostic information about the build process. I'm not even sure what exactly the compiler is trying to do - does it parse the system C headers (possibly indicating an INCLUDE path problem)? But I think I checked all the files... Maybe something went wrong during buildworld and the executable itself is broken?
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-dtrace
To unsubscribe, send any mail to "[email protected]"

Reply via email to