|
16 | 16 | and the repository exists.
|
17 | 17 | Exited with code 128
|
18 | 18 |
|
19 |
| - open a new issue with a comment :ref:`ci_update_circle`. |
| 19 | + Open a new issue with a comment :ref:`ci_update_circle`. |
20 | 20 | Once our web services have updated the circle configuration, restart the build.
|
21 | 21 |
|
22 | 22 |
|
|
46 | 46 |
|
47 | 47 | When you update a feedstock that still uses build numbers > 1000, the following rules apply:
|
48 | 48 |
|
49 |
| - - when you increase the version, reset the build number back to 0 (e.g. ``1005 -> 0``). |
50 |
| - - when the version stays the same and you need to upload a new package, increase the build number by 1 (e.g. ``1005 -> 1006``). |
| 49 | + - When you increase the version, reset the build number back to 0 (e.g. ``1005 -> 0``). |
| 50 | + - When the version stays the same and you need to upload a new package, increase the build number by 1 (e.g. ``1005 -> 1006``). |
51 | 51 |
|
52 | 52 |
|
53 | 53 | **Backstory:** Build numbers of 1000 and larger are a relic from the compiler migration, where a build number offset of 1000 signified that a package was migrated to the new compilers.
|
|
59 | 59 |
|
60 | 60 | :ref:`(Q) <mfaq_windows_cmake>` **How to fix CMake not finding MSBuild.exe on Azure Windows builds?**
|
61 | 61 |
|
62 |
| - TL;DR: Use ``Ninja`` or ``NMake Makefiles JOM`` as the CMake generator (``cmake -G"Ninja"``), and add ``build`` requirements for ``ninja`` or ``jom``. |
| 62 | + TL;DR: Use ``Ninja`` or ``NMake Makefiles JOM`` as the CMake generator (``cmake -G"Ninja"``), and add ``build`` requirements for ``ninja`` or ``jom``. |
63 | 63 |
|
64 |
| - Sadly in the Azure Windows images, `MSBuild.exe` is not correctly setup for CMake builds with the ``Visual Studio`` generators. To work around this, you can use a different CMake generator, e.g. ``cmake -GNinja`` or ``cmake -G"NMake Makefiles JOM"``. These two are preferred because they allow for concurrent builds in contrast to e.g. only using ``cmake -G"NMake Makefiles"`` |
| 64 | + Sadly in the Azure Windows images, `MSBuild.exe` is not correctly setup for CMake builds with the ``Visual Studio`` generators. To work around this, you can use a different CMake generator, e.g. ``cmake -GNinja`` or ``cmake -G"NMake Makefiles JOM"``. These two are preferred because they allow for concurrent builds in contrast to e.g. only using ``cmake -G"NMake Makefiles"`` |
65 | 65 |
|
66 | 66 | .. _mfaq_anaconda_delay:
|
67 | 67 |
|
68 | 68 | :ref:`(Q) <mfaq_anaconda_delay>` **Why does my new version appear on Anaconda Cloud, but is not installable with conda?**
|
69 | 69 |
|
70 |
| - For certain, high-traffic channels (main & conda-forge), Anaconda uses a `CDN <https://cloudflare.com/learning/cdn/what-is-a-cdn/>`_ to decrease costs. The CDN is only reindexed every 20 minutes, however `Anaconda.org https://anaconda.org>`_ uses the original channel that the CDN mirrors. Therefore, packages will show up on the `Anaconda Cloud https://anaconda.org>`_ about 20 to 40 minutes before they are downloadable via conda. You can use ``conda search <pkg>`` to see if the package is installable, because this command reads from the CDN. |
| 70 | + For certain, high-traffic channels (main & conda-forge), Anaconda uses a `CDN <https://cloudflare.com/learning/cdn/what-is-a-cdn/>`_ to decrease costs. The CDN is only reindexed every 20 minutes, however `Anaconda.org https://anaconda.org>`_ uses the original channel that the CDN mirrors. Therefore, packages will show up on the `Anaconda Cloud https://anaconda.org>`_ about 20 to 40 minutes before they are downloadable via conda. You can use ``conda search <pkg>`` to see if the package is installable, because this command reads from the CDN. |
71 | 71 |
|
72 | 72 | .. _mfaq_mamba_local:
|
73 | 73 |
|
74 | 74 | :ref:`(Q) <mfaq_mamba_local>` **How can I make debugging solver failures on the CI faster?**
|
75 | 75 |
|
76 |
| - An alternative to the conda solver is the mamba solver. The mamba solver has a faster solve speed and prints better error messages that make debugging simpler. |
77 |
| - |
78 |
| - You can configure the conda-forge CI to run a debug build using the mamba solver with the following changes: |
79 |
| - |
80 |
| - - Set ``build_with_mambabuild: True`` in ``conda-forge.yaml`` file |
81 |
| - - Rerender with ``conda-smithy`` (to rerender manually use ``conda smithy rerender`` from the command line) |
82 |
| - [Note: Builds made with ``mambabuild`` won't be uploaded to ``conda-forge``. These builds are purely for debugging purposes.] |
83 |
| - |
84 |
| - You can also do this locally by using: |
85 |
| - |
86 |
| - - ``conda install boa -c conda-forge`` |
87 |
| - - ``conda mambabuild myrecipe`` |
88 |
| - For more details visit `this <https://boa-build.readthedocs.io/en/latest/mambabuild.html>`_ page. |
89 |
| - |
90 |
| - .. _mfaq_conda_verify: |
| 76 | + An alternative to the conda solver is the mamba solver. The mamba solver has a faster solve speed and prints better error messages that make debugging simpler. |
| 77 | + |
| 78 | + You can configure the conda-forge CI to run a debug build using the mamba solver with the following changes: |
| 79 | + |
| 80 | + - Set ``build_with_mambabuild: True`` in ``conda-forge.yaml`` file |
| 81 | + - Rerender with ``conda-smithy`` (to rerender manually use ``conda smithy rerender`` from the command line) |
| 82 | + [Note: Builds made with ``mambabuild`` won't be uploaded to ``conda-forge``. These builds are purely for debugging purposes.] |
| 83 | + |
| 84 | + You can also do this locally by using: |
| 85 | + |
| 86 | + - ``conda install boa -c conda-forge`` |
| 87 | + - ``conda mambabuild myrecipe`` |
| 88 | + For more details visit `this <https://boa-build.readthedocs.io/en/latest/mambabuild.html>`_ page. |
| 89 | + |
| 90 | +.. _mfaq_conda_verify: |
91 | 91 |
|
92 | 92 | :ref:`(Q) <mfaq_conda_verify>` **I am seeing** ``Importing conda-verify failed.`` **error message during build. What do I do?**
|
93 | 93 |
|
94 |
| - .. code-block:: shell |
95 |
| - |
96 |
| - Importing conda-verify failed. Please be sure to test your packages. conda install conda-verify to make this message go away. |
| 94 | + .. code-block:: shell |
| 95 | +
|
| 96 | + Importing conda-verify failed. Please be sure to test your packages. conda install conda-verify to make this message go away. |
97 | 97 |
|
98 |
| - You are seeing this error message because by default, conda-build uses conda-verify to ensure that your recipe and package meet some minimum sanity checks. |
99 |
| - This message can be safely ignored as conda-forge doesn't use conda-verify. |
| 98 | + You are seeing this error message because by default, conda-build uses conda-verify to ensure that your recipe and package meet some minimum sanity checks. |
| 99 | + This message can be safely ignored as conda-forge doesn't use conda-verify. |
100 | 100 |
|
101 | 101 |
|
102 |
| - .. _mfaq_version_update: |
| 102 | +.. _mfaq_version_update: |
103 | 103 |
|
104 | 104 | :ref:`(Q) <mfaq_version_update>` **When the bot creates a pull request to a feedstock to update the version, should I approve the pull request and wait with merging until everybody else that is a code owner has approved the PR?**
|
105 | 105 |
|
106 |
| - There is no need to approve the PR. Every maintainer can verify and merge the bot PR without waiting on the approval of the other maintainers. |
| 106 | + There is no need to approve the PR. Every maintainer can verify and merge the bot PR without waiting on the approval of the other maintainers. |
107 | 107 |
|
108 | 108 |
|
109 |
| - .. _mfaq_docker_139: |
| 109 | +.. _mfaq_docker_139: |
110 | 110 |
|
111 | 111 | :ref:`(Q) <mfaq_docker_139>` **How to fix "build-locally.py fails with exit code 139"?**
|
112 | 112 |
|
113 |
| - With Linux Kernel 4.11 there were some changes in the ``vsyscall`` linking. Depending on your distribution this may cause the above error. You can fix that on Debian by editing ``/etc/default/grub`` and specifiy ``GRUB_CMDLINE_LINUX_DEFAULT="vsyscall=emulate"`` in this file. Afterwards, you need to run ``update-grub`` and reboot your system. On other Linux distributions the fix is similar but you need to edit a different configuration file to change the Linux kernel cmdline. This workaround is only needed for images based on CentOS 6 (``cos6``). You could also workaround this by forcing the CentOS 7 based images using ``DOCKER_IMAGE=quay.io/condaforge/linux-anvil-cos7-x86_64 ./build-locally.py``. |
| 113 | + With Linux Kernel 4.11 there were some changes in the ``vsyscall`` linking. Depending on your distribution this may cause the above error. You can fix that on Debian by editing ``/etc/default/grub`` and specifiy ``GRUB_CMDLINE_LINUX_DEFAULT="vsyscall=emulate"`` in this file. Afterwards, you need to run ``update-grub`` and reboot your system. On other Linux distributions the fix is similar but you need to edit a different configuration file to change the Linux kernel cmdline. This workaround is only needed for images based on CentOS 6 (``cos6``). You could also workaround this by forcing the CentOS 7 based images using ``DOCKER_IMAGE=quay.io/condaforge/linux-anvil-cos7-x86_64 ./build-locally.py``. |
114 | 114 |
|
115 |
| - The exit code 139 itself actually is the general exit code for a segmentation fault. This could also mean that you have run into a different issue but the above issue is the most likely one with our CentOS 6-based images. |
| 115 | + The exit code 139 itself actually is the general exit code for a segmentation fault. This could also mean that you have run into a different issue but the above issue is the most likely one with our CentOS 6-based images. |
116 | 116 |
|
117 |
| - .. _mfaq_package_submit: |
| 117 | +.. _mfaq_package_submit: |
118 | 118 |
|
119 | 119 | :ref:`(Q) <mfaq_package_submit>` **Is it necessary for me to be an upstream maintainer of the package I submit to Conda-forge?**
|
120 | 120 |
|
121 |
| - Everybody can submit a package to Conda-forge, irrespective of whether they maintain the upstream version or not. Additionally, it’s not required but considered good practice to inform the upstream of a new package and invite them to be maintainers as well. |
| 121 | + Everybody can submit a package to Conda-forge, irrespective of whether they maintain the upstream version or not. Additionally, it’s not required but considered good practice to inform the upstream of a new package and invite them to be maintainers as well. |
122 | 122 |
|
123 | 123 |
|
124 |
| - .. _mfaq_libGL_so_1: |
| 124 | +.. _mfaq_libGL_so_1: |
125 | 125 |
|
126 | 126 | :ref:`(Q) <mfaq_libGL_so_1>` **How do I fix the** ``libGL.so.1`` **import error?**
|
127 | 127 |
|
128 | 128 |
|
129 |
| - Error: |
130 |
| - |
| 129 | + Error: |
| 130 | + |
131 | 131 | .. code-block:: shell
|
132 |
| - |
| 132 | +
|
133 | 133 | ImportError: libGL.so.1: cannot open shared object file: No such file or directory
|
134 |
| - |
135 |
| - To fix the error, create a `yum_requirements.txt <https://conda-forge.org/docs/maintainer/knowledge_base.html#yum-deps>`_ file and add *mesa-libGL*. |
| 134 | +
|
| 135 | +
|
| 136 | + To fix the error, create a `yum_requirements.txt <https://conda-forge.org/docs/maintainer/knowledge_base.html#yum-deps>`_ file and add *mesa-libGL*. |
| 137 | + |
| 138 | + |
| 139 | +.. _mfaq_qt_load_xcb: |
| 140 | + |
| 141 | +:ref:`(Q) <mfaq_qt_load_xcb>` **How can I fix the** ``The Qt platform plugin "xcb" could not be loaded`` **error during testing?** |
| 142 | + |
| 143 | + |
| 144 | + When testing packages that have a dependency on ``pyqt``, the following error might occur under linux: |
| 145 | + |
| 146 | + |
| 147 | + .. code-block:: shell |
| 148 | +
|
| 149 | + qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. |
| 150 | + This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. |
| 151 | +
|
| 152 | + Available platform plugins are: eglfs, minimal, minimalegl, offscreen, vnc, webgl, xcb. |
| 153 | +
|
| 154 | +
|
| 155 | +
|
| 156 | + This comes from the CI environment being headless and can be fixed by adding the ``QT_QPA_PLATFORM=offscreen`` `environment variable <https://docs.conda.io/projects/conda-build/en/latest/user-guide/environment-variables.html#inherited-environment-variabless>`_. |
| 157 | + The variable can either be added directly to the test command or provided in the `meta.yaml <https://conda-forge.org/docs/maintainer/adding_pkgs.html#the-recipe-meta-yaml>`_ like so: |
| 158 | + |
| 159 | + .. code-block:: yaml |
| 160 | +
|
| 161 | + build: |
| 162 | + script_env: |
| 163 | + - QT_QPA_PLATFORM=offscreen |
0 commit comments