Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Jun 2021 12:20:25 +0200
From:      Stefan Esser <se@freebsd.org>
To:        Matthew Grooms <mgrooms@shrew.net>
Cc:        stable@freebsd.org
Subject:   Re: arm64 stable/13 buildworld stops in bc
Message-ID:  <fe1a6677-0bff-200d-1511-643eb2f09a6a@freebsd.org>
In-Reply-To: <230194b7-8836-8672-a793-a7a8c6dcb146@shrew.net>
References:  <a6b652c9-43ef-c7cf-0483-15aea964b33a@shrew.net> <a47bd978-e262-8d14-153e-20921e395c06@freebsd.org> <230194b7-8836-8672-a793-a7a8c6dcb146@shrew.net>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--UvskFFFKLo30QsPTtoXIF6qBGB2Db3nOR
Content-Type: multipart/mixed; boundary="7CJZUEWVawwzS7Rc4H8XBfgpes4llX6Op";
 protected-headers="v1"
From: Stefan Esser <se@freebsd.org>
To: Matthew Grooms <mgrooms@shrew.net>
Cc: stable@freebsd.org
Message-ID: <fe1a6677-0bff-200d-1511-643eb2f09a6a@freebsd.org>
Subject: Re: arm64 stable/13 buildworld stops in bc
References: <a6b652c9-43ef-c7cf-0483-15aea964b33a@shrew.net>
 <a47bd978-e262-8d14-153e-20921e395c06@freebsd.org>
 <230194b7-8836-8672-a793-a7a8c6dcb146@shrew.net>
In-Reply-To: <230194b7-8836-8672-a793-a7a8c6dcb146@shrew.net>

--7CJZUEWVawwzS7Rc4H8XBfgpes4llX6Op
Content-Type: text/plain; charset=utf-8
Content-Language: de-DE
Content-Transfer-Encoding: quoted-printable

Am 26.06.21 um 11:18 schrieb Matthew Grooms:
> On 6/26/2021 12:20 AM, Stefan Esser wrote:
>=20
>> Am 26.06.21 um 04:30 schrieb Matthew Grooms:
>>> Hi All,
>>>
>>> I've been trying to build stable/13 kernel & world periodically for a=
rm64 and
>>> either I'm not having very much luck or it's broken more times than i=
t
>>> compiles. Is there an automated process that's checking builds for th=
at
>>> platform?
>> Hi Matthew,
>>
>> there automated CI tests for all supported platforms, and if bc had fa=
iled
>> to build there, I'd have been informed.
>>
>>> Most recently, world stops building with bc ( see below ). However, t=
hat looks
>>> like that was last touched on June 1st. Has the build really been bro=
ken since
>>> then? :/
>> Not for me ...
>>
>>> --- all_subdir_usr.bin ---
>>> /usr/src/contrib/bc/src/program.c:515:28: error: too few arguments to=
 function
>>> call, expected 3, have 2
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bc_file_puts(&vm.fou=
t, str);
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ~~~~~~~~~~~~=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^
>>> /usr/src/contrib/bc/include/file.h:81:6: note: 'bc_file_puts' declare=
d here
>>> void bc_file_puts(BcFile *restrict f, BcFlushType type, const char *s=
tr);
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^
>> This looks to me like the result of an incomplete update of the source=
s.
>>
>> History editing has been added a few releases back and the function si=
gnature
>> of bc_files_puts has been changed to take 3 instead=C2=A0 of 2 argumen=
ts.
>>
>> It looks like you got a mismatch between this header and the callers o=
f this
>> function. Specifically, line 515 mentioned in the error message above =
is line
>> 517 in up-to.date sources and reads:
>>
>> =C2=A0=C2=A0=C2=A0=C2=A0bc_file_puts(&vm.fout, bc_flush_save, str);
>>
>> Definitely 3 parameters there ...
>>
>> See https://cgit.freebsd.org/src/tree/contrib/bc/src/program.c?h=3Dsta=
ble/13#n512
>> line 517 - that's what your program.c should look like ...
>>
>>> /usr/src/contrib/bc/src/program.c:529:21: error: too few arguments to=
 function
>>> call, expected 2, have 1
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 bc_vm_putchar('\0');
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 ~~~~~~~~~~~~~=C2=A0=C2=A0=C2=A0=C2=A0 ^
>>> /usr/src/contrib/bc/include/vm.h:437:6: note: 'bc_vm_putchar' declare=
d here
>>> void bc_vm_putchar(int c, BcFlushType type);
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^
>>> /usr/src/contrib/bc/src/program.c:552:23: error: too few arguments to=
 function
>>> call, expected 2, have 1
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bc_vm_putchar('\\');
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ~~~~~~~~~~~~~=C2=A0=C2=A0=
=C2=A0=C2=A0 ^
>>> /usr/src/contrib/bc/include/vm.h:437:6: note: 'bc_vm_putchar' declare=
d here
>>> void bc_vm_putchar(int c, BcFlushType type);
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^
>>> /usr/src/contrib/bc/src/program.c:556:18: error: too few arguments to=
 function
>>> call, expected 2, have 1
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 bc_vm_putchar(c);
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 ~~~~~~~~~~~~~=C2=A0 ^
>>> /usr/src/contrib/bc/include/vm.h:437:6: note: 'bc_vm_putchar' declare=
d here
>>> void bc_vm_putchar(int c, BcFlushType type);
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^
>>> /usr/src/contrib/bc/src/program.c:601:25: error: too few arguments to=
 function
>>> call, expected 2, have 1
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 bc_file_flush(&vm.fout);
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 ~~~~~~~~~~~~~=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 ^
>>> /usr/src/contrib/bc/include/file.h:76:6: note: 'bc_file_flush' declar=
ed here
>>> void bc_file_flush(BcFile *restrict f, BcFlushType type);
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^
>>> /usr/src/contrib/bc/src/program.c:607:49: error: too few arguments to=
 function
>>> call, expected 2, have 1
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 if (inst =3D=3D BC_INST_PRINT) bc_vm_putchar('\n');
>>> ~~~~~~~~~~~~~=C2=A0=C2=A0=C2=A0=C2=A0 ^
>>> /usr/src/contrib/bc/include/vm.h:437:6: note: 'bc_vm_putchar' declare=
d here
>>> void bc_vm_putchar(int c, BcFlushType type);
>> All the other error messages do point at a mix of source files from be=
fore
>> and after introduction of the history feature, too ...
>>
>> The line numbers in your version of program.c seem to be off, compared=
 to
>> the current sources, e.g. check out lines 609 and 610 on the above giv=
en URL
>> for the correct sources that correspond to that last error message.
>>
>> Update your sources to a consistent state and your issue should be res=
olved.
>>
>> Let me know if there are any further problems with this program.
>=20
> Hi Stefan & Mark,
>=20
> I appreciate the quick response.
>=20
> That is strange. This build host didn't exist a few days ago and I star=
ted with
> a fresh git clone of stable/13.I could try to re-clone that but I'm not=
 sure
> how it could have a mix of old and new sources. I also do a git pull be=
fore
> every build attempt ...
>=20
> root@build:/usr/src # git pull
> Already up to date.
> root@build:/usr/src # git status
> On branch stable/13
> Your branch is up to date with 'origin/stable/13'.
>=20
> However, I am cross compiling aarch64 from an amd64 host which is runni=
ng the
> release branch ....
>=20
> root@build:/usr/src # freebsd-version -u
> 13.0-RELEASE-p2
>=20
> Do I need to update my amd64 build host to stable before cross compilin=
g
> aarch64? I wouldn't think that compiling sources from /usr/src would be=

> affected by release files installed on the build host.

 Hi Matthew,

that might explain it ...

But in fact, if it did, there would be an issue, since that would indicat=
e
that headers from the running system were used to build the new bc.

BUT: The error messages clearly indicate a build failure caused by a mism=
atch
between declarations in /usr/src/contrib/bc/include/ and calls in the c f=
iles.

And since all files are within /usr/src/contrib/bc/, it is apparent that =
files
in the base system do not play a role.

Please compare your sources in /usr/src/contrib/bc/ with those in the
repository (starting at the link I sent).

You could also go to that directory and perform "git log ." to get a list=

of commits that you have on your system - compare that with the log in th=
e
repository.

Anyway, I do not see that there is anything wrong in general, and I do as=
sume
it is an issue on your build system.

Not much that I could do, I'm afraid.

Regards, STefan


--7CJZUEWVawwzS7Rc4H8XBfgpes4llX6Op--

--UvskFFFKLo30QsPTtoXIF6qBGB2Db3nOR
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEo3HqZZwL7MgrcVMTR+u171r99UQFAmDW/2kFAwAAAAAACgkQR+u171r99UQ6
Jgf/RH65KNC0amArdPm1kX39i9n3bL8b4y/j4QsJK6yxqc1Yq64bPSUqTN1rNLD2EHd3pq6jN9rU
FTmUv0YftTH/usgDxu0cdeVD+bHMT98Wi0Fn3vXokM3YaFFHXL/zTRlo0YA/8paGpd45LGoOnVQj
GVTAv8lnRefCV6p99lck0ScpM4kDE8uZUUm3Dmk4K4h8z13DU54scpixxxqbgdMtpKF4nBphTWRp
zPgj/Dkf2D846f625O0EddetT1cd56DXHoTzKm+Wxu+advZYgPbtS6CNnNXnXZLmbkZwHhO1DgF6
MkSxIt/mxrQpIntb+d5jeAktRjrBwFMOnIzUsr0VAw==
=tdMg
-----END PGP SIGNATURE-----

--UvskFFFKLo30QsPTtoXIF6qBGB2Db3nOR--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?fe1a6677-0bff-200d-1511-643eb2f09a6a>