Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt for Python
  4. Creating Qt6 anaconda package always errors out
QtWS25 Last Chance

Creating Qt6 anaconda package always errors out

Scheduled Pinned Locked Moved Unsolved Qt for Python
9 Posts 2 Posters 1.5k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Offline
    I Offline
    imikejackson
    wrote on 26 Dec 2023, 19:29 last edited by
    #1

    I am trying to package up our Qt6 based application using conda-build. The issue that I think I am running into is this warning message during the conda-build process.

    This occurs on macOS systems probably because those tools are in an .app bundle instead of stand alone .exe like on Linunx and Windows. Is there any hope for a fix?

    I can temporarily turn off the testing phase of the packaging but I would rather not do that.

    WARNING: The install/build script(s) for simplnx deleted the following files (from dependencies) from the prefix:
    ['bin/Linguist6', 'bin/Assistant6', 'bin/qdbusviewer6', 'bin/pixeltool6', 'bin/Designer6']
    This will cause the post-link checks to mis-report. Please try not to delete and files (DSOs in particular) from the prefix
    

    and later on I then get this "test" failure.

    I have looked through “conda” trying to find out how to put those dependencies in but at the moment I can’t even find a conda package that would install QtDesigner, QtAssistant and the other “missing” libraries. This is on macOS (intel and silicon variants). It seems to be happy on Windows.

    I’ve tried all sorts of versions of conda, conda-build, mamba, boa, conda-build. Different versions of Qt6 (6.5.x and 6.6).

    I’m not sure if this is a bug somewhere, user error on my part or how to fix this issue. The repo is at GitHub - BlueQuartzSoftware/simplnx: The backend algorithms and framework associated with DREAM3DNX, a data analysis program for materials science data analytics and the recipe directory is in the top level “conda” directory.

    Thanks to anyone who might be able to shed some light on what I am probably doing wrong.

    Mike Jackson mike.jackson@bluequartz.net
    BlueQuartz Software www.bluequartz.net

    1 Reply Last reply
    0
    • S Offline
      S Offline
      SGaist
      Lifetime Qt Champion
      wrote on 26 Dec 2023, 19:50 last edited by
      #2

      Hi and welcome to devnet,

      Is Qt 6 a dependency of a dependency ? There's no mention of it in the recipe.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • I Offline
        I Offline
        imikejackson
        wrote on 26 Dec 2023, 21:18 last edited by
        #3

        No. It is a direct dependency of our application. Our Meta.yaml looks like this:

        {% set name = "DREAM3DNX" %}
        {% set version = "0.0.1" %}
        
        package:
          name: {{ name|lower }}
          version: {{ version }}
        
        source:
          - path: ../../simplnx
            folder: simplnx
          - git_url: https://github.com/BlueQuartzSoftware/EbsdLib
            git_rev: v1.0.26
            folder: EbsdLib
          - git_url: https://github.com/BlueQuartzSoftware/H5Support
            git_rev: v1.0.13
            folder: H5Support
          - git_url: https://github.com/martinmoene/expected-lite
            git_rev: v0.5.0
            folder: expected-lite
          - git_url: https://github.com/fr00b0/nod
            git_rev: v0.5.2
            folder: nod
          - git_url: https://github.com/martinmoene/span-lite
            git_rev: v0.10.3
            folder: span-lite
          - url: https://raw.githubusercontent.com/BlueQuartzSoftware/simplnx-registry/9a5db7b5fa02b2495eb51654cbaab3c63820c779/ports/nod/CMakeLists.txt
            folder: nod
          - git_url: https://gitlab.kitware.com/vtk/vtk.git
            git_rev: v9.2.6
            folder: vtk
          - git_url: https://github.com/insightsoftwareconsortium/ITK
            git_rev: v5.2.1
            folder: itk
          - path: ../
            folder: DREAM3DNX
            
        build:
          number: 0
          script_env:
            - SIMPLNX_CMAKE_PRESET=conda-win # [win]
            - SIMPLNX_CMAKE_PRESET=conda-linux  # [linux]
            - SIMPLNX_CMAKE_PRESET=conda-osx  # [osx]
            - DREAM3DNX_OPTIONAL_SUFFIX=-Conda-{{ version }}
            - ITK_VERSION=5.2.1
        
        requirements:
          build:
            - {{ compiler('cxx') }}
            - cmake >=3.19
            - ninja
            - git
          host:
            - python {{ python }}
            - numpy >=1.16
            - mypy
            - boost_mp11
            - eigen
            - fmt =10
            - hdf5 =1.12
            - nlohmann_json
            - pybind11 >=2.10
            - reproc-cpp
            - tbb
            - tbb-devel
            - zlib
            - sphinx
            - myst-parser
            - sphinx-markdown-tables
            - sphinx_rtd_theme
            - qt6-main =6.5.3
        
          run:
            - python
            - numpy
            - fmt =10
            - hdf5 =1.12
            - reproc-cpp
            - tbb
            - zlib
            - qt6-main =6.5.3
        
        about:
          home: https://www.dream3d.io/
          license: Proprietary
          summary: DREAM3D-NX consists of data analysis tools (Filters) that allow for the construction of customized workflows (Pipelines) to analyze data.
        
        

        Mike Jackson mike.jackson@bluequartz.net
        BlueQuartz Software www.bluequartz.net

        1 Reply Last reply
        0
        • I Offline
          I Offline
          imikejackson
          wrote on 26 Dec 2023, 22:57 last edited by
          #4

          I'm no expert in the anaconda or conda-forge ecosystem but where ever during the "conda install qt6-main" process that the sym links to the various Qt tools (Designer, Assistant and such) happens, those symlinks are not properly taken into account. Or maybe it is in the recipe to build the qt6-main package? At some point these symlinks are being created incorrectly.

          I wonder if I can just create the proper symlinks as part of my build script, just to get by for now until this is tracked down.

          Mike Jackson mike.jackson@bluequartz.net
          BlueQuartz Software www.bluequartz.net

          1 Reply Last reply
          0
          • I Offline
            I Offline
            imikejackson
            wrote on 27 Dec 2023, 15:12 last edited by
            #5

            I was able to add the following to the build.sh file:

            if [[ $target_platform == osx-* ]]; then
            
              rm $PREFIX/bin/Linguist6
              ln -s ../lib/qt6/bin/Linguist.app/Contents/MacOS/Assistant $PREFIX/bin/Linguist6
              rm $PREFIX/bin/Assistant6
              ln -s ../lib/qt6/bin/Assistant.app/Contents/MacOS/Assistant $PREFIX/bin/Assistant6
              rm $PREFIX/bin/qdbusviewer6
              ln -s ../lib/qt6/bin/qdbusviewer.app/Contents/MacOS/qdbusviewer $PREFIX/bin/qdbusviewer6
              rm $PREFIX/bin/pixeltool6
              ln -s ../lib/qt6/bin/pixeltool.app/Contents/MacOS/pixeltool $PREFIX/bin/pixeltool6
              rm $PREFIX/bin/Designer6
              ln -s ../lib/qt6/bin/Designer.app/Contents/MacOS/Designer $PREFIX/bin/Designer6
            fi
            

            This seemed to have cleared up the "test" failure issues. Just would like to track down how the symlinks are being created in the first place.

            Mike Jackson mike.jackson@bluequartz.net
            BlueQuartz Software www.bluequartz.net

            S 1 Reply Last reply 28 Dec 2023, 20:43
            0
            • I imikejackson
              27 Dec 2023, 15:12

              I was able to add the following to the build.sh file:

              if [[ $target_platform == osx-* ]]; then
              
                rm $PREFIX/bin/Linguist6
                ln -s ../lib/qt6/bin/Linguist.app/Contents/MacOS/Assistant $PREFIX/bin/Linguist6
                rm $PREFIX/bin/Assistant6
                ln -s ../lib/qt6/bin/Assistant.app/Contents/MacOS/Assistant $PREFIX/bin/Assistant6
                rm $PREFIX/bin/qdbusviewer6
                ln -s ../lib/qt6/bin/qdbusviewer.app/Contents/MacOS/qdbusviewer $PREFIX/bin/qdbusviewer6
                rm $PREFIX/bin/pixeltool6
                ln -s ../lib/qt6/bin/pixeltool.app/Contents/MacOS/pixeltool $PREFIX/bin/pixeltool6
                rm $PREFIX/bin/Designer6
                ln -s ../lib/qt6/bin/Designer.app/Contents/MacOS/Designer $PREFIX/bin/Designer6
              fi
              

              This seemed to have cleared up the "test" failure issues. Just would like to track down how the symlinks are being created in the first place.

              S Offline
              S Offline
              SGaist
              Lifetime Qt Champion
              wrote on 28 Dec 2023, 20:43 last edited by
              #6

              @imikejackson are you sure your Linguist line is correct ?

              For the original symlinks creation, I would check the qt6-main recipe.

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              I 1 Reply Last reply 2 Jan 2024, 14:51
              0
              • S SGaist
                28 Dec 2023, 20:43

                @imikejackson are you sure your Linguist line is correct ?

                For the original symlinks creation, I would check the qt6-main recipe.

                I Offline
                I Offline
                imikejackson
                wrote on 2 Jan 2024, 14:51 last edited by
                #7

                @SGaist

                if [[ $target_platform == osx-* ]]; then
                
                  rm $PREFIX/bin/Linguist6
                  ln -s ../lib/qt6/bin/Linguist.app/Contents/MacOS/Assistant $PREFIX/bin/Linguist
                
                  rm $PREFIX/bin/Assistant6
                  ln -s ../lib/qt6/bin/Assistant.app/Contents/MacOS/Assistant $PREFIX/bin/Assistant6
                
                  rm $PREFIX/bin/qdbusviewer6
                  ln -s ../lib/qt6/bin/qdbusviewer.app/Contents/MacOS/qdbusviewer $PREFIX/bin/qdbusviewer6
                
                  rm $PREFIX/bin/pixeltool6
                  ln -s ../lib/qt6/bin/pixeltool.app/Contents/MacOS/pixeltool $PREFIX/bin/pixeltool6
                
                  rm $PREFIX/bin/Designer6
                  ln -s ../lib/qt6/bin/Designer.app/Contents/MacOS/Designer $PREFIX/bin/Designer6
                
                fi
                

                Mike Jackson mike.jackson@bluequartz.net
                BlueQuartz Software www.bluequartz.net

                I 1 Reply Last reply 2 Jan 2024, 16:53
                0
                • I imikejackson
                  2 Jan 2024, 14:51

                  @SGaist

                  if [[ $target_platform == osx-* ]]; then
                  
                    rm $PREFIX/bin/Linguist6
                    ln -s ../lib/qt6/bin/Linguist.app/Contents/MacOS/Assistant $PREFIX/bin/Linguist
                  
                    rm $PREFIX/bin/Assistant6
                    ln -s ../lib/qt6/bin/Assistant.app/Contents/MacOS/Assistant $PREFIX/bin/Assistant6
                  
                    rm $PREFIX/bin/qdbusviewer6
                    ln -s ../lib/qt6/bin/qdbusviewer.app/Contents/MacOS/qdbusviewer $PREFIX/bin/qdbusviewer6
                  
                    rm $PREFIX/bin/pixeltool6
                    ln -s ../lib/qt6/bin/pixeltool.app/Contents/MacOS/pixeltool $PREFIX/bin/pixeltool6
                  
                    rm $PREFIX/bin/Designer6
                    ln -s ../lib/qt6/bin/Designer.app/Contents/MacOS/Designer $PREFIX/bin/Designer6
                  
                  fi
                  
                  I Offline
                  I Offline
                  imikejackson
                  wrote on 2 Jan 2024, 16:53 last edited by imikejackson 1 Feb 2024, 17:22
                  #8

                  @SGaist https://github.com/conda-forge/qt-main-feedstock/issues/220

                  and

                  https://bugreports.qt.io/browse/QTBUG-120487

                  and

                  https://github.com/conda-forge/qt-main-feedstock/pull/221

                  Mike Jackson mike.jackson@bluequartz.net
                  BlueQuartz Software www.bluequartz.net

                  1 Reply Last reply
                  1
                  • S Offline
                    S Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on 2 Jan 2024, 19:33 last edited by
                    #9

                    Thanks for the links !

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    1 Reply Last reply
                    0

                    5/9

                    27 Dec 2023, 15:12

                    • Login

                    • Login or register to search.
                    5 out of 9
                    • First post
                      5/9
                      Last post
                    0
                    • Categories
                    • Recent
                    • Tags
                    • Popular
                    • Users
                    • Groups
                    • Search
                    • Get Qt Extensions
                    • Unsolved