Created attachment 167203 [details] synth postgresql95-server build log postgresql95-server port builds fine with DTrace enabled under portmaster, but fails with synth. Synth log attached. Version: 10.2-RELEASE-p9 DTrace kmod loaded on boot.
postgresql95-server also builds correctly under poudriere with DTrace enabled as well. Please let me know if you need further information. Thank you. =)
i don't know much about dtrace. did you try "kldload dtraceall" first?
Yes, the modules are loaded at boot with dtraceall_load="YES" and working. Here's some output for proof. [0]lacey@talizorah:~$ sudo dtrace -l | wc -l 65453 [0]lacey@talizorah:~$ kldstat | grep dtraceall 40 1 0xffffffff82adf000 2188 dtraceall.ko [0]lacey@talizorah:~$ From your documentation, it looks like Synth is building within a jail. I'm taking a guess that because of that, the build process can't get at anything in /dev/dtrace which is needed to build dtrace support.
it's not a jail (it's a chroot) but /dev/dtrace doesn't exist I'm fairly sure.
I checked with "test" command with ENTERAFTER=configure set in environment (on another port) and confirmed that /dev/dtrace does exist in jail, so that's not the issue.
based on some google searches, there's a chance that /boot is required to be exposed in builder environment (freebsd-only requirement). I'll test with that implemented and report back.
with the following change, synth will build postgresql95-server with dtrace options assuming dtrace is loaded in the kernel: https://github.com/jrmarino/synth/commit/fa953d5d9f80bbf1102bd07dcb521614904c6245 It will be available on the next release (probably 1.03 rather than 1.10 as I've got another couple of fixes already)
That is awesome! Thank you! I look forward to trying this out.
A commit references this bug: Author: marino Date: Mon Feb 29 19:44:42 UTC 2016 New revision: 409824 URL: https://svnweb.freebsd.org/changeset/ports/409824 Log: ports-mgmt/synth: Upgrade version 1.02 => 1.03 bug fixes: * cron operation fixed The terminal is unset for cron jobs. The setting of TERM to "cons25" in the environment caused a failure, but it's fixed by changing the value to "dumb". Note that curses must be off in the profile invoked by cron. * dtrace building fixed [1] On FreeBSD, /boot is now read-only null-mounted if it exists in the profile's system root. This fixes building dtrace probes when the option is set. * fix muted pipe exit status Pipes have to be read even when no output is expected in order to get the correct exit status * fix pipe child exit status The previous implementation mixed child and parent exit statuses in error; now they are isolated and returned correctly. Enhancement: If a muted pipe command fails, an appropriate error message is given including which command failed. This helps identify the real error instead of repercussions appearing later which mask the problem. PR: 207361 [1] Changes: head/ports-mgmt/synth/Makefile head/ports-mgmt/synth/distinfo