pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: tradcpp requires CTRACE/DTF?



On Thu, 18 Feb 2016, Greg Troxel wrote:

Setting MKCTF=no in the /etc/mk.conf file seems to have no effect, but
if I instead set it in the environment using "env MKCTF=no make" then it
works, and bsd.prog.mk no longer attempts to run ${CTFCONVERT}.

This seems like a bug.   The value of mk.conf shouldn't affect the
behavior of the running system, only systems that are built.   Arguably
bsd.prog.mk should check if ctfconvert exists, instead of some variable,
or something like that.

mk.conf gets pulled in for all builds that use share/mk as far as I
can tell.  It even gets pulled in for one of my own little programs
that uses bsd.prog.mk.

So far, tradcpp is the only package (out of more than 400 that I am
building) where MKCTF makes any difference.  Everything else (so far)
works just fine, without setting MKCTF at all.

What I found unusual was that, for tradcpp, setting MKCTF in mk.conf
didn't have effect;  for that one program, it had to be set in the
process's environment.

So this is only about packages that reach in /usr/share/mk.  I wonder if
that whole situation is a bug; packages are supposed to be isolated and
reproducible.

Yes, I have confirmed that all packages that have USE_BSD_MAKEFILE will encounter the same problem. I have filed PR pkg/50826.

We're really running into the issue where pkgsrc treats the base system
as a single thing, and has bandaids to account for variations.

I wonder if the right fix is to have packages that want mk files to get
them from a package, not the base system, sort of buildinky.

Interestingly, non-pkgsrc programs have the same issue: if the base system does not include CTF/DTRACE, then the /usr/share/mk/* makefile system needs to have MKCTF=no defined. For pkgsrc, this definition needs to happen in the environment or on the make command line (it doesn't work when defined in /etc/mk.conf)

	env MKCTF=no make ...
   or	make MKCTF=NO ...

Outside of pkgsrc, using /etc/mk.conf works in addition to the above two methods.


+------------------+--------------------------+------------------------+
| Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:      |
| (Retired)        | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com   |
| Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd.org |
+------------------+--------------------------+------------------------+


Home | Main Index | Thread Index | Old Index