cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://quodlibet.duckdns.org/irc/pypy/latest.log.html#irc-end ) | use cffi for calling C | if a pep adds a mere 25-30 [C-API] functions or so, it's a drop in the ocean (cough) - Armin
jvesely has quit [Quit: jvesely]
jcea has quit [Remote host closed the connection]
jcea has joined #pypy
<kenaan> Yannick_Jadoul backport-decode_timeval_ns-py3.7 37256ca2df2e /rpython/rlib/rtime.py: Backport decode_timeval_ns from py3.7 branch
jvesely has joined #pypy
CrazyPython has joined #pypy
CrazyPython has quit [Ping timeout: 240 seconds]
<_aegis_> arigato: I have a small list of libraries the symbol might come from, including my own executable. on mac/linux it's sufficient to just dlopen(None)
<_aegis_> a dlsym hook would be perfect for me
<_aegis_> I'm loading hundreds of functions from several libraries and the "host" executable that embeds python
<_aegis_> I'm using a single ffi/lib pair for this, and a script that ingests dozens of headers to precompile them (a CompiledFFI object)
<_aegis_> it would be a massive pain to use several (5-10?) ffi/lib pairs instead of just the omnibus one
<_aegis_> but as far as I can tell there's no way for CFFI to load from multiple libraries, and there's no way to say "load from my own executable symbol space" either
<_aegis_> a wrapper library that re-exports the symbols on windows would work in theory but I don't know how to do that offhand, and it honestly feels way less clean to do that than to just use my own symbol loader
<_aegis_> I've had other uses for a symbol loader in cffi (like my crossldso project), so if a dlsym hook is far enough removed from my crimes for you to consider it, I'm fine with that and it's still much nicer for me than faking the lib object
<_aegis_> (this isn't a single library <-> python bindings project, it's a complex desktop application that exposes a bunch of artisinal APIs at once from different shared libs)
<_aegis_> doing it this way basically allows me to create a new C header in the right place and start using that symbol immediately from python, which is extremely convenient
<kenaan> mattip py3.6 ef6a3e3097d2 /pypy/config/pypyoption.py: add missing reinterpretasserts option
<kenaan> mattip default b3fa16549942 /rpython/rlib/compilerinfo.py: add " 32 bit" (with space) to version name on win32
lritter has quit [Ping timeout: 265 seconds]
lritter has joined #pypy
jcea has quit [Quit: jcea]
andi- has quit [Remote host closed the connection]
andi- has joined #pypy
tsaka__ has joined #pypy
tsaka_ has quit [Ping timeout: 250 seconds]
lritter has quit [Ping timeout: 265 seconds]
dddddd has quit [Read error: Connection reset by peer]
jvesely has quit [Quit: jvesely]
_whitelogger has joined #pypy
jacob22 has joined #pypy
tsaka__ has quit [Ping timeout: 245 seconds]
tsaka__ has joined #pypy
tsaka__ has quit [Ping timeout: 276 seconds]
tsaka__ has joined #pypy
Ai9zO5AP has joined #pypy
_whitelogger has joined #pypy
antocuni has quit [Ping timeout: 268 seconds]
oberstet has joined #pypy
<kenaan> mattip py3.6 feb30e690128 /rpython/rlib/compilerinfo.py: merge default into py.36
<kenaan> rlamy py3.6 e5954b7c1f06 /pypy/: Remove reinterpretasserts again (redo 18d56b560287)
Taggnostr has quit [Remote host closed the connection]
<arigato> ronan: just wondering, pypy/conftest.py still has the line ``args.append('--assert=reinterp')``
Taggnostr has joined #pypy
antocuni has joined #pypy
<kenaan> mattip wininstaller_py2 eab10f6abe32 /: backport wininstaller, PCbuild directories from windowsinstaller
<kenaan> mattip wininstaller_py2 91bc7f57d2c8 /: ignore '__pycache__' during build, hgignore build artifacts
<kenaan> mattip wininstaller_py2 8e4c447b8d6c /: adjust for python2
<ronan> arigato: that's a different issue. You're talking about interpreter-level reinterpretation. feb30e690128 removes app-level reinterpretation
Rhy0lite has joined #pypy
<arigato> ronan: OK I wasn't sure
<kenaan> rlamy py3.6 7d21b9cbf13a /pypy/interpreter/: Evaluate target only once when doing an annotated setitem
ronan has quit [Quit: Ex-Chat]
jcea has joined #pypy
dddddd has joined #pypy
mattip_ has joined #pypy
<mattip_> ronan (for the logs): sorry about e5954b7c1f06 making you redo 18d56b560287
<mattip_> merging to py3.6 from default, I must have messed that up
<mattip_> maybe comment it out instead of deleting, so it is clear it should not be there on py3
<mattip_> ?
CrazyPython has joined #pypy
altendky has joined #pypy
jvesely has joined #pypy
tsaka_ has joined #pypy
tsaka__ has quit [Ping timeout: 276 seconds]
jacob22 has quit [Ping timeout: 240 seconds]
<antocuni> mattip_: I am looking at pypywheels failures. It seems that building scipy has been failing for a while now
<antocuni> I think that the problem is here: https://travis-ci.org/antocuni/pypy-wheels/jobs/610389126#L277
<antocuni> it tries to find "openblas_lapack_info" (which should be installed by apt install libopenblas-dev), but the check fails because of "undefined reference to `zungqr_'" (line 289)
<antocuni> which brought me to this bug, which contains some comments by you as well: https://github.com/numpy/numpy/issues/7779
<antocuni> so, if you wanted a reproducer for those bug, I might have found it :)
<antocuni> and if you also have any insight of how to fix/workaround the problem, I'd be glad to hear
<antocuni> (note that I get this problem only on my ubuntu-based builds. The manylinux builds work fine, where I install openblas by doing "yum install -y openblas-devel"
<mattip_> ok, I can look a bit later
<antocuni> thanks
<mattip_> it is looking in /usr/lib, and finds an openblas, but it must be the wrong one?
<antocuni> I think it is the ONLY one
<antocuni> it's a plain ubuntu14.04 image with apt install libopenblas-dev
<antocuni> FWIW, it doesn't seem to be a problem of pypy
<mattip_> the system openblas is too old. NumPy downloads one using `python numpy/tools/openblas_support.py`
<antocuni> I managed to get the same error with cpython3.4, by doing pip install numpy==1.14.3 && pip install scipy==1.2.2
<antocuni> ah ok
<mattip_> I think scipy's CI also downloads a more recent openblas
<antocuni> is it enough to run "openblas_support.py"?
<mattip_> that returns the location where it unpacks the openblas, then you need to set INCLUDE/LDFLAGS
<antocuni> ah, but then it cannot work now that I think of it
<antocuni> since I am building ubuntu wheels, I want to use the system libraries
<antocuni> else the produced wheels will be unusable
<antocuni> maybe it is enough to use a newer ubuntu image
<mattip_> which ubuntu are you currently using?
<antocuni> 14.04
<antocuni> (I mean, a docker image of ubuntu 14.04)
<mattip_> yeah, that's dead. 16.04 is EOL in April 2020 I think
<antocuni> or maybe I could just drop support for scipy: if someone wants a scipy wheel, it should switch to the manylinux ones :)
<mattip_> +1 for manylinux wheels
<antocuni> I am going to merge it to master soon, so the "default" pypy wheels you get by using the README are manylinux
<antocuni> but I also wanted to keep the ubuntu wheels for a while, on a separate branch... that why I'm fighting with them
<mattip_> cool. Maybe add a link to the index page to the README, I want to browse what wheels are available
<mattip_> but https://antocuni.github.io/pypy-wheels gives me a 404
<antocuni> good idea
<antocuni> uh?
<antocuni> that page works for me
<mattip_> that's weird, now it works, and a second ago it didn't
<antocuni> ok
<antocuni> I should update it to point to manylinux, though
<mattip_> wow, that is worth a tweet/blogpost ! Thanks for doing that !
<antocuni> yes, I want to polish things up though
<antocuni> also, we should do a pypy release shipping a pip which automatically uses manylinux wheels, else people will be confused
<Dejan> i wonder will it work on Fedora/CentOS
<antocuni> they should
<mattip_> right, HEAD does that, I should release it soon.
<mattip_> I wanted to transition the linux buildbots to the docker-based portable one first
<antocuni> mattip_: ah, something to fix is probably openblas: right now I am installing it using yum install, but I seem to understand that numpy/scipy does it differently
YannickJadoul has joined #pypy
<mattip_> well, the real solution to that is to get those projects to build pypy manlinux2010 wheels
<YannickJadoul> antocuni: Is it not possible to upload PyPy manylinux wheels to PyPI?
<antocuni> YannickJadoul: yes it is, but only if we are the project maintainer
<YannickJadoul> Ah, yes, ofc
<antocuni> eventually I hope that numpy/scipy/etc will upload their own pypy wheels, but you should ask mattip_ about that :)
<mattip_> it really is just one more build in their matrix now
oberstet has quit [Remote host closed the connection]
<YannickJadoul> mattip_: Re. the wheel filenames: did you try this build on Windows?
<YannickJadoul> Because on linux, the filenames are as expected ({package_name}-{package_version}-pp372-pypy3_72-manylinux2010_x86_64.whl)
oberstet has joined #pypy
<mattip_> and on windows?
<YannickJadoul> There I get {package_name}-{package_version}-pp372-pp372-win32.whl
<YannickJadoul> (But only for Python 3, for Python 2, I get {package_name}-{package_version}-pp272-pypy_41-win32.whl)
<mattip_> that is an old versions of all linux, windows, python2, python3. What do you get on HEAD? You can try a nightly build
<YannickJadoul> I'm running that now: https://travis-ci.org/YannickJadoul/cibuildwheel
<YannickJadoul> I thought I had tried that; maybe something went wrong
<YannickJadoul> It does fails to deliver the expected filename: https://travis-ci.org/YannickJadoul/cibuildwheel/jobs/610444211#L147
<mattip_> where is the line that downloads from pypy.buildbot.org/nightly? You might want to print the version so you can see it in the CI logs
<YannickJadoul> Yeah, the output is a bit messed up, but it's here: https://travis-ci.org/YannickJadoul/cibuildwheel/jobs/610444211#L625
CrazyPython has quit [Ping timeout: 245 seconds]
<mattip_> rather than `pip wheel ...` can you do `path\to\pypy\pypy -mpip wheel ...`? maybe the paths are messed up, as it says in stderr later on
<mattip_> I ran that locally a few days ago and it created different wheels
<mattip_> they had pp36_72 in the name
<YannickJadoul> Right, sorry that took a while, but it's still failing, it seems: https://travis-ci.org/YannickJadoul/cibuildwheel/jobs/610464698
antocuni has quit [Ping timeout: 268 seconds]
oberstet has quit [Remote host closed the connection]
oberstet has joined #pypy
tsaka_ has quit [Ping timeout: 276 seconds]
jvesely has quit [Quit: jvesely]
jvesely has joined #pypy
jvesely has quit [Client Quit]
<Dejan> I hope one day antocuni's wheel repo will have aarch64 wheels too :)
kenaan has quit [Ping timeout: 240 seconds]
<mattip_> manylinux2014 will support non-x86 architectures, and it is ready for release
lritter has joined #pypy
yajadoul has joined #pypy
YannickJadoul has quit [Ping timeout: 240 seconds]
yajadoul has quit [Quit: Leaving]
YannickJadoul has joined #pypy
CrazyPython has joined #pypy
bernte has quit [Remote host closed the connection]
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/4937 [mattip: force build, code_page-utf8 ]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/4937 [mattip: force build, code_page-utf8 ]
tsaka_ has joined #pypy
i9zO5AP has joined #pypy
Ai9zO5AP has quit [Ping timeout: 276 seconds]
mvantellingen has quit [Ping timeout: 246 seconds]
mvantellingen has joined #pypy
<bbot2> Started: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/4938 [mattip: force build, code_page-utf8]
<bbot2> Failure: http://buildbot.pypy.org/builders/pypy-c-jit-win-x86-32/builds/4938 [mattip: force build, code_page-utf8]
tsaka_ has quit [Ping timeout: 268 seconds]
jvesely has joined #pypy
i9zO5AP has quit [Quit: WeeChat 2.5]
Rhy0lite has quit [Quit: Leaving]
jacob22 has joined #pypy
CrazyPython has quit [Ping timeout: 252 seconds]
tsaka_ has joined #pypy
kenaan has joined #pypy
<kenaan> Yannick_Jadoul py3.7-pep565 a21b521df584 /pypy/module/_warnings/: Implementing PEP 565, showing DeprecationWarning in __main__ by default
jacob22 has quit [Ping timeout: 265 seconds]
YannickJadoul has quit [Quit: Leaving]
ronan has joined #pypy
tsaka_ has quit [Ping timeout: 268 seconds]
ronan has quit [Ping timeout: 240 seconds]