Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Nov 2015 10:19:13 -0800
From:      "Simon J. Gerraty" <sjg@juniper.net>
To:        NGie Cooper <yaneurabeya@gmail.com>
Cc:        Bryan Drewery <bdrewery@freebsd.org>, Ed Maste <emaste@freebsd.org>, "Mark Johnston" <markj@freebsd.org>, FreeBSD CURRENT <current@freebsd.org>, <sjg@juniper.net>
Subject:   Re: Compilation failure with WITH_DTRACE_TESTS on mips/mips and powerpc/powerpc; it's trying to compile a host object on mips/powerpc because MAKEOBJDIRPREFIX is incorrect
Message-ID:  <12876.1446401953@chaos>
In-Reply-To: <5AEBE041-4AAC-49F4-BE34-C92EBD736092@gmail.com>
References:  <653F31AA-982B-4026-BEF5-F608BCFFFD3A@gmail.com> <6585.1446248620@chaos> <9192D4AA-FCF1-4841-89FD-A4E5D93C6941@gmail.com> <3957F6B6-275D-4A63-8406-A5AAECF3F131@gmail.com> <5AEBE041-4AAC-49F4-BE34-C92EBD736092@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
NGie Cooper <yaneurabeya@gmail.com> wrote:

> And here=E2=80=99s the real issue =E2=80=94 .PATH is completely broken wh=
en
> TARGET/TARGET_ARCH are specified as explicit values:

It would help if you could indicate what you think the right value
should be.
=20
> $ env MAKEOBJDIRPREFIX=3D/scratch/tmp/ngie/obj/ make buildenv TARGET=3Dpo=
werpc TARGET_ARCH=3Dpowerpc
> Entering world for powerpc:powerpc
> $ cd cddl/usr.sbin/dtrace/tests/common/json
> $ make -V.OBJDIR
> /scratch/tmp/ngie/obj//powerpc.powerpc/scratch/tmp/ngie/svn/cddl/usr.sbin=
/dtrace/tests/common/json
> $ make -VMAKEOBJDIRPREFIX
> /scratch/tmp/ngie/obj//powerpc.powerpc
> $ make depend
> (cd /scratch/tmp/ngie/svn/cddl/usr.sbin/dtrace/tests/common/json &&  DEPE=
NDFILE=3D.depend.tst.usdt.exe  NO_SUBDIR=3D1 make -f /scratch/tmp/ngie/svn/=
cddl/usr.sbin/dtrace/tests/common/json/Makefile _RECURSING_PROGS=3D  PROG=
=3Dtst.usdt.exe  depend)

If you are doing this on current (ie MAKE_VERSION=3D=3D20151020), adding -w
would be useful, since will report entering src and obj dirs.

> $ make all
> (cd /scratch/tmp/ngie/svn/cddl/usr.sbin/dtrace/tests/common/json &&  DEPE=
NDFILE=3D.depend.tst.usdt.exe  NO_SUBDIR=3D1 make -f /scratch/tmp/ngie/svn/=
cddl/usr.sbin/dtrace/tests/common/json/Makefile _RECURSING_PROGS=3D  PROG=
=3Dtst.usdt.exe )
> dtrace -C -x nolibs -G -o usdt.o -s /scratch/tmp/ngie/svn/cddl/contrib/op=
ensolaris/cmd/dtrace/test/tst/common/json/usdt.d tst.usdt.o
> dtrace: failed to link script /scratch/tmp/ngie/svn/cddl/contrib/opensola=
ris/cmd/dtrace/test/tst/common/json/usdt.d: incorrect ELF machine type for =
object file: tst.usdt.o

> Stop.
> make[2]: stopped in /scratch/tmp/ngie/svn/cddl/usr.sbin/dtrace/tests/comm=
on/json
> $ make -V.PATH

what dir do you execute that in?
I'm *guessing* cddl/usr.sbin/dtrace/tests/common/json.

It's actually quite useful when reporting/describing problems to do
everything from src eg.

make -w -C cddl/usr.sbin/dtrace/tests/common/json

leaves very little room for confusion.


> . /scratch/tmp/ngie/svn/cddl/usr.sbin/dtrace/tests/common/json /scratch/t=
mp/ngie/svn/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json

What else do you expect in .PATH?
I didn't see anything in the Makefile or ../../Makefile.inc1 to add
anything else

You may also find it useful to set MAKE_PRINT_VAR_ON_ERROR
to a list of variables - that will be reported when make dies.
eg.

MAKE_PRINT_VAR_ON_ERROR=3D".CURDIR .OBJDIR MACHINE MACHINE_ARCH .PATH"




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