Post by jake hHey everyone,
I have been having some issues building FreeBSD-current from src, on
freebsd-13 (build 1300500). It appears to stem from several files compiling
with -Werror , despite my specification in make.conf of -Wno-error . As
these files then have warnings, the make kernel exits. A log of the error
is attached.
Current version: 13.0 - STABLE, build 1300500
make.conf: CFLAGS= -Wall -Wextra -Wno-error
Attempting to update to: 14-CURRENT (Git head f8668e4)
Your use of the number from sys/sys/param.h :
#define __FreeBSD_version 1300500 /* Master, propagated to newvers */
is a bit problematical and does not identify a specific
build or a specific commit. It would be incremented
for any addition to the kernel Application Binary
Interface, for example, but is left unchanged by most
development activity.
The 1300500 number was established in:
author Glen Barber <***@FreeBSD.org> 2021-02-05 16:38:27 +0000
committer Glen Barber <***@FreeBSD.org> 2021-02-05 16:38:27 +0000
commit 3c6a89748a01869c18955d5e3bfcdf35f6705d26 (patch)
The next change to the figure was 2 months later, in:
author Konstantin Belousov <***@FreeBSD.org> 2021-04-05 03:05:44 +0000
committer Konstantin Belousov <***@FreeBSD.org> 2021-04-23 11:14:06 +0000
commit c3f97dd75a1c294c4f60f42b604ee8bcda17be09 (patch)
It was changed to be:
#define __FreeBSD_version 1300501 /* Master, propagated to newvers */
All builds of any commit on the stable/13 branch between
those use the 1300500 number. (On 2021-04-26 it was updated
again, this time to 1300502 .)
As for disabling treating things as errors . . .
"man src.conf" reports, in part,
WITHOUT_WARNS
Set this to not add warning flags to the compiler invocations.
Useful as a temporary workaround when code enters the tree which
triggers warnings in environments that differ from the original
developer.
WITHOUT_WERROR
Set this to not treat compiler warnings as errors. Useful as a
temporary workaround when working on fixing compiler warnings.
When set, warnings are still printed in the build log but do not
fail the build.
Direct manipulation of CFLAGS for this is not recommended
and various Makefile contents may override the attempt to
control CFLAGS (or part of its content).
Other difficulties with having context to provide help
. . .
You did not include the text of the specific commands in the
build that generated the output that you provided.
My recent build of main (so: 14) was as of commit 1b00608b264f .
The buildworld buildkernel sequence worked but was based on
building from an environment running based on releng/13.0's
release/13.0.0commit instead of on a stable/13 commit:
# uname -apKU
FreeBSD CA72_4c8G_ZFS 13.0-RELEASE FreeBSD 13.0-RELEASE #1 releng/13.0-n244733-ea31abc261ff-dirty: Wed Apr 28 05:45:27 PDT 2021 ***@CA72_4c8G_ZFS:/usr/obj/BUILDs/13_0R-CA72-nodbg-clang/usr/src/arm64.aarch64/sys/GENERIC-NODBG-CA72 arm64 aarch64 1300139 1300139
But I can not even tell the relationship of 1b00608b264f to
what you tried to build:
https://cgit.freebsd.org/src/log/?qt=range&q=f8668e4
reports no match for your "Git head f8668e4". Nor does:
https://github.com/freebsd/freebsd-src/commit/f8668e4
find a match.
For reference, for the main (so: 14) that I built . . .
# ~/fbsd-based-on-what-freebsd.sh
branch: main
merge-base: 1b00608b264f1fac846e571e23d8ef7134834638
merge-base: CommitDate: 2021-04-27 19:18:13 +0000
1b00608b264f (HEAD -> main, freebsd/main, freebsd/HEAD) Merge llvm commits for kernel address and memory sanitizer support
n246360 (--first-parent --count for merge-base)
and for what produced that output:
# more ~/fbsd-based-on-what-freebsd.sh
#! /bin/sh
branch="`git branch --show-current`" \
&& echo "branch: $branch" \
&& base="`git merge-base freebsd/$branch HEAD`" \
&& git log --oneline --no-color $base..HEAD \
&& base_date="`TZ=UTC git log --format=fuller --date=iso-local --no-color $base^..$base | grep CommitDate:`" \
&& echo "merge-base: $base" \
&& echo "merge-base: $base_date" \
&& git log --oneline --no-color $base^..$base \
&& echo "n`git rev-list --first-parent --count $base` (--first-parent --count for merge-base)"
When booted uname -apKU reports for the installed main build:
# uname -apKU
FreeBSD CA72_4c8G_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #0 main-n246360-1b00608b264f-dirty: Wed Apr 28 01:22:56 PDT 2021 ***@CA72_4c8G_ZFS:/usr/obj/BUILDs/main-CA72-nodbg-clang/usr/src/arm64.aarch64/sys/GENERIC-NODBG-CA72 arm64 aarch64 1400012 1400012
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)