On 6/26/2021 12:20 AM, Stefan Esser wrote:

Am 26.06.21 um 04:30 schrieb Matthew Grooms:
Hi All,

I've been trying to build stable/13 kernel & world periodically for arm64 and
either I'm not having very much luck or it's broken more times than it
compiles. Is there an automated process that's checking builds for that 
platform?
Hi Matthew,

there automated CI tests for all supported platforms, and if bc had failed
to build there, I'd have been informed.

Most recently, world stops building with bc ( see below ). However, that looks
like that was last touched on June 1st. Has the build really been broken 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
         bc_file_puts(&vm.fout, str);
         ~~~~~~~~~~~~              ^
/usr/src/contrib/bc/include/file.h:81:6: note: 'bc_file_puts' declared here
void bc_file_puts(BcFile *restrict f, BcFlushType type, const char *str);
      ^
This looks to me like the result of an incomplete update of the sources.

History editing has been added a few releases back and the function signature
of bc_files_puts has been changed to take 3 instead  of 2 arguments.

It looks like you got a mismatch between this header and the callers of this
function. Specifically, line 515 mentioned in the error message above is line
517 in up-to.date sources and reads:

        bc_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=stable/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
                 bc_vm_putchar('\0');
                 ~~~~~~~~~~~~~     ^
/usr/src/contrib/bc/include/vm.h:437:6: note: 'bc_vm_putchar' declared here
void bc_vm_putchar(int c, BcFlushType type);
      ^
/usr/src/contrib/bc/src/program.c:552:23: error: too few arguments to function
call, expected 2, have 1
                                 bc_vm_putchar('\\');
                                 ~~~~~~~~~~~~~     ^
/usr/src/contrib/bc/include/vm.h:437:6: note: 'bc_vm_putchar' declared here
void bc_vm_putchar(int c, BcFlushType type);
      ^
/usr/src/contrib/bc/src/program.c:556:18: error: too few arguments to function
call, expected 2, have 1
                 bc_vm_putchar(c);
                 ~~~~~~~~~~~~~  ^
/usr/src/contrib/bc/include/vm.h:437:6: note: 'bc_vm_putchar' declared here
void bc_vm_putchar(int c, BcFlushType type);
      ^
/usr/src/contrib/bc/src/program.c:601:25: error: too few arguments to function
call, expected 2, have 1
                 bc_file_flush(&vm.fout);
                 ~~~~~~~~~~~~~         ^
/usr/src/contrib/bc/include/file.h:76:6: note: 'bc_file_flush' declared here
void bc_file_flush(BcFile *restrict f, BcFlushType type);
      ^
/usr/src/contrib/bc/src/program.c:607:49: error: too few arguments to function
call, expected 2, have 1
                         if (inst == BC_INST_PRINT) bc_vm_putchar('\n');
~~~~~~~~~~~~~     ^
/usr/src/contrib/bc/include/vm.h:437:6: note: 'bc_vm_putchar' declared here
void bc_vm_putchar(int c, BcFlushType type);
All the other error messages do point at a mix of source files from before
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 given URL
for the correct sources that correspond to that last error message.

Update your sources to a consistent state and your issue should be resolved.

Let me know if there are any further problems with this program.

Hi Stefan & Mark,

I appreciate the quick response.

That is strange. This build host didn't exist a few days ago and I started 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 before every build attempt ...

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'.

However, I am cross compiling aarch64 from an amd64 host which is running the release branch ....

root@build:/usr/src # freebsd-version -u
13.0-RELEASE-p2

Do I need to update my amd64 build host to stable before cross compiling aarch64? I wouldn't think that compiling sources from /usr/src would be affected by release files installed on the build host.

Thanks,

-Matthew


Reply via email to