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

Add setuptools to requirements/host #68

Merged
merged 7 commits into from
Oct 28, 2022

Conversation

conda-forge-linter
Copy link

@conda-forge-linter conda-forge-linter commented Oct 26, 2022

Hi! This is the friendly automated conda-forge-webservice.

I've rerendered the recipe as instructed in #67.

Here's a checklist to do before merging.

  • Bump the build number if needed.

Fixes #67

@conda-forge-linter
Copy link
Author

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.

@jakirkham jakirkham changed the title MNT: rerender Add setuptools & wheel to requirements/host Oct 26, 2022
@jakirkham jakirkham mentioned this pull request Oct 26, 2022
@jakirkham
Copy link
Member

@mbargull, can you please review? 🙂

@mbargull mbargull added the automerge Merge the PR when CI passes label Oct 26, 2022
mbargull
mbargull previously approved these changes Oct 26, 2022
Copy link
Member

@mbargull mbargull left a comment

Choose a reason for hiding this comment

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

LGTM, thanks!
This will help to make builds fail early for new Pythons with https://github.com/numba/llvmlite/blob/v0.39.1/setup.py#L49 .

@mbargull mbargull removed the automerge Merge the PR when CI passes label Oct 26, 2022
@jakirkham
Copy link
Member

Missed packaging 🤦‍♂️ Have added that now 😅

@mbargull
Copy link
Member

Missed packaging man_facepalming Have added that now sweat_smile

I think just packaging is fine. The guard uses either packaging or setuptools. setuptools's vendored packaging is used as a fallback. (You can also go for setuptools -- it has the least dependencies since it vendors everything; I'm fine with either.)
wheel is probably not needed because we don't build wheels but directly run setup.py build/setup.py install here.

@jakirkham
Copy link
Member

Thanks Marcel! 🙏

Let's just do setuptools then as it is the minimal solution (and makes sense to have anyways).

@jakirkham jakirkham changed the title Add setuptools & wheel to requirements/host Add setuptools to requirements/host Oct 26, 2022
@jakirkham jakirkham added the automerge Merge the PR when CI passes label Oct 26, 2022
@github-actions
Copy link
Contributor

Hi! This is the friendly conda-forge automerge bot!

I considered the following status checks when analyzing this PR:

  • linter: passed
  • azure: failed

Thus the PR was not passing and not merged.

@mbargull
Copy link
Member

No idea yet about the failing Windows builds
Diff of the build environments from the previous successful build:

@@ -1,31 +1,31 @@
 ## Package Plan ##
 
-  environment location: D:\bld\llvmlite_1662374438112\_h_env
+  environment location: D:\bld\llvmlite_1666809933100\_h_env
 
 
 The following NEW packages will be INSTALLED:
 
     bzip2:           1.0.8-h8ffe710_4          conda-forge
-    ca-certificates: 2022.6.15-h5b45459_0      conda-forge
+    ca-certificates: 2022.9.24-h5b45459_0      conda-forge
     libffi:          3.4.2-h8ffe710_5          conda-forge
-    libiconv:        1.16-he774522_0           conda-forge
-    libllvm11:       11.1.0-hab3b255_3         conda-forge
-    libsqlite:       3.39.2-h8ffe710_1         conda-forge
-    libxml2:         2.9.14-hf5bbc77_4         conda-forge
-    libzlib:         1.2.12-h8ffe710_2         conda-forge
-    llvm:            11.1.0-h6fda50d_3         conda-forge
-    llvm-tools:      11.1.0-ha327e53_3         conda-forge
-    llvmdev:         11.1.0-hab3b255_3         conda-forge
-    openssl:         3.0.5-h8ffe710_1          conda-forge
+    libiconv:        1.17-h8ffe710_0           conda-forge
+    libllvm11:       11.1.0-h97333cc_4         conda-forge
+    libsqlite:       3.39.4-hcfcfb64_0         conda-forge
+    libxml2:         2.10.3-hc3477c8_0         conda-forge
+    libzlib:         1.2.13-hcfcfb64_4         conda-forge
+    llvm:            11.1.0-h6fda50d_4         conda-forge
+    llvm-tools:      11.1.0-hf00eed6_4         conda-forge
+    llvmdev:         11.1.0-h97333cc_4         conda-forge
+    openssl:         3.0.5-hcfcfb64_2          conda-forge
     python:          3.10.6-hcf16a7b_0_cpython conda-forge
+    setuptools:      65.5.0-pyhd8ed1ab_0       conda-forge
     tk:              8.6.12-h8ffe710_0         conda-forge
-    tzdata:          2022c-h191b570_0          conda-forge
-    ucrt:            10.0.20348.0-h57928b3_0   conda-forge
-    vc:              14.2-hb210afc_7           conda-forge
-    vs2015_runtime:  14.29.30139-h890b9b1_7    conda-forge
+    tzdata:          2022e-h191b570_0          conda-forge
+    ucrt:            10.0.22621.0-h57928b3_0   conda-forge
+    vc:              14.3-h3d8a991_9           conda-forge
+    vs2015_runtime:  14.32.31332-h1d6e394_9    conda-forge
     xz:              5.2.6-h8d14728_0          conda-forge
-    zlib:            1.2.12-h8ffe710_2         conda-forge
-
+    zlib:            1.2.13-hcfcfb64_4         conda-forge
 Preparing transaction: ...working... done
 Verifying transaction: ...working... done
 Executing transaction: ...working... done
@@ -34,13 +34,13 @@
 
 ## Package Plan ##
 
-  environment location: D:\bld\llvmlite_1662374438112\_build_env
+  environment location: D:\bld\llvmlite_1666809933100\_build_env
 
 
 The following NEW packages will be INSTALLED:
 
-    cmake:          3.24.1-h39d44d4_0       conda-forge
-    ucrt:           10.0.20348.0-h57928b3_0 conda-forge
-    vs2015_runtime: 14.29.30139-h890b9b1_7  conda-forge
-    vs2019_win-64:  19.29.30139-hb9aee9d_7  conda-forge
+    cmake:          3.24.2-h1537add_0       conda-forge
+    ucrt:           10.0.22621.0-h57928b3_0 conda-forge
+    vs2015_runtime: 14.32.31332-h1d6e394_9  conda-forge
+    vs2019_win-64:  19.29.30139-hb9aee9d_9  conda-forge
     vswhere:        3.0.3-h57928b3_0        conda-forge

Only somewhat significant change seems to be conda-forge/llvmdev-feedstock#171

@jakirkham
Copy link
Member

Hmm...on Windows CI there are lots of errors that look like this:

LLVMBinaryFormat.lib(Magic.cpp.obj) : error LNK2001: unresolved external symbol __std_system_error_allocate_message [%SRC_DIR%\ffi\build\llvmlite.vcxproj]
...
LLVMInstrumentation.lib(CGProfile.cpp.obj) : error LNK2001: unresolved external symbol __imp___std_init_once_begin_initialize [%SRC_DIR%\ffi\build\llvmlite.vcxproj]
...
LLVMInstrumentation.lib(GCOVProfiling.cpp.obj) : error LNK2019: unresolved external symbol __std_reverse_copy_trivially_copyable_1 referenced in function "private: void __cdecl `anonymous namespace'::GCOVProfiler::emitProfileNotes(void)" (?emitProfileNotes@GCOVProfiler@?A0x15c6988e@@AEAAXXZ) [%SRC_DIR%\ffi\build\llvmlite.vcxproj]

@github-actions github-actions bot removed the automerge Merge the PR when CI passes label Oct 26, 2022
@github-actions
Copy link
Contributor

Hi! This is the friendly conda-forge automerge bot!

Commits were made to this PR after the automerge label was added. For security reasons, I have disabled automerge by removing the automerge label. Please add the automerge label again (or ask a maintainer to do so) if you'd like to enable automerge again!

@jakirkham
Copy link
Member

Don't think it would be vs2019 related (since we built with that before), but that may be another angle worth looking at (namely trying a different VS)

@mbargull
Copy link
Member

Don't think it would be vs2019 related (since we built with that before), but that may be another angle worth looking at (namely trying a different VS)

No idea. It seems to work with the old LLVM build (number 3). The changes from build 3 to build 4 are the added patches but also vs2017 -> vs2019:
https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=458325&view=logs&j=a70f640f-cc53-5cd3-6cdc-236a1aa90802&t=f5d15007-a01c-5ad8-c9ce-4d519d3b275f&l=133
https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=574599&view=logs&j=a70f640f-cc53-5cd3-6cdc-236a1aa90802&t=f5d15007-a01c-5ad8-c9ce-4d519d3b275f&l=97

@jakirkham
Copy link
Member

cc @h-vetinari (in case you have thoughts on the Windows build issue here 🙂)

@mbargull mbargull dismissed their stale review October 26, 2022 20:17

pending windows fixes

@h-vetinari
Copy link
Member

cc @h-vetinari (in case you have thoughts on the Windows build issue here 🙂)

What am I looking for here? The CI appears to be green? 🤔

@h-vetinari
Copy link
Member

I looked for the LNK2001 errors mentioned above in the build logs, but didn't find them (also, if there are linker errors, those should definitely fail the build)

@mbargull
Copy link
Member

The last commit is just a temporary one that uses a pinned down previous LLVM build.
These are the relevant logs: https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=596651&view=logs&j=171a126d-c574-5c8c-1269-ff3b989e923d&t=1183ba29-a0b5-5324-8463-2a49ace9e213&l=3628

@mbargull
Copy link
Member

My and John's guess is that it has to do with mismatched VS 2017/2019 builds.
However, the odd thing is that we're building with 2019 here, but have failing builds with the 2019-built LLVM libs (llvm/llvmdev with build_number=4) and succeeding builds with the 2017-built ones (build_number=3).

@h-vetinari
Copy link
Member

Phew, LLVM 11.1 is just when I started getting involved with the LLVM stack - almost 2 years ago. 😅
I've gotten to know the stack and the various recipes better over time, but I'm pretty stumped what might be happening here.

Based on the missing symbols and a bit of googling, it seems from this SO post that recompiling everything with a consistent toolchain (down to the minor/patch version) might solve it. Considering that there have been some changes to the vc- & ucrt- feedstocks in the meantime, it might be worth trying to rebuild LLVM 11.1 again.

But I'm really grasping at straws here. Perhaps @isuruf has deeper insights.

@jakirkham
Copy link
Member

We did rebuild LLVM 11.1 recently ( conda-forge/llvmdev-feedstock#171 ). This was to fix some issues users were seeing with Numba on macOS M1 ( numba/numba#8215 ) (though maybe elsewhere as well). Notice that in the LLVM 11.1 PR Windows VS upgraded from 2017 to 2019. Wonder if that might not be supported by LLVM 11.1. We could rebuild (reverting that Windows change). Or we could also just pull those Windows packages. Wanted to ask first though to make sure there isn't something we are missing about how VS and LLVM interplay

@h-vetinari
Copy link
Member

We did rebuild LLVM 11.1 recently ( conda-forge/llvmdev-feedstock#171 )

Yes, I saw. Based on what I found, it might make sense to rebuild that branch again, due to the (minor, but still) changes in the last month.

I don't think LLVM 11.1 is incompatible with VS2019, but I have nothing against pulling those builds if it helps you.

@jakirkham
Copy link
Member

Submitted PR ( conda-forge/llvmdev-feedstock#185 ) to bump the build number of LLVM 11.1

@mbargull mbargull force-pushed the conda_forge_admin_67 branch from f840ba5 to 055c0cd Compare October 27, 2022 13:23
@mbargull
Copy link
Member

Fail with the new build too :/. So do yet another rebuild of llvmdev-feedstock but then with

# conda_build_config.yaml
cxx_compiler:  # [win]
  - vs2017     # [win]

?

@jakirkham
Copy link
Member

Looks like this passes with the CMAKE_GENERATOR fix. Anything else still needed here?

@mbargull mbargull merged commit 45a5f8a into conda-forge:main Oct 28, 2022
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.

@conda-forge-admin, please re-render
6 participants