Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 Dec 2015 17:57:35 -0800
From:      Mark Johnston <markj@FreeBSD.org>
To:        NGie Cooper <yaneurabeya@gmail.com>
Cc:        FreeBSD CURRENT <freebsd-current@freebsd.org>, Bryan Drewery <bdrewery@freebsd.org>
Subject:   Re: Build error on i386 when building
Message-ID:  <20151220015735.GA48337@charmander>
In-Reply-To: <468DF7A4-47F9-4460-A41F-226A799EA645@gmail.com>
References:  <468DF7A4-47F9-4460-A41F-226A799EA645@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Dec 19, 2015 at 05:03:51PM -0800, NGie Cooper wrote:
> Hi Mark,
> 	I ran into the following error when trying to build the dtrace tests on i386 (both with 10.2-RELEASE-p7 and 11.0-CURRENT) — have you seen this issue before?

Yes, that's because drti.o in stable/10 depends on libelf. The change
which removes the libelf dependency shouldn't be MFCed because it breaks
compatibility. When building an MFCed test suite on stable/10, you'll
need to link the test programs against libelf. When building current on
stable/10, dtrace(1) should use the drti.o from the objdir rather than
the installed base. The diff below should solve these two problems.

diff --git a/cddl/usr.sbin/dtrace/tests/dtrace.test.mk b/cddl/usr.sbin/dtrace/tests/dtrace.test.mk
index 0c528ef..dcec33a 100644
--- a/cddl/usr.sbin/dtrace/tests/dtrace.test.mk
+++ b/cddl/usr.sbin/dtrace/tests/dtrace.test.mk
@@ -30,6 +30,8 @@ SRCS.${prog}+= ${prog:S/.exe$/.c/}
 
 .if exists(${prog:S/^tst.//:S/.exe$/.d/})
 SRCS.${prog}+=	${prog:S/^tst.//:S/.exe$/.d/}
+LDADD.${prog}+= -lelf
+DPADD.${prog}+= ${LIBELF}
 .endif
 .endfor
 
diff --git a/share/mk/sys.mk b/share/mk/sys.mk
index 8fe6b68..1eeb0b9 100644
--- a/share/mk/sys.mk
+++ b/share/mk/sys.mk
@@ -128,7 +128,7 @@ CXXFLAGS	?=	${CFLAGS:N-std=*:N-Wnested-externs:N-W*-prototypes:N-Wno-pointer-sig
 PO_CXXFLAGS	?=	${CXXFLAGS}
 
 DTRACE		?=	dtrace
-DTRACEFLAGS	?=	-C -x nolibs
+DTRACEFLAGS	?=	-C -x nolibs -x libdir=${.OBJDIR}/cddl/lib/drti
 
 .if empty(.MAKEFLAGS:M-s)
 ECHO		?=	echo



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20151220015735.GA48337>