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

Qt5.15.13 #236

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open

Qt5.15.13 #236

wants to merge 9 commits into from

Conversation

adrianinsaval
Copy link

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

@conda-forge-webservices
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@adrianinsaval
Copy link
Author

continuation of #219

@adrianinsaval adrianinsaval changed the title Qt5.12 Qt5.15.12 Mar 5, 2024
@adrianinsaval
Copy link
Author

download of source code gets stalled :(

@adrianinsaval
Copy link
Author

travis ci cancels out during source download, what can I do about it?

@hmaarrfk
Copy link
Contributor

Hey sorry for not responding. I thought a bot had opened this due to an auto-upgrade path.

Truthfully, I am not sure this is desirable from an conda-forge ecosystem perspective.

The reason is that qtwebengine today cannot be built out easily for mac and windows.
conda-forge/qt-webengine-feedstock#38

if you derisk qt5webengine, then we can start this upgrade.

The last migrations of qt5webengine have avoided dependencies on mac and windows, so they have been able to move forward, but having this package would create the following confusion for the solver:

  1. I want the latest version of so many packages, but i can't find qtwebengine.
  2. I can install old versions with qtwebengine.

We might be able to use the large machines donated by quantsight.

@adrianinsaval
Copy link
Author

I am interested in having qt5webengine updated too. Qt has just released 5.15.13 though so we should aim for that I think. What can I do to help with that?

@hmaarrfk
Copy link
Contributor

Yes. I would aim for lates version today.

We can download the manual artifacts from azure here. And upload to our own private channels while we derisk the build system.

The general problem with our CIs is that an error will occur at hour 16/17 and we simply can’t detect it unless we get a successful build.

@adrianinsaval
Copy link
Author

We can download the manual artifacts from azure here. And upload to our own private channels while we derisk the build system.

Sorry I don't quite get what you mean here. Could you be a little more specific about what's the process here?

I have available an x86_64 Linux/windows machine and arm64 macOS machine where I can try to build locally, I can use docker on the mac to build linux_aarch64 too I think. I don't have native ppc64 but maybe it can be emulated or cross compiled?

@hmaarrfk
Copy link
Contributor

The parameter you want to specify is store_build_artifacts

https://github.com/conda-forge/conda-forge.github.io/blob/575274e8675a35c90d80967a92c748c8a5121551/docs/maintainer/conda_forge_yml.md?plain=1#L90

Then you can:

  1. Download the artifact for linux, windows, osx
  2. Upload them to your personal channel.
  3. For qtwebengine
  4. Add your channel to the CIs during initial development with channel_sources: https://github.com/conda-forge/conda-forge.github.io/blob/575274e8675a35c90d80967a92c748c8a5121551/docs/maintainer/conda_forge_yml.md?plain=1#L250
  5. Get the builds to work.

It will take a while to get step 5 to work, but with your perseverance, others will come in and help!

@hmaarrfk
Copy link
Contributor

For emulation, you need to install qemu-user-static on your linux box, then you can build whatever linux platform

It takes approximately 6x longer to emulate. So not recommended until the very end.

@adrianinsaval
Copy link
Author

@conda-forge-admin, please rerender

@adrianinsaval
Copy link
Author

The parameter you want to specify is store_build_artifacts

it doesn't look like that's possible for travis though, guess I'll need to build qt-main aarch64 locally?

@hmaarrfk
Copy link
Contributor

it doesn't look like that's possible for travis though, guess I'll need to build qt-main aarch64 locally?

Yeah, but i have hope for this one. I can build it too and upload it.

oddly, x86 targets older Centos by default, so you will have more challenges there.

@hmaarrfk
Copy link
Contributor

Out of curiosity, what is stopping you from moving to qt6 today?

@adrianinsaval
Copy link
Author

Out of curiosity, what is stopping you from moving to qt6 today?

My goal in the end is to build and ship freecad/ondsel-es to users and it doesn't seem to be ready for qt6 yet. I compiled on linux with qt6 and the experience was still very buggy. Hopefully this will get fixed before end of year but for now I think it's safer to remain in qt5. vtk has also not migrated yet to qt6 and of course I also need webengine too although we plan on eventually dropping this dependency as it's very problematic.

@adrianinsaval
Copy link
Author

so where do I download the artifacts?

@hmaarrfk
Copy link
Contributor

Click on the CI results, and then "3 published" it might get to 4.
image

@adrianinsaval
Copy link
Author

thanks, uploaded to https://anaconda.org/freecad/qt-main/files will begin trying qtwebengine maybe tomorrow. I built qt-main linux_aarch64 locally on my mac

@adrianinsaval
Copy link
Author

I get this error when trying to build locally:

WARNING: failed to get install actions, retrying.  exception was: Unsatisfiable dependencies for platform osx-arm64: {MatchSpec("qt-main==5.15.13=h7e66d85_0")}
Encountered problems while solving:
  - package qt-main-5.15.13-h7e66d85_0 is excluded by strict repo priority

what could be going wrong?

@hmaarrfk
Copy link
Contributor

are you using the build-locally.py script?

you need to add your channel as a source and rerender.

If you open a PR on qt-webengine i can also review there as well.

@@ -117,7 +117,7 @@ requirements:
- nspr # [unix]
- nss # [unix]
- libsqlite
- mysql-devel # [not win]
- mysql-devel ==8.0 # [not win]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this pinned? can we unpin?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it seems maybe there wasn't a global migrator.

this definitely needs one it seems:

Trying to add one here
conda-forge/conda-forge-pinning-feedstock#5637

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried backporting a commit that claimed to fix the build for mysql 8.3 but it didn't help. Figure it's better to update qt without updating mysql than not updating either.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you mind giving #244 a quick review for the patch. I think I got it right. But as somebody who has already looked at the peticular code path your eyes are very valuable

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I don't really understand the changes and wouldn't know how to test it. That's why I gave up trying to patch it and resorted to pinning it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

understood.

@adrianinsaval
Copy link
Author

webengine attempt: conda-forge/qt-webengine-feedstock#48

@hmaarrfk
Copy link
Contributor

Typically to merge from main, i check out main

git checkout main
git pull upstream main
git checkout qt5.12
git rebase -i main

and delete all the rerender commits.

That gets rid of 90% of the merge conflicts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants