Re: Wow: Building the likes of devel/llvm16 now requires building rust first (when rust is out of date). . .

"John F Carr" <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm,gmane.os.freebsd.devel.ports
Message-ID <[email protected]>

> On Sep 14, 2023, at 16:46, Mark Millard <[email protected]> wrote:
> 
> On Sep 14, 2023, at 10:46, John F Carr <[email protected]> wrote:
> 
>> This needs to be fixed.  One massive compiler should not depend on another massive
>> compiler just in case something in the tool chain wants to make an HTTPS request.
>> Setting DOCS=off does not fix the dependency.
>> 
>> Here is my list of stripped-down devel/llvm17 options that still require rust
>> 
>> ===> The following configuration options are available for llvm17-17.0.0.r4:
>>    BE_AMDGPU=off: AMD GPU backend (required by mesa)
>>    BE_WASM=off: WebAssembly backend (required by firefox via wasi)
>>    CLANG=on: Build clang
>>    COMPILER_RT=on: Sanitizer libraries
>>    DOCS=off: Build and/or install documentation
>>    EXTRAS=off: Extra clang tools
>>    FLANG=off: Flang FORTRAN compiler
>>    LIT=on: Install lit and FileCheck test tools
>>    LLD=on: Install lld, the LLVM linker
>>    LLDB=on: Install lldb, the LLVM debugger
>>    MLIR=on: Multi-Level Intermediate Representation
>>    OPENMP=off: Install libomp, the LLVM OpenMP runtime library
>>    POLLY=off: Polyhedral loop and data-locality optimizer
>>    PYCLANG=off: Install python bindings to libclang
>>    STATIC_LIBS=off: Install static libraries (does not effect sanitizers)
>> ====> Options available for the single BACKENDS: you have to select exactly one of them
>>    BE_FREEBSD=on: Backends for FreeBSD architectures
>>    BE_NATIVE=off: Backend(s) for this architecture (AArch64 ARM)
>>    BE_STANDARD=off: All non-experimental backends
>> 
>> rust does not currently build on my system so I can not build the ports llvm17 or llvm-devel.
> 
> (py39 happens to be what is in use in my context.)
> 
> 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 .
> 
> [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.]
> 
> 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.)
> 
> [Separately, just curious: Which resource limitations
> stop the building of rust in your context?]
> 
> ===
> 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=data
TMPFS_LIMIT=17
MAX_MEMORY=23

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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.