qt: patch missing includes for 5.14#19948
Conversation
de41d70 to
318162a
Compare
sethrj
left a comment
There was a problem hiding this comment.
The includes of <{lib}.h> in C++ code are nonstandard, but I'm assuming they're needed instead of <c{lib}> because the function calls aren't scoped with std::?
Have these changes been pushed upstream to qt for integration in 5.15?
|
@angel-devicente Can you provide more information on your build configuration? Were you (like #19963) using GCC 10, and have you tried building with Qt 5.15? |
|
Hi, the stock compiler in this machine is gcc 10.2.0, but I was doing the compilation as part of the VisIt package, and using [email protected]. Right now I tried to replicate this patch by compiling qt (5.14.2) with: but it didn't succeed. It looks like it was sufficient with the constraints added by the VisIt compilation, but not otherwise. I will try to figure out why. (The error I get now, when not installing VisIt as well, is: |
|
As it turns out, in order to successfully compile qt on its own with ArchLinux I have to do: spack install [email protected]%[email protected]+opengl ldflags="-ltinfo" If I don't punt the -ltinfo flag, mesa will not compile. |
|
@angel-devicente The failure with The |
|
@angel-devicente According to the QDoc page:
Can you post the full log/error file from your strstring error? We may just want to add a new |
|
Hello, here you have the full logs when I try to install qt without opengl, just like:
|
|
@angel-devicente This confirms my suspicions -- on your build QDoc is enabled, whereas on mine (pretty vanilla rhel7) I get a message
So your build is picking up the system installation of LLVM, and it's trying to link an incompatible GCC library against it (note in your build log how the error is at I'll add (and default to OFF) a The reason your build probably works with |
Looking at the |
|
Hi @v-dobrev, OK, so here it is. The command I issued was: Cheers, |
|
Regarding the ...
WARNING: CMake: Dependency z for LLVM target LLVMSupport was not found
WARNING: CMake: Dependency rt for LLVM target LLVMSupport was not found
WARNING: CMake: Dependency dl for LLVM target LLVMSupport was not found
WARNING: CMake: Dependency tinfo for LLVM target LLVMSupport was not found
WARNING: CMake: Dependency m for LLVM target LLVMSupport was not found
...The According to https://docs.mesa3d.org/meson.html#llvm: "Due to the way LLVM implements its CMake finder it will only find static libraries, it will never find libllvm.so." Maybe this is the issue. As a workaround, we can probably tell Spack to inject the flag |
|
Hello, so I understand that now you can modify the packages for mesa and qt to workaround these issues. Is there any other test that you would like me to do? Many thanks, |
|
@angel-devicente Thanks for your patience with this MR. Can you rebase off master now that #19963 has been merged? I think instead of doing an always-on patch you can incorporate your change into the (newly created) If you want, you can also test #20078 to see if that fixes the no-opengl build on your system. I've tried to get it to skip the qtdoc which was giving you problems based on the mis-linked llvm. |
|
Hello, I tried with the latest version in develop (which includes #19963) and applied you commit for #20078. But no luck when I try to install The patch in 19963 only applies to but it still seems to be needing llvm: I will keep trying, but compiling Qt takes a lot of time... |
|
Arg, thanks @angel-devicente . Can you post the whole configure output so maybe I can try again to fix? I can't really replicate your error since I don't have any platform with a system-level LLVM installation. I forgot that your errors were with gcc 8, not 10 -- so we probably want to adjust the patch applicability back that far. Or just patch regardless since there might be other compilers that need the include. |
|
Hello, The installation command was:
And I attach the two log files. Cheers, |
|
All right @angel-devicente , I think I've fixed the llvm/qtdoc issue for real now: I tested by manually inserting llvm into my system path and making sure the qt configure ignores it now. I also bumped the patch from #19963 to apply from gcc 8 onward. |
318162a to
ec511b2
Compare
|
Hi, I have force-pushed to my forked branch (https://github.com/angel-devicente/spack/tree/qt5-14.archlinux) to reflect the necessary changes. |
ec511b2 to
0eda1bb
Compare
|
@angel-devicente excellent! Since your patch won’t break anything for other compilers, and other compiler versions might fail without it, can you remove the compiler restriction? That should be the last change 😄 |
tested only for gcc8.3.0 but should be safe for other compilers
0eda1bb to
b224895
Compare
|
ok, removed the compiler restriction. It would now apply to any qt 5.14
installation.
Many thanks
…---------------------------------------------------------------------------------------------
AVISO LEGAL: Este mensaje puede contener información confidencial y/o privilegiada. Si usted no es el destinatario final del mismo o lo ha recibido por error, por favor notifíquelo al remitente inmediatamente. Cualquier uso no autorizadas del contenido de este mensaje está estrictamente prohibida. Más información en: https://www.iac.es/es/responsabilidad-legal
DISCLAIMER: This message may contain confidential and / or privileged information. If you are not the final recipient or have received it in error, please notify the sender immediately. Any unauthorized use of the content of this message is strictly prohibited. More information: https://www.iac.es/en/disclaimer
|
tested only for gcc8.3.0 but should be safe for other compilers
Not sure if this happens with other distributions. In ArchLinux, Qt does not compile cleanly. Applying the changes in the included patch fixes it.