Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-65762

Compiling qdoc in dev is a big pain



    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.11.0 Alpha
    • Fix Version/s: 5.12.0 Beta 1
    • Component/s: Build tools: qdoc
    • Labels:


      I've recently updated my dev branch of qt and I have big issues compiling qdoc. For the first machine I've learned (from a colleague) that I need libclang in order to compile it. So, the first issue is:

      1. No info that I need libclang.

      OK, so I wanted to install it on fedora. dnf doesn't know the "libclang", and googling didn't give me any results for "libclang". In meantime I've installed clang and many other packages with "clang" or "llvm" in its name. Still I couldn't compile it. The colleague said the ./configure should say anything about missing libclang in order to compile qdoc, however configure didn't give any info about it. So:

      2. ./configure should mention about a new dependency

      Again, the colleague pointed me to https://download.qt.io/development_releases/prebuilt/libclang/ - it's very hard to find this particular package if you don't know the direct link. So:

      3. We should mention this link in e.g. https://wiki.qt.io/Building_Qt_5_from_Git

      OK, I've downloaded the package and... what? What should I do with it? This is prebuild package, so... I don't want to copy the libs, headers and includes manually to some system location... So, again, the colleagure said I should set the LLVM_INSTALL_DIR env var. OK, I wouldn't guess its name easily. The name is misleading, taking into account I need a libclang and I need to set llvm var. So:

      4. We should descibe the LLVM_INSTALL_DIR var.

      So, finally I could compile the qdoc on one machine. I have another machine and wanted to set the same env. So, I downloaded the package, unpacked it, set the env var and... it didn't work. Moreover, the stuff from the package collides with some system libs (version mismatch) when I was trying to compile QtCreator. I had to unset the LLVM_INSTALL_DIR in order to compile creator. Still, I don't know how to set properly the env on the second machine.

      So, the new qdoc dependency is already merged to dev branch. It means much more users will have the above issues soon. I'm a bit surprised that we force the user to install a package which isn't easily accessible (e.g. through fedora dnf), so I expect this is currently a temporary situation which is going to change soon, isn't it? Anyway, it would be really cool to describe somewhere the setup process properly.

      New facts: looks like I need also "ghdl-llvm-grt" package installed - this helped in case of the second machine. So:

      5. Describe, that you need "ghdl-llvm-grt" package


          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.



              paulwicking Paul Wicking
              jkobus Jarek Kobus
              5 Vote for this issue
              20 Start watching this issue



                  Time Tracking

                  Original Estimate - Not Specified
                  Not Specified
                  Remaining Estimate - 0 minutes
                  Time Spent - 2 hours

                    Gerrit Reviews