Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Mar 2021 13:57:12 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        Don Lewis <truckman@FreeBSD.org>
Cc:        freebsd-hackers <freebsd-hackers@freebsd.org>
Subject:   Re: problems building a release
Message-ID:  <45D8156C-8DEF-48DD-A091-09D54E84F6B4@yahoo.com>
In-Reply-To: <EF95616D-B070-424E-96C8-B00E96F392B5@yahoo.com>
References:  <tkrat.1c0426e45b0db829@FreeBSD.org> <B1EB0872-3BC4-424A-AC83-1D5184B9DA15@yahoo.com> <tkrat.1fc12827aa92db3e@FreeBSD.org> <8CE18E0A-8931-4C41-83B4-D30EEC049E6D@yahoo.com> <tkrat.4f378e8f76c23887@FreeBSD.org> <EF95616D-B070-424E-96C8-B00E96F392B5@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-Mar-13, at 13:41, Mark Millard <marklmi at yahoo.com> wrote:

>> On 2021-Mar-13, at 12:43, Don Lewis <truckman at FreeBSD.org> wrote:
>>=20
>> On 13 Mar, Mark Millard wrote:
>>> . . .
>>=20
>> Thanks.  All of this stuff is pretty confusing.
>>=20
>> If I specify MAKE_CONF in release.conf, it does affect the target =
build.
>> In particular MODULES_OVERRIDE does the right thing.
>>=20
>> It seems like there should be a way to specify a make.conf and =
src.conf
>> so that they get included in the release so that if the release is
>> installed and then world and kernel are built it reproduces itself.
>>=20
>> I did manage to unmute release.sh and make so that the build is =
verbose,
>> but the error I get when I specify TARGET and TARGET_ARCH in the
>> make.conf is still a mystery.  There doesn't seem to be a line =
buffering
>> problem hiding things, this was captured from the terminal window =
with
>> no redirections involved.
>>=20
>> =3D=3D=3D> etc (installconfig)
>> mkdir -p bootonly/usr/freebsd-dist
>> cp MANIFEST bootonly/usr/freebsd-dist
>> ln -fs /tmp/bsdinstall_etc/resolv.conf bootonly/etc/resolv.conf
>> echo sendmail_enable=3D\"NONE\" > bootonly/etc/rc.conf
>> echo hostid_enable=3D\"NO\" >> bootonly/etc/rc.conf
>> echo debug.witness.trace=3D0 >> bootonly/etc/sysctl.conf
>> echo vfs.mountroot.timeout=3D\"10\" >> bootonly/boot/loader.conf
>> echo kernels_autodetect=3D\"NO\" >> bootonly/boot/loader.conf
>> cp /usr/src/release/rc.local bootonly/etc
>> sh /usr/src/release/i386/mkisoimages.sh -b 14_0_CURRENT_i386_BO =
bootonly.iso bootonly=20
>> sh /usr/src/release/i386/make-memstick.sh disc1 memstick.img
>> Calculated size of `memstick.img.part': 624754688 bytes, 13074 inodes
>> Extent size set to 32768
>> memstick.img.part: 595.8MB (1220224 sectors) block size 32768, =
fragment size 4096
>> 	using 1 cylinder groups of 595.81MB, 19066 blks, 13952 inodes.
>> super-block backups (for fsck -b #) at:
>> 192,
>> Populating `memstick.img.part'
>> Image `memstick.img.part' complete
>> sh /usr/src/release/i386/make-memstick.sh bootonly mini-memstick.img
>> Calculated size of `mini-memstick.img.part': 237436928 bytes, 13069 =
inodes
>> Extent size set to 32768
>> mini-memstick.img.part: 226.4MB (463744 sectors) block size 32768, =
fragment size 4096
>> 	using 1 cylinder groups of 226.44MB, 7246 blks, 14592 inodes.
>> super-block backups (for fsck -b #) at:
>> 192,
>> Populating `mini-memstick.img.part'
>> Image `mini-memstick.img.part' complete
>=20
> The below notes are about what starts here:
>=20
>> make -C /usr/src/release  release-done
>> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
>> Abort trap
>> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
>> Abort trap
>> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
>> Abort trap
>> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
>> Abort trap
>> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
>> Abort trap
>> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
>> Abort trap
>> touch release
>> true
>=20
> That is interesting as this turns out to be a fairly
> simple context by the time that "make . . . release-done"
> is echoed:
>=20
> QUOTE
> release:        real-release vm-release cloudware-release
>        ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} release-done
>        true
>=20
> release-done:
>        touch release
> END QUOTE
>=20
> but by then "real-release vm-release cloudware-release"
> completed and we see the touch and true after the messages.
>=20
> So it looks like the 6 "not found" messages are from
> make's internal activities.
>=20
> It would be interesting to get a truss -f log (or some such)
> of that "${MAKE} . . . release-done" out into to a file.
> There should not be much other activity in the file generated.
> That might expose the activity producing the "not found"
> messages.
>=20
> Also interesting might be adding a "file /libexec/ld-elf.so.1"
> command line to release: or adding other such context reporting
> there, such as "uname -apKU" .
>=20
>> + eval chroot /scratch make -C /usr/src/release 'TARGET=3Di386' =
'TARGET_ARCH=3Di386' 'KERNCONF=3D"GW"' =
'__MAKE_CONF=3D/home/dl/gw-release/make.conf' =
'SRCCONF=3D/home/dl/gw-release/src.conf' 'NOPORTS=3Dyes' 'WITH_DVD=3D' =
'WITH_VMIMAGES=3D' 'WITH_CLOUDWARE=3D' 'XZ_THREADS=3D0' install =
'DESTDIR=3D/R' 'WITH_COMPRESSED_IMAGES=3D' 'WITH_COMPRESSED_VMIMAGES=3D'
>> + chroot /scratch make -C /usr/src/release 'TARGET=3Di386' =
'TARGET_ARCH=3Di386' 'KERNCONF=3DGW' =
'__MAKE_CONF=3D/home/dl/gw-release/make.conf' =
'SRCCONF=3D/home/dl/gw-release/src.conf' 'NOPORTS=3Dyes' 'WITH_DVD=3D' =
'WITH_VMIMAGES=3D' 'WITH_CLOUDWARE=3D' 'XZ_THREADS=3D0' install =
'DESTDIR=3D/R' 'WITH_COMPRESSED_IMAGES=3D' 'WITH_COMPRESSED_VMIMAGES=3D'
>> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
>> Abort trap
>> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
>> Abort trap
>> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
>> Abort trap
>> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
>> Abort trap
>> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
>> Abort trap
>> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
>> Abort trap
>=20
> QUOTE
> install:        release-install vm-install
> END QUOTE
>=20
> where the release-install: commands are listed
> later below (so after the "not found" messages).
>=20
> Again: seems to be make-internal activities that
> generate the 6 messages.
>=20
>> mkdir -p /R
>> cp -a ftp /R/
>> cp -p disc1.iso /R/FreeBSD-14.0-CURRENT-i386-disc1.iso
>> cp -p bootonly.iso /R/FreeBSD-14.0-CURRENT-i386-bootonly.iso
>> cp -p memstick.img /R/FreeBSD-14.0-CURRENT-i386-memstick.img
>> cp -p mini-memstick.img =
/R/FreeBSD-14.0-CURRENT-i386-mini-memstick.img
>> cd /R && sha512 FreeBSD-14.0-CURRENT-i386* > /R/CHECKSUM.SHA512
>> cd /R && sha256 FreeBSD-14.0-CURRENT-i386* > /R/CHECKSUM.SHA256
>> + return 0
>> + return 0
>> + umount /scratch/dev
>=20
>=20

If I gather correctly, one can force the:

ELF interpreter /libexec/ld-elf.so.1 not found, error 8
Abort trap

messages to show up on a previously working amd64 system
that has lib32 support by removing /libexec/ld-elf32.so.1
and then trying to run i386 code. (The message generation
does not track the indirection to /libexec/ld-elf32.so.1
and so references a misleading path.)

This might suggest that /libexec/ld-elf32.so.1 is
missing or corrupt in the context those 2 makes
are executing in. (Hopefully no WITHOUT_LIB32=3D usage
is explicitly involved.)

=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45D8156C-8DEF-48DD-A091-09D54E84F6B4>