svn commit: r352909 - in head: contrib/elftoolchain/nm usr.bin/nm

Ian Lepore ian at freebsd.org
Thu Oct 17 21:16:30 UTC 2019


On Thu, 2019-10-17 at 13:05 -0600, Alan Somers wrote:
> On Thu, Oct 17, 2019 at 12:48 PM Ian Lepore <ian at freebsd.org> wrote:
> 
> > On Thu, 2019-10-17 at 12:17 -0600, Alan Somers wrote:
> > > There might be something wrong with my environment:
> > > /usr/include/libcasper.h is absent.  But still, shouldn't the
> > > build
> > > be
> > > using the version from the source tree, instead of from the
> > > environment?
> > > -Alan
> > > 
> > 
> > There should be copies of libcasper.h in your objdir:
> > 
> > obj/arm.armv7/tmp/legacy/usr/include/libcasper.h
> > obj/arm.armv7/tmp/usr/include/libcasper.h
> > 
> > -- Ian
> 
> 
> Uh, I found the problem.  I had WITHOUT_CASPER=1 in
> /etc/src.conf.  So the
> problem is that nm can't build without casper.  Perhaps the #include
> should
> be guarded, as it is in usr.bin/kdump/kdump.c.  But plenty of other
> programs, like usr.bin/tail and usr.bin/wc, don't have such
> guards.  And
> looking at lib/libcasper/libcasper/Makefile, it seems as though
> libcasper.h
> should be installed regardless.  So I still need to figure out why it
> wasn't installed on my system.
> 
> -Alan

It's probably because Makefile.inc1 contains:

.if ${MK_CASPER} != "no"
_lib_casper=	lib/libcasper
.endif

so WITHOUT_CASPER means that the libcasper dir isn't even visited when
prebuilding libs.  But you need to visit that dir so that it can
install the header file (but not the lib, because MK_CASPER will be
"no").  I think lib/libcasper just needs to be unconditionally listed
as one of the prebuild libs in Makefile.inc1.

-- Ian



More information about the svn-src-all mailing list