Friday, July 08, 2022

Re: [new] lang/guile3

Hello,

George Koehler <kernigh@gmail.com> wrote:
> On Fri, 01 Jul 2022 15:52:09 +0200
> Omar Polo <op@openbsd.org> wrote:
>
> > > On Fri, Jul 01, 2022 at 11:00:50AM +0200, Omar Polo wrote:
> > > > I've been keeping this into mystuff/ for too much i think. It's a port
> > > > for guile 3, or the GNU Ubiquitous Intelligent Language for Extensions.
> > > > It's a scheme dialect.
>
> lang/guile3 fails to build on powerpc. It probably has the same
> problem as guile2, with WRKSRC/prebuilt/32-bit-big-endian being wrong.
> (powerpc is the only 32-bit-big-endian arch where we build packages.)
> The build error is,
>
> gmake[2]: Entering directory '/usr/ports/pobj/guile3-3.0.8/guile-3.0.8/stage0'
> GUILE_BOOTSTRAP_STAGE=stage0 ../meta/build-env guild compile --target="powerpc-unknown-openbsd7.1" -W0 -O1 -L "/usr/ports/pobj/guile3-3.0.8/guile-3.0.8/module" -o "ice-9/eval.go" "../module/ice-9/eval.scm"
> Pre-boot error; key: wrong-type-arg, args: (#f "Wrong type to apply: ~S" (#f) (#f))Abort trap (core dumped)
> gmake[2]: *** [Makefile:2415: ice-9/eval.go] Error 134
>
> cwen@ had fixed this for lang/guile2 by removing the prebuilt files,
> remaking them on a macppc (a slow process of over 24 hours), and
> providing g2strap-2.2.7-32be.tgz of the new prebuilt files. I don't
> know how to fix guile3. I suggest to import guile3 with,
>
> # https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26854#11
> BROKEN-powerpc = stage0 abort trap, bad prebuilt/32-bit-big-endian

Unfortunately I don't have any macppc (or any other archs other than
i386 and amd64) so I can't provide a working boostrap binary :(

I've added BROKEN-powerpc as you suggest.

> > devel/autogen: ok!
> > devel/swig: ok!
> > cad/geda-gaf: ok!
> > cad/lepton-eda breaks, switched to guile 3
> > net/freetalk: ok!
> > editors/TeXmacs: ok!
> > education/drgeo: ok!
> > mail/mu,guile: breaks, switched to guile 3
> > math/graphviz: ok!
> > print/lilypond: ok!
}> > productivity/gnucash: breaks, fixed for guile 2
> > x11/gnome/aisleriot: breaks, fixed for guile 2
> > ...
> > Maybe we can switch these two (gnucash and aisleroit) to guile 3 too?
>
> I don't object if some ports depend on guile3. We will lose those
> packages on powerpc, but they will come back after someone fixes
> guile3. I might try to fix guile3 later, but not now; I have
> distractions (like trying to add powerpc64 to devel/ffcall).
>
> I built lang/guile3 on powerpc64 the slow way (about 6 hours, because
> there is no prebuilt/64-bit-big-endian). We have been building guile2
> the slow way on 64-bit-big-endian archs (powerpc64 and I guess mips64
> and sparc64).
>
> "make test" in guile3 on powerpc64 has "2 of 39 tests failed",

thanks for testing guile on powerpc64 too!

> | In unknown file:
> | 0 (getrlimit as)
> |
> | ERROR: In procedure getrlimit:
> | In procedure getrlimit: invalid rlimit resource as
> | FAIL: test-stack-overflow
> | ...
> | [same error from (getrlimit as)]
> | FAIL: test-out-of-memory

These two failure are because guile tries to read RLIMIT_AS which we
don't have. I patched it to use RLIMIT_DATA in test-out-of-memory and
RLIMIT_STACK on test-stack-overflow and now they passes too. I'll try
to upstream this patches if i don't get distracted :)

No comments:

Post a Comment