-
-
Notifications
You must be signed in to change notification settings - Fork 171
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
building from source master (818c059811aba0f0b4fddab55df801b80cdbe8e4) fails due to unconditional qt5 calls and missing Qt6OpenGL links #1727
Comments
Thanks for opening your first issue here! Please try to include example files and screenshots if possible. If you're looking for support, please post on our forum: https://discuss.avogadro.cc/ |
This looks like an issue with Molequeue. We've changed to have -DBUILD_MOLEQUEUE=OFF as the default. Can you try that please? Note that Qt6 support is still unfinished. Please check with https://discuss.avogadro.cc/ for more details on the Qt6 work. |
I get the same error.
And if I run the build with
Are you sure that Or am I missing something in the configuration?
yes, I'm aware of that thanks a lot for your time |
Yes. It's a flag for the I think I understand better what you're doing. You don't have That's something that needs tweaking in the CMakeFiles - currently they expect it's installed. |
OK, I think there was a misunderstanding. I do not install the giant I only need
What I do is:
(of course, I also have all other non-openchemistry dependencies Until recently, I also used to build/install This has worked for me since 2017 (with few adjustments from time to
Regarding the In the end, what I seem to understand is that one is supposed to install the After your reply I have seen that that configurable BUILD_MOLEQUEUE I thank you very much for your time: now things are clearer I think I'll keep installing avogadrolibs and avogadro2 separately as thanks a lot |
Sorry for the comments about
I have no idea what that repository is. I guess you mean
The https://two.avogadro.cc/install/build.html
Well, that's the main problem. Your I'm less clear on the link error about |
Sorry, if I'd seen this earlier I might have been able to help out a bit, as I've got Avogadro 2 successfully building on Qt6. I made a Qt6 tracking thread on the forum, where I'll post more details on what I needed to do to get it compiling, but maybe I can also give some tips here.
Geoff is right, you need to use the From experience, it really is much easier to compile if you base your build on the main openchemistry repo. You don't have to install the "jumbo openchemistry project" – I checked recently and you only need So you don't suffer by cloning the "jumbo" repo. You don't need to do the whole recursive clone thing; basically all you need is all the CMake stuff. So just do a normal clone. That will create the directory structure with a bunch of empty folders, and then you can clone the repos for just the modules you need into the empty folders. As I said, I spent some time playing around to see what is actually essential and to build the desktop application you really only need to clone The command I use to configure cmake is: cmake -DQT_VERSION=6 -DBUILD_MOLEQUEUE=OFF -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -S ./openchemistry -B ./qt6 but I've tested and
Yep, on Qt6 you need
On Tumbleweed these are all provided by separate packages with names of the pattern The dependence on QtCore5Compat and QtOpenGLWidgets is new for Qt6, so maybe that's what tripped you up. I also found recently that I needed a patched version of
When building from the openchemistry repo, I didn't have to do any of this. It's important to have them, but for me having
We are working on eliminating the @balducci I'd really appreciate it if you'd let me know whether you can get it to build if you follow the same strategy as me, because if you can't that's really worth knowing. |
I think I had to add that to get it to compile. I guess it's only needed for the deprecated stuff that we're taking out anyway? How crucial is it to get rid of it as a dependency? |
yes, of course, sorry for the typo |
thank you very much for spending the time to post this. From your comment it looks to me that your procedure is just exactly what I'd like. I'll try it out no doubt, but not in the short period (because I'm under heavy work pressure at the moment). I'll report here as soon as I'll get some result about this. |
Avogadro version: git master
Desktop version:
Describe the bug
During build of avogadrolibs from source (git master, 818c059) the link step of
libAvogadroMoleQueue.so
fails with:Apparently,
mocs_compilation.cpp
is using qt5 calls despite me running the build with-DQT_VERSION=6
; as a workaround, I can complete the build successfully by addinglibQt6Core5Compat.so
to the link command, but maybe you want to fix themocs_compilation.cpp
source.Further on during the build, the link step of
libAvogadroQtPlugins.so
fails with:The origin of the first undefined reference error is the same as above:
obprocess.cpp
using qt5 call toQRegExp
;The
QOpenGL*
undef references are cured by addinglibQt6OpenGLWidgets.so
andlibQt6OpenGL.so
to the link command: I don't know if this is due to my configuration or it should be done in general.Configuring the build with:
thanks for your valuable work
ciao
-gabriele
The text was updated successfully, but these errors were encountered: