[Bug 233980] lang/smlnj: Fails to build (-m32) on poudriere on stable/12 (amd64)

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Dec 24 13:10:58 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233980

--- Comment #2 from Johannes 5 <joemann at beefree.free.de> ---
On Fri, 14 Dec 2018 04:41:42 +0000, Kubilay Kocak <koobs at FreeBSD.org> wrote:

> What is the purpose of -m32 within the globally provided CFLAGS?

Currently the SML/NJ runtime is only available as a 32-bit program.

> Does upstream support (well/intentionally) cross compiling?

The SML/NJ compiler does support generating 64-bit binaries, but they
can't be run until upstream has completed work on the 64-bit runtime as
well. Therefore ...

> Is the issue reproducible without this flag?

... this flag is still essential for making SML/NJ run on amd64.

> It appears CFLAGS (-m32) is insufficient (if supported). The failure
> is in an 'as' invocation, and (as too, at least) probably needs
> relevant flags

The missing assembler flag (--32) is indeed the problem with FreeBSD 12
on amd64. Using a seperate ASFLAGS variable in the port's Makefile and
passing it through the SML/NJ makefiles in base/runtime/objs fixes the
issue for me on 12-STABLE amd64. Please try the following patch:

        <ftp://offshore.free.de/pub/patch/smlnj.patch.20181220>
        MD5 (smlnj.patch.20181220) = a9067eb9a8b19d9ca6ff04911825ae62

This patch also updates lang/smlnj to the latest upstream version
110.84, which saves me some work compared to having a seperate fix for
the old version 110.77.

Please let me know if this patch also works for you. Then I'll give it
some more testing here (incl. 12-STABLE on i386) and suggest it to
be commited to the ports tree if all goes well.

Thanks!
Johannes

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list