Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Sep 2019 13:25:55 +0200
From:      "O. Hartmann" <ohartmann@walstatt.org>
To:        "O. Hartmann" <ohartmann@walstatt.org>
Cc:        freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: r352239: install failure: make[10]: exec(btxld) failed (No such file or directory)
Message-ID:  <20190912132555.7126215c@freyja>
In-Reply-To: <20190912062656.7afa3816@freyja>
References:  <20190912062656.7afa3816@freyja>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 12 Sep 2019 06:27:00 +0200
"O. Hartmann" <ohartmann@walstatt.org> wrote:

> Hello,
>
> we install several pkg-based systems and poudriere from a dedicated tree=
 of
> sources, instead of /usr/src it is in our case /pool/sources/CURRENT/src=
 and
> 12-STABLE/src. Compilation of the sources is done within a JAIL!
>
> For a couple of days now, both trees, CURRENT (r352239 now) and 12-STABL=
E
> (r352239) fail at the exact same point, when compiling and further packa=
ging:
>
> [...]
> install -U -M
> /pool/sources/CURRENT/obj/pool/sources/CURRENT/src/amd64.amd64/worldstag=
e//METALOG
> -D /pool/sources/CURRENT/obj/pool/sources/CURRENT/src/amd64.amd64/worlds=
tage
> -T package=3Dutilities -d -m 0755 -o root  -g wheel
> /pool/sources/CURRENT/obj/pool/sources/CURRENT/src/amd64.amd64/worldstag=
e/boot
> objcopy -S -O binary boot2.out boot2.bin btxld -v -E 0x2000 -f bin -b
> /pool/sources/CURRENT/obj/pool/sources/CURRENT/src/amd64.amd64/stand/i38=
6/btx/btx/btx
> -l boot2.ldr  -o boot2.ld -P 1 boot2.bin make[10]: exec(btxld) failed (N=
o such
> file or directory) *** Error code 1
> [...]
>
> For reduction of the installed binaries and stuff, we use customized src=
.conf
> and each build process is delegated to its appropriate src.conf by setti=
ng the
> variabel SRCCONF accordingly; poudriere also uses the same src.conf by l=
inking
> the jailname-src.conf file into poudriere's config folder; the content o=
f
> src.conf is as follows:
>
> [...]
> WITH_OFED=3D                              YES
> #WITH_CTF=3D                              YES
> #
> #WITH_BEARSSL=3D                          YES
> #
> WITH_SVN=3D                               YES
> #
> WITH_SORT_THREADS=3D                      YES
> #
> MALLOC_PRODUCTION=3D                      YES
> #
> #WITHOUT_ASSERT_DEBUG=3D                  YES
> #WITHOUT_DEBUG_FILES=3D        YES
> #WITHOUT_TESTS=3D              YES
> WITHOUT_PROFILE=3D            YES
> #
> WITHOUT_REPRODUCIBLE_BUILD=3D     YES
> #
> #  mitigation for CVE-2017-5715 in the kernel build
> WITH_RETPOLINE=3D                         YES
>
> [...]
>
> Building poudriere jails from such sources also fails since a couple of =
days
> on all platforms with a weird message thata folder and/or file atf-check=
 is
> missing (this happens when using command sequence: poudriere jail -j jai=
lname
> -u -b and the install method of the appropriate jail is
> src=3D/path/to/source/src.
>
> Thanks for helping,
>
> oh
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.or=
g"

After today's update of CURRENT's source tree and "poudriere jail -j jailn=
ame
-u -b", which should result in a successful build, the error is:

[...]
cc -target x86_64-unknown-freebsd13.0
=2D-sysroot=3D/pool/sources/CURRENT/obj/pool/poudriere/jails/headamd64/usr=
/src/amd64.amd64/tmp
-B/pool/sources/CURRENT/obj/pool/poudriere/jails/headamd64/usr/src/amd64.a=
md64/tmp/usr/bin
 -O2 -pipe -O3      -DNDEBUG   -I.
-I/pool/poudriere/jails/headamd64/usr/src/contrib/elftoolchain/libelf
-I/pool/poudriere/jails/headamd64/usr/src/contrib/elftoolchain/common
-mretpoline -g -MD  -MF.depend.elf_update.o -MTelf_update.o -std=3Dgnu99
-Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -Werror =
-Wall
-Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
-Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-str=
ings
-Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winli=
ne
-Wnested-externs -Wredundant-decls -Wold-style-definition -Wno-pointer-sig=
n
-Wmissing-variable-declarations -Wthread-safety -Wno-empty-body
-Wno-string-plus-int -Wno-unused-const-variable  -Qunused-arguments    -c
/pool/poudriere/jails/headamd64/usr/src/contrib/elftoolchain/libelf/elf_up=
date.c
-o elf_update.o
/pool/poudriere/jails/headamd64/usr/src/contrib/elftoolchain/libelf/elf_up=
date.c:841:67:
error: unused parameter 'ex' [-Werror,-Wunused-parameter]
_libelf_write_ehdr(Elf *e, unsigned char *nf, struct _Elf_Extent *ex)
[...]

As I mentioned earlier, the build is performed within a jail considered to=
 run
poudriere and the task has been performed successful earlier (a couple of =
days
ago, but didn't memorised the revision number).

On non-jailed hosts, this task works as expected, both on 12-STABLE (recen=
t
version 12.1-PRE) and CURRENT. Also did I remove the object's path and sta=
rted
a fresh build, so  remnants from an earlier build can be excluded.
/usr/local/etc/poudriere.d/jailname-poudriere.conf has a valid setting lik=
e
this:

export   MAKEOBJDIRPREFIX=3D/pool/sources/CURRENT/obj/

Another strategy also fails. Building all the binaries under ./obj from th=
e
base host with an objetctree of a valid and successful build and then jexe=
'ing
into the poudriere jail, which has all the infrastructure on ZFS already
mounted and typing there

poudriere jail -j jailname -u

which should result in a correct and successfuil installation, fails
immediately with

install -N /pool/sources/CURRENT/src/etc  -C -o root -g wheel -m 444
libpythagoras.a /pool/poudriere/jails/headamd64/usr/tests/libexec/rtld-elf=
/
install -N /pool/sources/CURRENT/src/etc  -C -o root -g wheel -m 444
libpythagoras_p.a /pool/poudriere/jails/headamd64/usr/tests/libexec/rtld-e=
lf/
=2D-- ld_library_pathfds.install --- --- _proginstall --- ---
realinstall_subdir_libexec/rtld-elf/tests/libpythagoras --- install:
libpythagoras_p.a: No such file or directory *** [_libinstall] Error code =
71

I feel a bit lost here ... is there something special to jails?

Kind regards,

oh



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