Opened 2 years ago

Closed 20 months ago

#66226 closed defect (wontfix)

clang-15: Too many clang dependencies

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.8.0
Keywords: Cc: cjones051073 (Chris Jones)
Port: clang-15

Description

On Yosemite at least, clang-15 depends on llvm-15 and clang-13, which depends on llvm-13 and clang-11, which depends on llvm-11 and clang-9.0, which depends on llvm-9.0. That's too many compilers to ask a user to install (or, worse, compile) just to install one port that requires clang-15 (rust, in this case).

Change History (5)

comment:1 Changed 2 years ago by cjones051073 (Chris Jones)

I am afraid but this bootstrapping on older systems is inevitable. clang 15 cannot be built with clang 11, its too old, which is why clang 13 is used. clang 13 in turn needs clang 11 to be built. I see no obvious way out of this.

Last edited 2 years ago by cjones051073 (Chris Jones) (previous) (diff)

comment:2 Changed 2 years ago by cjones051073 (Chris Jones)

Just to add, the depending on clang 13 from clang 15 (should be) a build dep only. So it is not correct that a user installing the clang 15 binary tarballs needs to install clang 13 as well. Only users building from source would need this, so the majority of users, which I presume will be using the binary tarballs, will not have to install clang-13 at all.

Last edited 2 years ago by cjones051073 (Chris Jones) (previous) (diff)

comment:3 Changed 2 years ago by cjones051073 (Chris Jones)

Cc: cjones051073 added

comment:4 Changed 2 years ago by kencu (Ken)

clang11-bootstrap was supposed to be a partial solution to all these deps, building with minimal deps and then bootstrapping the new toolchain from a newer base.

I don’t know if it can build clang-14… maybe… but should build clang-13 without trouble.

Last edited 2 years ago by kencu (Ken) (previous) (diff)

comment:5 Changed 20 months ago by cjones051073 (Chris Jones)

Resolution: wontfix
Status: newclosed

Closing this, as the current behaviour is intentional and for the majority of users is invisible as its only a build dep.

Note: See TracTickets for help on using tickets.