-
-
Notifications
You must be signed in to change notification settings - Fork 21
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
llvmlite v0.40.0 #69
llvmlite v0.40.0 #69
Conversation
…nda-forge-pinning 2022.10.26.15.31.17
…nda-forge-pinning 2023.05.02.09.44.55
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 ( |
Seeing the following sorts of errors in PyPy builds: ======================================================================
ERROR: test_per_diamond_1 (llvmlite.tests.test_refprune.TestDiamond)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/conda/feedstock_root/build_artifacts/llvmlite_1683058932597/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/pypy3.9/site-packages/llvmlite/tests/test_refprune.py", line 265, in test_per_diamond_1
mod, stats = self.check(self.per_diamond_1)
File "/home/conda/feedstock_root/build_artifacts/llvmlite_1683058932597/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/pypy3.9/site-packages/llvmlite/tests/test_refprune.py", line 177, in check
before = llvm.dump_refprune_stats()
File "/home/conda/feedstock_root/build_artifacts/llvmlite_1683058932597/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/pypy3.9/site-packages/llvmlite/binding/passmanagers.py", line 54, in dump_refprune_stats
ffi.lib.LLVMPY_DumpRefPruneStats(byref(stats), do_print)
File "/home/conda/feedstock_root/build_artifacts/llvmlite_1683058932597/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/pypy3.9/site-packages/llvmlite/binding/ffi.py", line 152, in __call__
return self._cfn(*args, **kwargs)
File "/home/conda/feedstock_root/build_artifacts/llvmlite_1683058932597/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/pypy3.9/_ctypes/function.py", line 365, in __call__
funcptr = self._getfuncptr(argtypes, self._restype_, thisarg, variadic_args=variadic_args)
File "/home/conda/feedstock_root/build_artifacts/llvmlite_1683058932597/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/pypy3.9/_ctypes/function.py", line 435, in _getfuncptr
ptr = self._getfuncptr_fromaddress(argtypes, restype, variadic_args=variadic_args)
File "/home/conda/feedstock_root/build_artifacts/llvmlite_1683058932597/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/pypy3.9/_ctypes/function.py", line 425, in _getfuncptr_fromaddress
return _ffi.FuncPtr.fromaddr(address, '', ffiargs, ffires, self._flags_,
SystemError: not supported by libffi Seeing the following sorts of errors in Windows builds: LINK : fatal error LNK1181: cannot open input file 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\DIA SDK\lib\amd64\diaguids.lib' [%SRC_DIR%\ffi\build\llvmlite.vcxproj] |
cc @stuartarchibald (for awareness) |
@jakirkham I think the recipe is using LLVM 11. IIRC, whilst you can still build |
@conda-forge-admin, please re-render |
Hi! This is the friendly automated conda-forge-webservice. I tried to rerender for you, but it looks like there was nothing to do. This message was generated by GitHub actions workflow run https://github.com/conda-forge/llvmlite-feedstock/actions/runs/4874281264. |
Ah thanks Stuart! Missed this. Have pushed a change to move to 14.
The Windows issues seem to happen on CPython & PyPy. Looks like the same linking issue AFAICT. Though maybe it is worth waiting for LLVM 14 builds to see if this just due to an old library on VMs that have largely moved on The other PyPy issues were on Linux ( |
No problem, thanks for doing that.
Unfortunately, it seems like this error is still present when using LLVM 14.
All the failing tests are those which rely on a custom LLVM compiler pass that is compiled and shipped from |
Are any of these issues related to missing patches to LLVM ( conda-forge/llvmdev-feedstock#192 ) ( conda-forge/llvmdev-feedstock#209 )? |
cc @mattip (in case the FFI PyPy errors seem familiar) |
PyPy refactored the way it uses variadac arguments in the release of about a year ago, when we added support for M1 and its calling convention. Now functions with poorly specified arguments can fall afoul of using variadac arguments where not expected. There is some discussion of the problem in this issue. Is there an easy way to reduce this to a smaller reproducer? |
1 similar comment
PyPy refactored the way it uses variadac arguments in the release of about a year ago, when we added support for M1 and its calling convention. Now functions with poorly specified arguments can fall afoul of using variadac arguments where not expected. There is some discussion of the problem in this issue. Is there an easy way to reduce this to a smaller reproducer? |
There's a number of tests referred to in the PyPy build logs that run into some form of this error. Here's a list of the unit test functions:
Am a little unsure how we get from one of these tests to a simpler reproducer. Maybe someone else can advise? Alternatively could try running one of these tests to see what happens Sorry not to be more helpful here |
Would it be possible to already release the packages for which the build succeeds? Or does that create too much overhead? We are very interested in getting numba on python 3.11 using conda-forge, but are fine with cpython on linux x86 and macos |
Ah, I notice there aren't any python 3.11 builds (yet?) in this PR |
Given there are a few upstream issues in the LLVM packages being worked on ( #69 (comment) ), it is probably better to wait on those
Depends on PR ( #66 ) Edit: Merged those changes into this PR |
…cf-autotick-bot/0.40.0_hd95a06
@jakirkham the failure on PyPy is tracked by numba/llvmlite#944 and hopefully fixed by numba/llvmlite#945, which will be in a llvmlite 0.40.1 release. The hint for working out what was wrong was from @mattip mentioning variadic arg handling changes here #69 (comment) and that lead to us finding a location where they were potentially being used where something concrete was possible. Thanks for the help with this! |
Thanks Stuart! 🙏 Would it make sense to apply PR ( numba/llvmlite#945 ) as a patch here? Or is the hot-fix release coming out soon? |
To clarify, does that mean the build issues in this PR isn't related to the quoted |
Both of those PRs are relevant for Numba specifically What was less clear (hence the question) was whether they contributed to the CI failures in this PR |
Have gone ahead and applied a patch for the PyPy issue Also there have been some rebuilds of LLVM recently, which may have fixed some issues on Windows. Though the PRs noted above are still pending Will see how things look in fresh builds |
So far this is looking good. Going to go ahead and add automerge to get these out (once CI is done) As LLVM is linked to dynamically, those fixes will get picked up whenever a new build of that package is made |
Hi! This is the friendly conda-forge automerge bot! I considered the following status checks when analyzing this PR:
Thus the PR was passing and merged! Have a great day! |
@jakirkham apologies for the slow reply. |
No worries. Thanks for getting back to me 🙏 Sounds good. Looked at the project board and got the sense there was more work to do there Yeah happy to carry a patch for a little bit until a new release appears Yep think the issue was LLVM packages were built with older Windows toolchains. So any new build would have fixed it (and there were several builds recently for various changes) Still would be good to have LLVM rebuilt with these patches ( conda-forge/llvmdev-feedstock#192 ), but there isn't anything else needed here to use those packages (once built) |
It is very likely that the current package version for this feedstock is out of date.
Checklist before merging this PR:
license_file
is packagedInformation about this PR:
@conda-forge-admin,
please add bot automerge
in the title and merge the resulting PR. This command will add our bot automerge feature to your feedstock.bot-rerun
label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase@conda-forge-admin, please rerun bot
in a PR comment to have theconda-forge-admin
add it for you.Dependency Analysis
Please note that this analysis is highly experimental. The aim here is to make maintenance easier by inspecting the package's dependencies. Importantly this analysis does not support optional dependencies, please double check those before making changes. If you do not want hinting of this kind ever please add
bot: inspection: false
to yourconda-forge.yml
. If you encounter issues with this feature please ping the bot teamconda-forge/bot
.Analysis by source code inspection shows no discrepancy with the stated requirements in the meta.yaml.
This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by https://github.com/regro/cf-scripts/actions/runs/4865207023, please use this URL for debugging.
Closes #66