Sunday, March 22, 2026

cbmc on sparc64 (or GCC4_ARCHS?) (Re: sparc64 bulk build report)

(I sent the same message to ports@ only around February 8th,
but it was dropped, maybe my ISP's mailserver was treated as rogue.
now trying to send this again.)

I don't have sparc64 platform to test the build, but...

> Bulk build on sparc64-0a.ports.openbsd.org
>
> Started : Mon Mar 16 16:28:54 MDT 2026
> Finished: Sun Mar 22 03:25:15 MDT 2026
> Duration: 5 Days 10 hours 56 minutes
>
> Built using OpenBSD 7.9-beta (GENERIC.MP) #109: Mon Mar 16 00:06:27 MDT 2026
........
> Build failures: 105
........
> https://cranky.work/sparc64/2026-03-16/devel/cbmc.log
........

cbmc.log indicates that the building process is invoking GNU ar as "ar rcT ..."
and error.

> ar rcT big-int.a bigint-func.o bigint.o
> ar: illegal option -- T
> Usage: ar [emulation options] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] [count] archive-file file...
> ar -M [<mri-script]

the combination "rcT" means that the configuration assumes llvm-ar.
GNU ar doesn't know the modifier "T", instead we should use "--thin".

ar rc --thin ...

Or, because llvm-19 package is available on sparc64,
COMPILER should be revised to include ports-clang ?

(the current Makefile has this)
> COMPILER = base-clang ports-gcc

revising to

COMPILER = base-clang ports-clang


here is the relevant part from cbmc.log:


>>> Building on sparc64-0b under devel/cbmc
BDEPENDS = [lang/gcc/15,-libs;lang/gcc/15;devel/bison;devel/gmake;lang/gcc/15,-c++]
DIST = [devel/cbmc:cbmc-cbmc-6.7.1.tar.gz;devel/cbmc:minisat2_2.2.1.orig.tar.gz]
FULLPKGNAME = cbmc-6.7.1
RDEPENDS = [lang/gcc/15,-libs]
........
===> devel/cbmc
===> Building from scratch cbmc-6.7.1
........
===> Building for cbmc-6.7.1
# Entering big-int
gmake -C big-int
gmake[1]: Entering directory '/usr/obj/ports/cbmc-6.7.1/cbmc-cbmc-6.7.1/src/big-int'
c++ -c -MMD -MP -std=c++17 -DHAVE_MINISAT2 -Wall -O2 -pipe -o bigint-func.o bigint-func.cc
c++ -c -MMD -MP -std=c++17 -DHAVE_MINISAT2 -Wall -O2 -pipe -o bigint.o bigint.cc
ar rcT big-int.a bigint-func.o bigint.o
ar: illegal option -- T
Usage: ar [emulation options] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] [count] archive-file file...
ar -M [<mri-script]
........
gmake[1]: *** [makefile:10: big-int.a] Error 1
gmake[1]: Leaving directory '/usr/obj/ports/cbmc-6.7.1/cbmc-cbmc-6.7.1/src/big-int'
gmake: *** [Makefile:133: big-int.dir] Error 2
*** Error 2 in devel/cbmc (/usr/ports/infrastructure/mk/bsd.port.mk:3063 '/usr/obj/ports/cbmc-6.7.1/.build_done': @cd /usr/obj/ports/cbmc-6....)
*** Error 2 in devel/cbmc (/usr/ports/infrastructure/mk/bsd.port.mk:2706 'build': @lock=cbmc-6.7.1; export _LOCKS_HELD=" cbmc-6.7.1"; /us...)
===> Exiting devel/cbmc with an error
*** Error 1 in /usr/ports (infrastructure/mk/bsd.port.subdir.mk:144 'build': @: ${echo_msg:=echo}; : ${target:=build}; for i in ; do eval...)
>>> Ended at 1773744781.61
max_stuck=8.69/patch=33.24/configure=1.26/build=15.68
Error: job failed with 512 on sparc64-0b at 1773744781


-- yozo.

No comments:

Post a Comment