New submission from Steve Wills: When enabling dtrace support via the --with-dtrace configure flag, build fails on FreeBSD with this message:
/usr/sbin/dtrace -o Include/pydtrace_probes.h -h -s dtrace: option requires an argument -- s Looks like line 882 of Makefile.pre.in: 882 $(DTRACE) $(DFLAGS) -o $@ -h -s $< changing this to: 882 $(DTRACE) $(DFLAGS) -o $@ -h -s $(srcdir)/Include/pydtrace.d avoids that issue. Note that bmake is being used here. After this however, another issue is encountered during linking: Python/ceval.o: In function `_PyEval_EvalFrameDefault': Python/ceval.c:(.text+0xc94): undefined reference to `__dtraceenabled_python___function__entry' Python/ceval.c:(.text+0xcdd): undefined reference to `__dtrace_python___function__entry' Python/ceval.c:(.text+0xff0): undefined reference to `__dtraceenabled_python___line' Python/ceval.c:(.text+0x109f): undefined reference to `__dtrace_python___line' Python/ceval.c:(.text+0x125e): undefined reference to `__dtraceenabled_python___line' Python/ceval.c:(.text+0x12e5): undefined reference to `__dtraceenabled_python___line' Python/ceval.c:(.text+0x1358): undefined reference to `__dtraceenabled_python___line' Python/ceval.c:(.text+0x13f2): undefined reference to `__dtraceenabled_python___line' Python/ceval.c:(.text+0x146c): undefined reference to `__dtraceenabled_python___line' Python/ceval.o:Python/ceval.c:(.text+0x14de): more undefined references to `__dtraceenabled_python___line' follow Python/ceval.o: In function `_PyEval_EvalFrameDefault': Python/ceval.c:(.text+0x87f2): undefined reference to `__dtraceenabled_python___function__return' Python/ceval.c:(.text+0x8833): undefined reference to `__dtrace_python___function__return' Modules/gcmodule.o: In function `collect': Modules/gcmodule.c:(.text+0x380): undefined reference to `__dtraceenabled_python___gc__start' Modules/gcmodule.c:(.text+0x38c): undefined reference to `__dtrace_python___gc__start' Modules/gcmodule.c:(.text+0xe1b): undefined reference to `__dtraceenabled_python___gc__done' Modules/gcmodule.c:(.text+0xe2a): undefined reference to `__dtrace_python___gc__done' which I believe is due to dtrace -G modifying Python/ceval.o and Modules/gcmodule.o. Finally, note that all calls to dtrace -G or dtrace -h on FreeBSD 11.0 should have -xnolibs added to enable use without the DTrace kernel modules loaded. Otherwise dtrace processes the /usr/lib/dtrace scripts unnecessarily, and errors out when it tries to talk to the DTrace kernel code, causing build failure in a jail. (I can provide patches, but suspect you have preferences about how the build system work that I'm not aware of, so wanted to explain before patching in ways that aren't satisfactory.) ---------- messages: 284038 nosy: swills priority: normal severity: normal status: open title: build failure when enabling dtrace on FreeBSD versions: Python 3.6 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue29077> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com