Bug 1807574 - ccls points to wrong clang resource directory
Summary: ccls points to wrong clang resource directory
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: ccls
Version: 32
Hardware: All
OS: All
unspecified
low
Target Milestone: ---
Assignee: Dan Čermák
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-02-26 16:11 UTC by Truls Asheim
Modified: 2020-07-09 21:31 UTC (History)
4 users (show)

Fixed In Version: ccls-0.20190823.5-2.fc31 ccls-0.20190823.5-2.fc30 ccls-0.20190823.6-2.fc33
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-07-09 21:31:57 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Truls Asheim 2020-02-26 16:11:21 UTC
Description of problem:
The current version of ccls in Fedora 31 assumes the clang resource directory is /lib64/clang/9.0.0 but the current version of clang in Fedora 31 is 9.0.1 and thus it's resource directory is /lib64/clang/9.0.1. 

Symlinking /lib64/clang/9.0.1 to /lib64/clang/9.0.0 solves the problem and can be used as a workaround.

More info:
https://github.com/MaskRay/ccls/wiki/Install#clang-resource-directory

Essentially, ccls should be rebuilt every time clang is upgraded on Fedora.


Version-Release number of selected component (if applicable):
0.20190823.5

How reproducible:
Every time

Steps to Reproduce:
1. Open a file in a ccls project which references a header file found in the clang resource directory (e.g. stdbool.h)
2. Note that the header file and things it defines cannot be found (e.g. bool for stdbool.h) by ccls
3. Symlink /lib64/clang/9.0.1 to /lib64/clang/9.0.0 and restart ccls
4. The header files can now be found.

Actual results:
standard header files aren't found by ccls

Expected results:
standard header files should be found by ccls

Comment 1 Fedora Update System 2020-03-15 20:24:35 UTC
FEDORA-2020-84975765f2 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-84975765f2

Comment 2 Fedora Update System 2020-03-16 14:53:31 UTC
ccls-0.20190823.5-2.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-84975765f2

Comment 3 Fedora Update System 2020-03-16 15:15:40 UTC
ccls-0.20190823.5-2.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-7a4c9cca98

Comment 4 Fedora Update System 2020-03-24 01:48:14 UTC
FEDORA-2020-84975765f2 has been pushed to the Fedora 31 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 5 Fedora Update System 2020-03-24 10:14:43 UTC
FEDORA-2020-7a4c9cca98 has been pushed to the Fedora 30 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 6 Truls Asheim 2020-05-06 12:33:29 UTC
This is a problem again with Fedora 32. The "clang" package is version 10.0, but ccls still points to /usr/lib64/clang/9.0.1 as its resource directory. ccls should be rebuilt against clang 10 or explicitly depend on the clang-9.0 package. If you can't prevent these breakages from happening, I don't think ccls should be included in the repositories.

Comment 7 Dan Čermák 2020-05-06 19:24:01 UTC
(In reply to Truls Asheim from comment #6)
> If you can't prevent these breakages from happening, I
> don't think ccls should be included in the repositories.

Thanks for the kind words, I'm currently working on a more permanent fix for Fedora 32+ (there is a workaround in place for Fedora 30 & 31). That involves changes in the clang package which are not currently implemented yet. I'll rebuild ccls as part of an update this week that should fix it.

Comment 8 Truls Asheim 2020-05-06 19:44:16 UTC
I'm sorry about the phrasing of that last sentence -- it didn't come out as intended. Great to hear that a fix is on the way and thanks for the work you put into maintaining the package. I really appreciate it!

Comment 9 Dan Čermák 2020-05-11 23:14:03 UTC
The failure on f32 should be temporarily solved by https://bodhi.fedoraproject.org/updates/FEDORA-2020-9c0f665326

Please test the update if you have the time.

Comment 10 Truls Asheim 2020-05-12 11:12:15 UTC
It works for me. Thanks a lot for the update!

Comment 11 Dan Čermák 2020-05-12 17:01:23 UTC
(In reply to Truls Asheim from comment #10)
> It works for me. Thanks a lot for the update!

If you can give the bodhi update karma, please do so, it'll reach the stable repos faster.

Comment 12 Dan Čermák 2020-07-09 21:31:57 UTC
This issue should be now solved in Rawhide and should hopefully not appear again. In case it does, please reopen this bug or create a new one.


Note You need to log in before you can comment on or make changes to this bug.