Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deb packages create invalid symlink for /usr/lib/clang/16/* #61550

Closed
fodinabor opened this issue Mar 20, 2023 · 2 comments
Closed

Deb packages create invalid symlink for /usr/lib/clang/16/* #61550

fodinabor opened this issue Mar 20, 2023 · 2 comments

Comments

@fodinabor
Copy link
Contributor

As can be seen in our CI LLVM deb packages only install /usr/lib/llvm-16/lib/clang/16 but still link to the /usr/lib/llvm-16/lib/clang/16.0.0/(include|lib) from /usr/lib/clang/(16|16.0.0)/(include|lib).
To fix this: either fix the symlinks in /usr/lib/clang or (re-)add a symlink from /usr/lib/llvm-16/lib/clang/16.0.0 to /usr/lib/llvm-16/lib/clang/16. (or likely copy the files to 16.0.0 and symlink from 16 to 16.0.0?)

The important bits from the CI:

/usr/lib/clang
├── 16
│   ├── include -> ../../llvm-16/lib/clang/16.0.0/include
│   └── lib -> ../../llvm-16/lib/clang/16.0.0/lib
└── 16.0.0
    ├── include -> ../../llvm-16/lib/clang/16.0.0/include
    └── lib -> ../../llvm-16/lib/clang/16.0.0/lib

But there's only
/usr/lib/llvm-16/lib/clang/16.

cc @sylvestre

@sylvestre
Copy link
Collaborator

I think it is now fixed

@spt29
Copy link

spt29 commented Aug 14, 2023

Just out of curiosity: Which commit exactly fixed that problem? I've just ran into it with the official clang-16 packages from Ubuntu 23.04 (lunar). The less intrusive fix for users is probably:

( cd /usr/lib/llvm-16/lib/clang && ln -s 16 16.0.0 )

Correct?

CheckmkCI pushed a commit to Checkmk/checkmk that referenced this issue Aug 17, 2023
Version 17 has only release candidates so far, and IWYU has no tag for it
yet, so let's be conservative and wait for a release. Related changes:

* Use IWYU's mappings from the clang_16 branch.

* Add a workaround for llvm/llvm-project#61550,
  i.e. fix an incorrect symlink in the clang-16-related packages.  This has
  already been fixed upstream, but the Ubuntu packages are lagging behind.

* Various IWYU fixes and cleanups: We are down to only 10 pragmas for
  IWYU/mapping bugs now, plus 2 necessary pragmas to declare exports.
  Coupling has been reduced quite a bit.

* Recalculated asio IWYU mappings.

Change-Id: Icc77e7929bcf15c7fd28b26d705ffa39f42c89fa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants