Issue 29077: build failure when enabling dtrace on FreeBSD (original) (raw)
Issue29077
Created on 2016-12-26 19:19 by swills, last changed 2022-04-11 14:58 by admin.
Messages (4) | ||
---|---|---|
msg284038 - (view) | Author: Steve Wills (swills) | Date: 2016-12-26 19:19 |
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)(DTRACE) (DTRACE)(DFLAGS) -o @−h−s@ -h -s @−h−s< changing this to: 882 (DTRACE)(DTRACE) (DTRACE)(DFLAGS) -o @−h−s@ -h -s @−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.) | ||
msg284209 - (view) | Author: Łukasz Langa (lukasz.langa) * ![]() |
Date: 2016-12-28 23:30 |
I cannot repro as I don't have a FreeBSD environment handy. I will gladly accept a patch that makes it work with FreeBSD 11.0! I admit I tested my implementation with OS X 10.11 and Linux (SystemTap with Ubuntu). | ||
msg295239 - (view) | Author: Kubilay Kocak (koobs) ![]() |
Date: 2017-06-06 04:44 |
For what it's worth, the koobs-freebsd-current buildbot worker has DTrace enabled and can be used to build/test Python/dtrace bits Zach and I spoke recently about getting custom builds hooked up to GitHub, which I believe is now already possible, so all that's left is to determine a way to pass the appropriate extra configure argument to the build without having to create another customer builder. CC Zach accordingly | ||
msg399309 - (view) | Author: Mateusz Piotrowski (0mp) | Date: 2021-08-10 09:36 |
Patch for the FreeBSD Ports to fix the build failure: https://reviews.freebsd.org/D31489 |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:58:41 | admin | set | github: 73263 |
2021-08-10 09:36:19 | 0mp | set | messages: + |
2021-08-09 21:01:35 | 0mp | set | nosy: + 0mpversions: + Python 3.8, Python 3.9, Python 3.10 |
2017-06-06 04:44:47 | koobs | set | nosy: + koobs, zach.waremessages: + |
2017-04-21 18:12:44 | cburroughs | set | nosy: + cburroughs |
2016-12-28 23:30:03 | lukasz.langa | set | messages: + |
2016-12-26 20:09:00 | ned.deily | set | nosy: + lukasz.langacomponents: + Buildversions: + Python 3.7 |
2016-12-26 19:19:02 | swills | create |