Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Sep 2023 00:09:48 +0000
From:      "John F Carr" <jfc@mit.edu>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        FreeBSD Mailing List <freebsd-ports@freebsd.org>, freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: Wow: Building the likes of devel/llvm16 now requires building rust first (when rust is out of date). . .
Message-ID:  <5290B318-0647-493F-8D1C-B87D4E623D73@mit.edu>
In-Reply-To: <7177D97D-8980-4222-8679-EE3091D09AB8@yahoo.com>
References:  <5620735A-FB8A-4AFE-B4E4-32D0D8D58962.ref@yahoo.com> <5620735A-FB8A-4AFE-B4E4-32D0D8D58962@yahoo.com> <839065D4-58CC-4E59-9726-205BDFC01521@mit.edu> <7177D97D-8980-4222-8679-EE3091D09AB8@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help


> On Sep 14, 2023, at 16:46, Mark Millard <marklmi@yahoo.com> wrote:
>=20
> On Sep 14, 2023, at 10:46, John F Carr <jfc@mit.edu> wrote:
>=20
>> This needs to be fixed.  One massive compiler should not depend on anoth=
er massive
>> compiler just in case something in the tool chain wants to make an HTTPS=
 request.
>> Setting DOCS=3Doff does not fix the dependency.
>>=20
>> Here is my list of stripped-down devel/llvm17 options that still require=
 rust
>>=20
>> =3D=3D=3D> The following configuration options are available for llvm17-=
17.0.0.r4:
>>    BE_AMDGPU=3Doff: AMD GPU backend (required by mesa)
>>    BE_WASM=3Doff: WebAssembly backend (required by firefox via wasi)
>>    CLANG=3Don: Build clang
>>    COMPILER_RT=3Don: Sanitizer libraries
>>    DOCS=3Doff: Build and/or install documentation
>>    EXTRAS=3Doff: Extra clang tools
>>    FLANG=3Doff: Flang FORTRAN compiler
>>    LIT=3Don: Install lit and FileCheck test tools
>>    LLD=3Don: Install lld, the LLVM linker
>>    LLDB=3Don: Install lldb, the LLVM debugger
>>    MLIR=3Don: Multi-Level Intermediate Representation
>>    OPENMP=3Doff: Install libomp, the LLVM OpenMP runtime library
>>    POLLY=3Doff: Polyhedral loop and data-locality optimizer
>>    PYCLANG=3Doff: Install python bindings to libclang
>>    STATIC_LIBS=3Doff: Install static libraries (does not effect sanitize=
rs)
>> =3D=3D=3D=3D> Options available for the single BACKENDS: you have to sel=
ect exactly one of them
>>    BE_FREEBSD=3Don: Backends for FreeBSD architectures
>>    BE_NATIVE=3Doff: Backend(s) for this architecture (AArch64 ARM)
>>    BE_STANDARD=3Doff: All non-experimental backends
>>=20
>> rust does not currently build on my system so I can not build the ports =
llvm17 or llvm-devel.
>=20
> (py39 happens to be what is in use in my context.)
>=20
> Even devel/llvm*@lite depends on py39-recommonmark
> --and that in turns leads to the sequence: py39-sphinx,
> py39-requests, py39-urllib3, py39-cryptography,
> py39-setuptools-rust, and rust. (The dependencies
> look to be basically runtime and test dependencies.)
> devel/llvm* always seems to be tied to recommonmark .
>=20
> [I'll note that recommonmark is in the process
> of being replaced upstream my myst-parser but
> that also leads down the same sphinx and later
> dependency sequence from what I can tell.]
>=20
> The system-clang builds avoid needing recommonmark
> (or the like). May be devel/llvm*'s could be updated
> to allow selecting such an avoidance? May be what
> actually uses recommonmark (or the like) could be
> separated into its own port that could optionally
> be built/installed? (Just vague ideas.)
>=20
> [Separately, just curious: Which resource limitations
> stop the building of rust in your context?]
>=20
> =3D=3D=3D
> Mark Millard
> marklmi at yahoo.com

My rust build fails with crashes that are probably not related to resource
limits.  I don't want to have to debug rust.  I am only trying to build a C=
 compiler.

>From dmesg:

pid 73093 (rustc), jid 20, uid 65534: exited on signal 11 (core dumped)
pid 17027 (rustc), jid 29, uid 65534: exited on signal 11 (core dumped)
pid 16967 (cargo), jid 29, uid 65534: exited on signal 11 (core dumped)

There are some other errors in the build logs that are not signals, such as

error: could not compile `pulldown-cmark` (lib); 29 warnings emitted

My poudriere.conf settings are

USE_TMPFS=3Ddata
TMPFS_LIMIT=3D17
MAX_MEMORY=3D23

These are not round numbers because I chose them to be somewhat bigger
than older values that were too small.

I have 3.10 as my default python version in Mk/bsd.default-versions.mk.
I don't remember why 3.10 and not 3.9.  3.11 used to not work with llvm.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5290B318-0647-493F-8D1C-B87D4E623D73>