Closed Tobias-Fischer closed 3 years ago
Hi! This is the friendly automated conda-forge-linting service.
I was trying to look for recipes to lint for you, but it appears we have a merge conflict. Please try to merge or rebase with the base branch to resolve this conflict.
Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.
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.
@conda-forge-admin, please rerender
Hi! This is the friendly automated conda-forge-webservice. I tried to rerender for you, but it looks like I wasn't able to push to the aarch branch of Tobias-Fischer/qt-feedstock. Did you check the "Allow edits from maintainers" box?
NOTE: PRs from organization accounts cannot be rerendered because of GitHub permissions.
I was able to successfully build qt on conda-forge's arm server. Seeing now whether it builds also fine on the CI servers.
A few caveats:
QT += webengine
to the hello.pro test file, as otherwise there were undefined references to pcre stuff. Again I don't know whether this will make a practical difference in e.g. cmake builds.Yeah I'm not sure what's going on with these libffi errors - does anyone have a clue? he1b5a44_1007 is from the old libffi3.2.1, whereas h58526e2_2 is from 3.3. Recently this happened, not sure if related: https://github.com/conda-forge/conda-forge-pinning-feedstock/commit/c6f978211ad8abe79ec841d05e967d9d9665eab7#diff-ff61408cdc05bc9667deeadb55e4aaceb1371972076b6bf6934f9008920f2bd2
libffi: ValueError: Incompatible component merge:
- 'he1b5a44_1007'
- 'h58526e2_2'
/cc @wolfv @isuruf @hmaarrfk
Hi @conda-forge/qt, I think this is ready for review. I'm not sure how you typically built this feedstock as it times out on the CIs. It built successfully on conda-forge's ARM server. Please see my caveats above, but I think none of them should stop us from having QT on aarch :)
i'm confused as to why
The reported errors are:
⇟ Encountered problems while solving.
Problem: cannot install both ld_impl_linux-aarch64-2.35.1-h36823c2_1 and ld_impl_linux-aarch64-2.35.1-h02ad14f_1
Problem: cannot install both binutils_impl_linux-aarch64-2.35.1-h339fa7d_1 and binutils_impl_linux-aarch64-2.35.1-h026399b_1
this is happening. i'm going to try to rebuild the libffi on the cf server.
if we remove the host and build sections, and just combine them manually, we get.
Seems like it's still failing .. :(
By the way, when I tried to compile pyqt, I get the same error as when trying to compile the hello.pro
test without adding QT += webengine
. So something still needs fixing unfortunately - any clues?
Here is the error:
/home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/9.3.0/../../../../aarch64-conda-linux-gnu/bin/ld: warning: libpcre.so.1, needed by /home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_build_env/bin/../aarch64-conda-linux-gnu/sysroot/usr/lib64/libgthread-2.0.so.0, not found (try using -rpath or -rpath-link)
/home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/9.3.0/../../../../aarch64-conda-linux-gnu/bin/ld: /home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_h_env/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/lib/./libglib-2.0.so.0: undefined reference to `pcre_exec'
/home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/9.3.0/../../../../aarch64-conda-linux-gnu/bin/ld: /home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_h_env/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/lib/./libglib-2.0.so.0: undefined reference to `pcre_study'
/home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/9.3.0/../../../../aarch64-conda-linux-gnu/bin/ld: /home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_h_env/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/lib/./libglib-2.0.so.0: undefined reference to `pcre_dfa_exec'
/home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/9.3.0/../../../../aarch64-conda-linux-gnu/bin/ld: /home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_h_env/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/lib/./libglib-2.0.so.0: undefined reference to `pcre_fullinfo'
/home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/9.3.0/../../../../aarch64-conda-linux-gnu/bin/ld: /home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_h_env/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/lib/./libglib-2.0.so.0: undefined reference to `pcre_get_stringnumber'
/home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/9.3.0/../../../../aarch64-conda-linux-gnu/bin/ld: /home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_h_env/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/lib/./libglib-2.0.so.0: undefined reference to `pcre_compile2'
/home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/9.3.0/../../../../aarch64-conda-linux-gnu/bin/ld: /home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_h_env/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/lib/./libglib-2.0.so.0: undefined reference to `pcre_get_stringtable_entries'
/home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/9.3.0/../../../../aarch64-conda-linux-gnu/bin/ld: /home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_h_env/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/lib/./libglib-2.0.so.0: undefined reference to `pcre_free'
/home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_build_env/bin/../lib/gcc/aarch64-conda-linux-gnu/9.3.0/../../../../aarch64-conda-linux-gnu/bin/ld: /home/Tobias-Fischer/miniforge3/conda-bld/pyqt_split_1612130882746/_h_env/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/lib/./libglib-2.0.so.0: undefined reference to `pcre_config'
you probably need a pcre CDT for libgthread
. Please open an issue in https://github.com/conda-forge/cdt-builds/issues
Thanks @isuruf - done. Just for me to understand, why does adding QT += webengine
fix the problem?
Update: I am now trying to build qt with the system (i.e. conda-forge) pcre2; let's see whether this solves the problem. Related PR: https://github.com/conda-forge/pcre2-feedstock/pull/26
Did the binutils conflict get resolved?
Nope .. still failing :(. However, it is not failing on the conda-forge ARM machine. Any clue what the difference would be?
@conda-forge-admin please rerender
Hi! This is the friendly automated conda-forge-webservice. I tried to rerender for you, but it looks like I wasn't able to push to the aarch branch of Tobias-Fischer/qt-feedstock. Did you check the "Allow edits from maintainers" box?
NOTE: PRs from organization accounts cannot be rerendered because of GitHub permissions.
@conda-forge-admin, please rerender
Hi! This is the friendly automated conda-forge-webservice. I tried to rerender for you, but it looks like there was nothing to do.
Seems like it did the trick after all @hmaarrfk :)
I guess we are still waiting on the cdt.
I
Yeah .. I still don't understand why things work if I pull in qtwebengine (without the CDT). Any ideas? (I'm referring to https://github.com/conda-forge/qt-feedstock/pull/181#issuecomment-770462172)
I managed to compile pyqt by adding webengine everywhere but this is obviously a massive hack)
its probably linking ot one of its own libraries, instead of using a system library call???
I'm not sure why we need the CDT. it is in the libgthread package
As I said earlier you need the pcre2 CDT which is a dependency of libgthread CDT (not the conda package) which is a dependnecy of X11 packages. qtwebengine pulls in chromium which has its own version of pcre2 and therefore the symbols in there satisfy it. So, we should build the pcre2 CDT instead of chasing wild goose.
looks like we are in sync @isuruf https://github.com/conda-forge/cdt-builds/pull/43
THis CDT only exists for cos7, so we would need to add a selector.
Is anybody building on the server?
@hmaarrfk - not me. Do you want to give it a shot?
started just now.
this still going strong.
Is this ready to merge otherwise? did you need to renable win+osx?
Nice! I'll do a cleanup of the PR tomorrow. Only question remaining is whether it's desirable to use system-pcre instead of qt-pcre? I guess it'll reduce the compile time and binary size a little, and compiles just fine, so there is no disadvantage of the system version?
I think systme is ok
Great. Did the build finish? It stalled a few times for me.
Only question remaining is whether it's desirable to use system-pcre instead of qt-pcre?
Definitely qt-pcre
unless somebody steps up to do qt builds for all OSes every time there is a pcre version update.
maybe it stalled for me too.
Okay - let me try again. I cleaned up the repo and will push here if the build succeeds.
Good news: pcre is working all fine now.
Bad news: test fails with ./hello: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
- might be an issue with the aarch cdt but I'm not sure. The mesa-libgl-devel-cos6-x86_64
contains the libGL.so; whereas the mesa-libgl-devel-cos7-aarch64
does not contain a libGL.so at all, and only contains a symlink without destination of a libglapi.so. However, the libglvnd-glx-cos7-aarch64
contains the required libGL.so, but even after installing that package, it still does not find the shared library.
EDIT: Or is it as simple as yum install mesa-libGL
? (Don't have sudo rights though)
Any hints?
@Tobias-Fischer are you trying to install this on the server? I guess we need to ask @isuruf I tried to use docker on the server, it didn't work for me.
Yes, I'm talking about the conda-forge server. It would be nice to see if the tests pass I guess ..
EDIT: If I do LD_LIBRARY_PATH=/home/Tobias-Fischer/miniforge3/conda-bld/qt_1612732360374/_test_env/aarch64-conda-linux-gnu/sysroot/usr/lib64/ ./hello
all is well
mesa-libgl should be available now on the server
Many thanks @isuruf! The "hello" test works fine now. The qtwebengine test requires the following libraries, could you please install them as well?
yum install alsa-lib libXScrnSaver libXtst libXrender-devel libXcursor libXcomposite libXi
Great - all good now, thanks @isuruf. Not sure what the best way is to proceed from here - I have the .tar.bz2 file, should I send it to someone who has write access to the qt repo? EDIT: file is here: https://anaconda.org/RoboStack/qt/files
@conda-forge-admin, please rerender
Hi @hmaarrfk - quick ping. Is there anything else I can do to get this PR merged? :)
Thanks for working on this. I'll merge this if you commit to building this package on the server manually every time there's a change. (I can copy the package over)
@isuruf how about installing an Azure Worker on the server, and changing smithy so that it uses the appropriate worker pool? We've been using that with a Graviton instance on the RoboStack quite successfully, and it's not a big change in the conda-forge infrastructure.
That way no-one would need to build/copy this manually.
One thing to note is that we need to figure out how to allow only e.g. the Qt repo to use that Agent pool.
Hi @isuruf, I'd be happy to build the package if things change, it's easy enough now that I know what to do. @wolfv's suggestion is interesting though in the long-run I guess, but either way I'd be happy.
Another ping @isuruf - as said above, would be happy to rebuild if needed in the future.
Please add yourself as a maintainer
Checklist
0
(if the version changed)conda-smithy
(Use the phrase code>@<space/conda-forge-admin, please rerender in a comment in this PR for automated rerendering)