From fijall at gmail.com Thu Aug 1 07:22:30 2019 From: fijall at gmail.com (Maciej Fijalkowski) Date: Thu, 1 Aug 2019 13:22:30 +0200 Subject: [pypy-dev] Python 2 vs Python 3 again, and a 2.x-only dependency In-Reply-To: References: Message-ID: Hi Ryan RPython has no plans to move to python3. There are no dependencies that we can't vendor that will become a problem. We expect Python2 to be available (and pypy stepping in if necessary) for a long time in the future. The reason is very prosaic - it's a lot of work for absolutely no reward. It has nothing to do with a vision and opinions etc. The only win we would have is that we can then drop support for having Python 2 interpreter. But we're not going to do that! Vast majority of PyPy users use Python 2 and it might stay that way for quite some time. Best, Maciej Fijalkowski On Wed, Jul 17, 2019 at 5:09 AM Ryan Gonzalez wrote: > > I mean once Python 2 is EOL requiring it for bootstrap might not be as practical, and PyPy requiring itself to bootstrap would be doable but a bit trickier. > > On Tue, Jul 16, 2019, 3:35 AM William ML Leslie wrote: >> >> >> >> On Tue., 16 Jul. 2019, 2:34 pm Ryan Gonzalez, wrote: >>> >>> I'm actually largely wondering if RPython is going to eventually move to 3... >>>> >>>> >> >> Significant effort, for what benefit exactly? >> _______________________________________________ >> pypy-dev mailing list >> pypy-dev at python.org >> https://mail.python.org/mailman/listinfo/pypy-dev > > _______________________________________________ > pypy-dev mailing list > pypy-dev at python.org > https://mail.python.org/mailman/listinfo/pypy-dev From tismer at stackless.com Thu Aug 8 07:40:14 2019 From: tismer at stackless.com (Christian Tismer) Date: Thu, 8 Aug 2019 13:40:14 +0200 Subject: [pypy-dev] better line number information in PyPy3 In-Reply-To: References: Message-ID: Hi Carl, I happened to stumble into this and saw your mail. This makes sense to me, rather cheap correctness is a good thing. Can we not at the same time negotiate with CPython to make their lineno info equally correct, maybe in 3.8 9 or at least 3.9? Cheers -- Chris On 05.06.19 10:57, Carl Friedrich Bolz wrote: > Hi all, > > This is a discussion mail about improving the traceback line number > quality in PyPy3. Some context: > > CPython has started supporting negative line number offset from one > bytecode to the next in its lnotab encoding, see here: > > https://bugs.python.org/issue26107 > https://github.com/python/cpython/commit/f3914eb16d2#diff-cb296cc5109f5640ff3f6d7198a6abee > > (Please don't ask me why not a single test was added for this new feature.) > > However, the support is so far only theoretically possible, the Python > 3.7/3.8 bytecode compiler does not seem to make use of the feature. > Negative line number jumps occur quite regularly with continuation > lines, eg like this: > > def foobar(a, b): > return "" + (1, > a, > b, > 2 > ) > > If you call this function, the traceback will contain this line: > > File "x.py", line 5, in foobar > 2 > TypeError: can only concatenate str (not "tuple") to str > > Which is obviously misleading. > > > A slightly more realistic example are function decorators. There, the > execution order is regularly "backwards": first the function > definition is executed, then the individual decorators are run. There > is currently a hack to sometimes leave the line number on the line of > the first decorator, leading to confusing tracebacks. Example: > > def works(f): > return f > > def broken(f): > assert 0 > > @works > @broken > @works > def g(): > pass > > > Running this, you'll get the following traceback: > > Traceback (most recent call last): > File "y.py", line 9, in > @works > File "y.py", line 5, in broken > assert 0 > AssertionError > > Pointing you again to the wrong line. > > > We could fix this problem rather easily by removing the code that > prevents the bytecode compiler from emitting negative line number > offsets. Should I implement this? > > Advantages: > - A lot less confusing tracebacks in real-world cases > > Disadvantages: > - Different behavior from CPython (but arguably more correct) > - Tracing tools could potentially be confused > - Potentially larger lnotab strings due to more jumping around > > Cheers, > > Carl Friedrich > _______________________________________________ > pypy-dev mailing list > pypy-dev at python.org > https://mail.python.org/mailman/listinfo/pypy-dev > -- Christian Tismer :^) tismer at stackless.com Software Consulting : http://www.stackless.com/ Karl-Liebknecht-Str. 121 : https://github.com/PySide 14482 Potsdam : GPG key -> 0xFB7BEE0E phone +49 173 24 18 776 fax +49 (30) 700143-0023 From tim at palpant.us Fri Aug 9 13:19:09 2019 From: tim at palpant.us (Timothy Palpant) Date: Fri, 9 Aug 2019 13:19:09 -0400 Subject: [pypy-dev] Profiling another thread with VMProf real_time Message-ID: Hi team, I would like to use VMProf to perform wall-clock profiling (real_time=True) on another thread in my application. I made a proposal for enabling this in https://github.com/vmprof/vmprof-python/issues/201 and a corresponding patch in https://github.com/vmprof/vmprof-python/pull/205. I was hoping someone could help review it. I'm also happy to have input (and have some time to work on it) if someone thinks there is a better approach. I've a handful of other small patches proposed as well to try to help fix the build on OS X and the real_time_threaded tests, but I'm mostly interested in this one. Thanks! Tim -------------- next part -------------- An HTML attachment was scrubbed... URL: From armin.rigo at gmail.com Tue Aug 13 05:37:33 2019 From: armin.rigo at gmail.com (Armin Rigo) Date: Tue, 13 Aug 2019 11:37:33 +0200 Subject: [pypy-dev] Sandbox 2 Message-ID: Hi all, I've got an early but probably usable PyPy and PyPy3 with sandboxing. Like the old sandboxing, these new versions are made out of a special version of PyPy (or PyPy3, which is new), running in a mode where no direct I/O should be possible; and a separate controller process. The communication between these two processes has been rewritten. Now, it actually looks similar to the communication between a process and a OS kernel. For example, when a regular process wants to write data to a file, it calls the OS function "write(int fd, char *buf, size_t count)" (actually it calls the standard C library, which is itself a relatively thin wrapper around the OS, but we'll ignore that). Then the OS proceeds to read directly the part of the memory owned by the process, from addresses "buf" to "buf + count". In the sandboxed version of PyPy, this is replaced by the sandboxed process saying to the controller process "I'm trying to call write() with these three arguments: two numbers and one pointer". Assuming that the controller supports "write()", it contains logic that will then ask the sandboxed process for the content of some of its memory, from "buf" to "buf + count". In other system calls like "read(fd, buf, count)", the controller would write (instead of reading) data into the sandboxed process' raw memory, between "buf" and "buf + count". This approach means that a single sandboxed PyPy (or PyPy3) is needed, and it supports out of the box all "system calls". It's up to the controller process to either support them or not, and when it does, to do things like (if necessary) reading and writing raw memory from/to the sandboxed subprocess. It puts more responsibility into the hands of the controller process, but is also far more flexible. It is the same security approach as for the OS, basically: the sandboxed process can do whatever it wants but all its I/O are tightly controlled. Sources: * The sandboxed PyPy including the necessary RPython changes is in PyPy's standard repo, branch "sandbox-2". Translate with ``rpython/bin/rpython -O2 --sandbox``. * The PyPy3 version is in the branch "py3.6-sandbox-2". Same command to translate. * The controller process, or at least one possible version of it, has been split into its own repo: http://bitbucket.org/pypy/sandboxlib . This is CPython-or-PyPy-2-or-3 source code. You need to run ``setup.py build_ext -f -i``. To run the tests (with pytest), make a symlink from ``test/pypy-c-sandbox`` to the sandboxed version built above. Try also ``interact.py``. Right now there is no way to limit the amount of RAM of CPU time consumed by the sandboxed process, but I think it should be done with standard platform tools (e.g. ``ulimit``). Please try it out and give me any feedback ! A bient?t, Armin. From rymg19 at gmail.com Tue Aug 13 22:58:44 2019 From: rymg19 at gmail.com (Ryan Gonzalez) Date: Tue, 13 Aug 2019 21:58:44 -0500 Subject: [pypy-dev] Sandbox 2 In-Reply-To: References: Message-ID: Just as a random side note, this reminds me a bit of https://gvisor.dev/ On Tue, Aug 13, 2019, 4:41 AM Armin Rigo wrote: > Hi all, > > I've got an early but probably usable PyPy and PyPy3 with sandboxing. > Like the old sandboxing, these new versions are made out of a special > version of PyPy (or PyPy3, which is new), running in a mode where no > direct I/O should be possible; and a separate controller process. > > The communication between these two processes has been rewritten. > Now, it actually looks similar to the communication between a process > and a OS kernel. For example, when a regular process wants to write > data to a file, it calls the OS function "write(int fd, char *buf, > size_t count)" (actually it calls the standard C library, which is > itself a relatively thin wrapper around the OS, but we'll ignore > that). Then the OS proceeds to read directly the part of the memory > owned by the process, from addresses "buf" to "buf + count". > > In the sandboxed version of PyPy, this is replaced by the sandboxed > process saying to the controller process "I'm trying to call write() > with these three arguments: two numbers and one pointer". Assuming > that the controller supports "write()", it contains logic that will > then ask the sandboxed process for the content of some of its memory, > from "buf" to "buf + count". > > In other system calls like "read(fd, buf, count)", the controller > would write (instead of reading) data into the sandboxed process' raw > memory, between "buf" and "buf + count". > > This approach means that a single sandboxed PyPy (or PyPy3) is needed, > and it supports out of the box all "system calls". It's up to the > controller process to either support them or not, and when it does, to > do things like (if necessary) reading and writing raw memory from/to > the sandboxed subprocess. It puts more responsibility into the hands > of the controller process, but is also far more flexible. It is the > same security approach as for the OS, basically: the sandboxed process > can do whatever it wants but all its I/O are tightly controlled. > > > Sources: > > * The sandboxed PyPy including the necessary RPython changes is in > PyPy's standard repo, branch "sandbox-2". Translate with > ``rpython/bin/rpython -O2 --sandbox``. > > * The PyPy3 version is in the branch "py3.6-sandbox-2". Same command > to translate. > > * The controller process, or at least one possible version of it, has > been split into its own repo: http://bitbucket.org/pypy/sandboxlib . > This is CPython-or-PyPy-2-or-3 source code. You need to run > ``setup.py build_ext -f -i``. To run the tests (with pytest), make a > symlink from ``test/pypy-c-sandbox`` to the sandboxed version built > above. Try also ``interact.py``. > > Right now there is no way to limit the amount of RAM of CPU time > consumed by the sandboxed process, but I think it should be done with > standard platform tools (e.g. ``ulimit``). > > > Please try it out and give me any feedback ! > > > A bient?t, > > Armin. > _______________________________________________ > pypy-dev mailing list > pypy-dev at python.org > https://mail.python.org/mailman/listinfo/pypy-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From armin.rigo at gmail.com Thu Aug 15 03:02:08 2019 From: armin.rigo at gmail.com (Armin Rigo) Date: Thu, 15 Aug 2019 09:02:08 +0200 Subject: [pypy-dev] Sandbox 2 In-Reply-To: References: Message-ID: Hi Ryan, On Wed, 14 Aug 2019, 4:58 AM Ryan Gonzalez wrote: > Just as a random side note, this reminds me a bit of https://gvisor.dev/ > Thanks. Yes, that's similar. The main difference is that our approach is slightly more portable and works at the slightly higher level of the C library interface rather than really the system calls. I also guess that it is easier to integrate the controller processing into any existing program (not sure how easy that is with gvisor.dev). A bient?t, Armin -------------- next part -------------- An HTML attachment was scrubbed... URL: From bob at mssun.me Sun Aug 18 19:34:27 2019 From: bob at mssun.me (Mingshen Sun) Date: Sun, 18 Aug 2019 16:34:27 -0700 Subject: [pypy-dev] RPython by Example Message-ID: Hi all, I think RPython is a very promising language in some scenarios other than implementing PyPy itself. However, the usages (specs) of RPython are not very intuitive. Therefore, after reading the documentations and source code of PyPy/RPython, I started to write a "book" titled RPython by Example. Some chapters are still missing and not complete, and I'll continue improve it. Feel free to ask me any questions about the "book". Thanks. Link: https://github.com/mesalock-linux/rpython-by-example Rendered: - HTML: https://mesapy.org/rpython-by-example/ - PDF: https://mesapy.org/rpython-by-example/RPythonByExample.pdf -- Best, Mingshen Sun From robert.whitcher at rubrik.com Wed Aug 21 19:02:42 2019 From: robert.whitcher at rubrik.com (Robert Whitcher) Date: Wed, 21 Aug 2019 18:02:42 -0500 Subject: [pypy-dev] Help Understanding Memory Consumption Message-ID: Hi, I am running a very simple test case (as we are hitting OOM on our larger PyPy deployments) and I'd love some help understanding what is happening here.... We have a lot of processes that send messages to each other. These can be large JSON serializations of objects. But the memory being consumed seems out of order and hard to manage across processes. I have this loop running: import time import json def main(): with open("/tmp/test12334.1234", "r") as f: json_msg = f.read() while True: j = json.loads(json_msg) time.sleep(10) if __name__ == "__main__": main() I have tried 3 separate general runs across both pypy and cpython. The first does nothing but the sleep (it doesn't load or json the message) The second just loaded the json_str from a file The third is the full loop. If I run this in cpython I get (80MB, 92MB and 136MB) respectively This makes sense as the file is 11MB json serialization of a dictionary and json.loads takes up some memory However if I run this in pypy I get 120MB, 153MB and between 360-405MB when it settles out. I get the JIT and startup memory being higher, spending a little more loading the string but WOW does json loading the string chew up a bunch. Multiplying that memory across processes is eating a bunch. What easy things am I missing? Thanks, Rob -------------- next part -------------- An HTML attachment was scrubbed... URL: From cfbolz at gmx.de Thu Aug 22 02:00:47 2019 From: cfbolz at gmx.de (Carl Friedrich Bolz-Tereick) Date: Thu, 22 Aug 2019 08:00:47 +0200 Subject: [pypy-dev] Help Understanding Memory Consumption In-Reply-To: References: Message-ID: <1744D937-1E83-4A7D-8C35-157725398626@gmx.de> Hi Rob, Which version of PyPy are you running this with? I have a long running branch that I really should merge someday that is supposed to help with memory consumption of json deserialization. Is there a chance you could share a (anonymized) version of your test file? Alternatively, you could try a nightly build from this branch yourself: http://buildbot.pypy.org/nightly/json-decoder-maps-py3.6/ Carl Friedrich On August 22, 2019 1:02:42 AM GMT+02:00, Robert Whitcher wrote: >Hi, >I am running a very simple test case (as we are hitting OOM on our >larger >PyPy deployments) and I'd love some help understanding what is >happening >here.... >We have a lot of processes that send messages to each other. >These can be large JSON serializations of objects. >But the memory being consumed seems out of order and hard to manage >across >processes. > >I have this loop running: > >import time >import json > >def main(): > with open("/tmp/test12334.1234", "r") as f: > json_msg = f.read() > > while True: > j = json.loads(json_msg) > time.sleep(10) > >if __name__ == "__main__": > main() > > >I have tried 3 separate general runs across both pypy and cpython. >The first does nothing but the sleep (it doesn't load or json the >message) >The second just loaded the json_str from a file >The third is the full loop. > >If I run this in cpython I get (80MB, 92MB and 136MB) respectively >This makes sense as the file is 11MB json serialization of a dictionary >and >json.loads takes up some memory > >However if I run this in pypy I get 120MB, 153MB and between 360-405MB >when >it settles out. >I get the JIT and startup memory being higher, spending a little more >loading the string but WOW does json loading the string chew up a >bunch. > >Multiplying that memory across processes is eating a bunch. > >What easy things am I missing? > >Thanks, >Rob -------------- next part -------------- An HTML attachment was scrubbed... URL: From robert.whitcher at rubrik.com Thu Aug 22 07:34:11 2019 From: robert.whitcher at rubrik.com (Robert Whitcher) Date: Thu, 22 Aug 2019 06:34:11 -0500 Subject: [pypy-dev] Help Understanding Memory Consumption In-Reply-To: <1744D937-1E83-4A7D-8C35-157725398626@gmx.de> References: <1744D937-1E83-4A7D-8C35-157725398626@gmx.de> Message-ID: Shared test file with Carl (to avoid posting to everyones inbox). PyPy version is currently 6.0 (I don't have ability to affect a change here unless I can prove something) On Thu, Aug 22, 2019 at 1:00 AM Carl Friedrich Bolz-Tereick wrote: > Hi Rob, > > Which version of PyPy are you running this with? I have a long running > branch that I really should merge someday that is supposed to help with > memory consumption of json deserialization. Is there a chance you could > share a (anonymized) version of your test file? > > Alternatively, you could try a nightly build from this branch yourself: > > http://buildbot.pypy.org/nightly/json-decoder-maps-py3.6/ > > Carl Friedrich > > On August 22, 2019 1:02:42 AM GMT+02:00, Robert Whitcher < > robert.whitcher at rubrik.com> wrote: >> >> Hi, >> I am running a very simple test case (as we are hitting OOM on our larger >> PyPy deployments) and I'd love some help understanding what is happening >> here.... >> We have a lot of processes that send messages to each other. >> These can be large JSON serializations of objects. >> But the memory being consumed seems out of order and hard to manage >> across processes. >> >> I have this loop running: >> >> import time >> import json >> >> def main(): >> with open("/tmp/test12334.1234", "r") as f: >> json_msg = f.read() >> >> while True: >> j = json.loads(json_msg) >> time.sleep(10) >> >> if __name__ == "__main__": >> main() >> >> >> I have tried 3 separate general runs across both pypy and cpython. >> The first does nothing but the sleep (it doesn't load or json the message) >> The second just loaded the json_str from a file >> The third is the full loop. >> >> If I run this in cpython I get (80MB, 92MB and 136MB) respectively >> This makes sense as the file is 11MB json serialization of a dictionary >> and json.loads takes up some memory >> >> However if I run this in pypy I get 120MB, 153MB and between 360-405MB >> when it settles out. >> I get the JIT and startup memory being higher, spending a little more >> loading the string but WOW does json loading the string chew up a bunch. >> >> Multiplying that memory across processes is eating a bunch. >> >> What easy things am I missing? >> >> Thanks, >> Rob >> >> >> -- [image: photo] Robert Whitcher Member of Technical Staff at Rubrik M 512-633-1771 <512-633-1771> E robert.whitcher at rubrik.com W www.rubrik.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From cfbolz at gmx.de Thu Aug 22 12:27:37 2019 From: cfbolz at gmx.de (Carl Friedrich Bolz-Tereick) Date: Thu, 22 Aug 2019 18:27:37 +0200 Subject: [pypy-dev] Help Understanding Memory Consumption In-Reply-To: References: <1744D937-1E83-4A7D-8C35-157725398626@gmx.de> Message-ID: <070D6544-4E42-4E09-AC4E-E282BE1762C4@gmx.de> Hi Rob, I only looked briefly at your example so far but it seems to be dominated by one big string. Therefore you should definitely try PyPy 7.1. since that improves the size of strings dramatically. Cheers, Carl Friedrich On August 22, 2019 1:34:11 PM GMT+02:00, Robert Whitcher wrote: >Shared test file with Carl (to avoid posting to everyones inbox). >PyPy version is currently 6.0 (I don't have ability to affect a change >here >unless I can prove something) > >On Thu, Aug 22, 2019 at 1:00 AM Carl Friedrich Bolz-Tereick > >wrote: > >> Hi Rob, >> >> Which version of PyPy are you running this with? I have a long >running >> branch that I really should merge someday that is supposed to help >with >> memory consumption of json deserialization. Is there a chance you >could >> share a (anonymized) version of your test file? >> >> Alternatively, you could try a nightly build from this branch >yourself: >> >> http://buildbot.pypy.org/nightly/json-decoder-maps-py3.6/ >> >> Carl Friedrich >> >> On August 22, 2019 1:02:42 AM GMT+02:00, Robert Whitcher < >> robert.whitcher at rubrik.com> wrote: >>> >>> Hi, >>> I am running a very simple test case (as we are hitting OOM on our >larger >>> PyPy deployments) and I'd love some help understanding what is >happening >>> here.... >>> We have a lot of processes that send messages to each other. >>> These can be large JSON serializations of objects. >>> But the memory being consumed seems out of order and hard to manage >>> across processes. >>> >>> I have this loop running: >>> >>> import time >>> import json >>> >>> def main(): >>> with open("/tmp/test12334.1234", "r") as f: >>> json_msg = f.read() >>> >>> while True: >>> j = json.loads(json_msg) >>> time.sleep(10) >>> >>> if __name__ == "__main__": >>> main() >>> >>> >>> I have tried 3 separate general runs across both pypy and cpython. >>> The first does nothing but the sleep (it doesn't load or json the >message) >>> The second just loaded the json_str from a file >>> The third is the full loop. >>> >>> If I run this in cpython I get (80MB, 92MB and 136MB) respectively >>> This makes sense as the file is 11MB json serialization of a >dictionary >>> and json.loads takes up some memory >>> >>> However if I run this in pypy I get 120MB, 153MB and between >360-405MB >>> when it settles out. >>> I get the JIT and startup memory being higher, spending a little >more >>> loading the string but WOW does json loading the string chew up a >bunch. >>> >>> Multiplying that memory across processes is eating a bunch. >>> >>> What easy things am I missing? >>> >>> Thanks, >>> Rob >>> >>> >>> > >-- >[image: photo] >Robert Whitcher >Member of Technical Staff at Rubrik >M 512-633-1771 <512-633-1771> E robert.whitcher at rubrik.com > W www.rubrik.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: From robert.whitcher at rubrik.com Thu Aug 22 13:58:51 2019 From: robert.whitcher at rubrik.com (Robert Whitcher) Date: Thu, 22 Aug 2019 12:58:51 -0500 Subject: [pypy-dev] Installying pycrypto in 7.1.1? Message-ID: So 7.1.1 fixed my issue with string size *BUT* pip install pycrypto does not work... I get the following --- any thoughs? ?? $ pip install pycrypto Collecting pycrypto Cache entry deserialization failed, entry ignored Cache entry deserialization failed, entry ignored Downloading https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz (446kB) 100% |????????????????????????????????| 450kB 1.9MB/s Installing collected packages: pycrypto Running setup.py install for pycrypto ... error Complete output from command /home/datos/.pyenv/versions/pypy2.7-7.1.1/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-rGgV3v/pycrypto/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-UfVkX8-record/install-record.txt --single-version-externally-managed --compile: running install running build running build_py creating build creating build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/Crypto copying lib/Crypto/__init__.py -> build/lib.linux-x86_64-2.7/Crypto copying lib/Crypto/pct_warnings.py -> build/lib.linux-x86_64-2.7/Crypto creating build/lib.linux-x86_64-2.7/Crypto/Hash copying lib/Crypto/Hash/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/Hash copying lib/Crypto/Hash/SHA224.py -> build/lib.linux-x86_64-2.7/Crypto/Hash copying lib/Crypto/Hash/SHA384.py -> build/lib.linux-x86_64-2.7/Crypto/Hash copying lib/Crypto/Hash/SHA.py -> build/lib.linux-x86_64-2.7/Crypto/Hash copying lib/Crypto/Hash/MD4.py -> build/lib.linux-x86_64-2.7/Crypto/Hash copying lib/Crypto/Hash/RIPEMD.py -> build/lib.linux-x86_64-2.7/Crypto/Hash copying lib/Crypto/Hash/MD2.py -> build/lib.linux-x86_64-2.7/Crypto/Hash copying lib/Crypto/Hash/HMAC.py -> build/lib.linux-x86_64-2.7/Crypto/Hash copying lib/Crypto/Hash/SHA512.py -> build/lib.linux-x86_64-2.7/Crypto/Hash copying lib/Crypto/Hash/hashalgo.py -> build/lib.linux-x86_64-2.7/Crypto/Hash copying lib/Crypto/Hash/SHA256.py -> build/lib.linux-x86_64-2.7/Crypto/Hash copying lib/Crypto/Hash/MD5.py -> build/lib.linux-x86_64-2.7/Crypto/Hash creating build/lib.linux-x86_64-2.7/Crypto/Cipher copying lib/Crypto/Cipher/PKCS1_OAEP.py -> build/lib.linux-x86_64-2.7/Crypto/Cipher copying lib/Crypto/Cipher/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/Cipher copying lib/Crypto/Cipher/DES.py -> build/lib.linux-x86_64-2.7/Crypto/Cipher copying lib/Crypto/Cipher/ARC4.py -> build/lib.linux-x86_64-2.7/Crypto/Cipher copying lib/Crypto/Cipher/XOR.py -> build/lib.linux-x86_64-2.7/Crypto/Cipher copying lib/Crypto/Cipher/CAST.py -> build/lib.linux-x86_64-2.7/Crypto/Cipher copying lib/Crypto/Cipher/PKCS1_v1_5.py -> build/lib.linux-x86_64-2.7/Crypto/Cipher copying lib/Crypto/Cipher/blockalgo.py -> build/lib.linux-x86_64-2.7/Crypto/Cipher copying lib/Crypto/Cipher/AES.py -> build/lib.linux-x86_64-2.7/Crypto/Cipher copying lib/Crypto/Cipher/ARC2.py -> build/lib.linux-x86_64-2.7/Crypto/Cipher copying lib/Crypto/Cipher/DES3.py -> build/lib.linux-x86_64-2.7/Crypto/Cipher copying lib/Crypto/Cipher/Blowfish.py -> build/lib.linux-x86_64-2.7/Crypto/Cipher creating build/lib.linux-x86_64-2.7/Crypto/Util copying lib/Crypto/Util/asn1.py -> build/lib.linux-x86_64-2.7/Crypto/Util copying lib/Crypto/Util/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/Util copying lib/Crypto/Util/_number_new.py -> build/lib.linux-x86_64-2.7/Crypto/Util copying lib/Crypto/Util/winrandom.py -> build/lib.linux-x86_64-2.7/Crypto/Util copying lib/Crypto/Util/Counter.py -> build/lib.linux-x86_64-2.7/Crypto/Util copying lib/Crypto/Util/RFC1751.py -> build/lib.linux-x86_64-2.7/Crypto/Util copying lib/Crypto/Util/py21compat.py -> build/lib.linux-x86_64-2.7/Crypto/Util copying lib/Crypto/Util/randpool.py -> build/lib.linux-x86_64-2.7/Crypto/Util copying lib/Crypto/Util/py3compat.py -> build/lib.linux-x86_64-2.7/Crypto/Util copying lib/Crypto/Util/number.py -> build/lib.linux-x86_64-2.7/Crypto/Util creating build/lib.linux-x86_64-2.7/Crypto/Random copying lib/Crypto/Random/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/Random copying lib/Crypto/Random/_UserFriendlyRNG.py -> build/lib.linux-x86_64-2.7/Crypto/Random copying lib/Crypto/Random/random.py -> build/lib.linux-x86_64-2.7/Crypto/Random creating build/lib.linux-x86_64-2.7/Crypto/Random/Fortuna copying lib/Crypto/Random/Fortuna/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/Random/Fortuna copying lib/Crypto/Random/Fortuna/SHAd256.py -> build/lib.linux-x86_64-2.7/Crypto/Random/Fortuna copying lib/Crypto/Random/Fortuna/FortunaGenerator.py -> build/lib.linux-x86_64-2.7/Crypto/Random/Fortuna copying lib/Crypto/Random/Fortuna/FortunaAccumulator.py -> build/lib.linux-x86_64-2.7/Crypto/Random/Fortuna creating build/lib.linux-x86_64-2.7/Crypto/Random/OSRNG copying lib/Crypto/Random/OSRNG/posix.py -> build/lib.linux-x86_64-2.7/Crypto/Random/OSRNG copying lib/Crypto/Random/OSRNG/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/Random/OSRNG copying lib/Crypto/Random/OSRNG/fallback.py -> build/lib.linux-x86_64-2.7/Crypto/Random/OSRNG copying lib/Crypto/Random/OSRNG/nt.py -> build/lib.linux-x86_64-2.7/Crypto/Random/OSRNG copying lib/Crypto/Random/OSRNG/rng_base.py -> build/lib.linux-x86_64-2.7/Crypto/Random/OSRNG creating build/lib.linux-x86_64-2.7/Crypto/SelfTest copying lib/Crypto/SelfTest/st_common.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest copying lib/Crypto/SelfTest/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher copying lib/Crypto/SelfTest/Cipher/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher copying lib/Crypto/SelfTest/Cipher/test_pkcs1_15.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher copying lib/Crypto/SelfTest/Cipher/test_ARC4.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher copying lib/Crypto/SelfTest/Cipher/test_AES.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher copying lib/Crypto/SelfTest/Cipher/test_ARC2.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher copying lib/Crypto/SelfTest/Cipher/test_Blowfish.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher copying lib/Crypto/SelfTest/Cipher/test_XOR.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher copying lib/Crypto/SelfTest/Cipher/test_DES.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher copying lib/Crypto/SelfTest/Cipher/common.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher copying lib/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher copying lib/Crypto/SelfTest/Cipher/test_CAST.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher copying lib/Crypto/SelfTest/Cipher/test_DES3.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash copying lib/Crypto/SelfTest/Hash/test_SHA256.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash copying lib/Crypto/SelfTest/Hash/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash copying lib/Crypto/SelfTest/Hash/test_MD2.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash copying lib/Crypto/SelfTest/Hash/test_HMAC.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash copying lib/Crypto/SelfTest/Hash/test_SHA384.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash copying lib/Crypto/SelfTest/Hash/test_RIPEMD.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash copying lib/Crypto/SelfTest/Hash/test_MD5.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash copying lib/Crypto/SelfTest/Hash/test_SHA.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash copying lib/Crypto/SelfTest/Hash/common.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash copying lib/Crypto/SelfTest/Hash/test_MD4.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash copying lib/Crypto/SelfTest/Hash/test_SHA224.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash copying lib/Crypto/SelfTest/Hash/test_SHA512.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/Protocol copying lib/Crypto/SelfTest/Protocol/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Protocol copying lib/Crypto/SelfTest/Protocol/test_rfc1751.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Protocol copying lib/Crypto/SelfTest/Protocol/test_chaffing.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Protocol copying lib/Crypto/SelfTest/Protocol/test_KDF.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Protocol copying lib/Crypto/SelfTest/Protocol/test_AllOrNothing.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Protocol creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/PublicKey copying lib/Crypto/SelfTest/PublicKey/test_ElGamal.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/PublicKey copying lib/Crypto/SelfTest/PublicKey/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/PublicKey copying lib/Crypto/SelfTest/PublicKey/test_DSA.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/PublicKey copying lib/Crypto/SelfTest/PublicKey/test_RSA.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/PublicKey copying lib/Crypto/SelfTest/PublicKey/test_importKey.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/PublicKey creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random copying lib/Crypto/SelfTest/Random/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random copying lib/Crypto/SelfTest/Random/test_random.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random copying lib/Crypto/SelfTest/Random/test_rpoolcompat.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random copying lib/Crypto/SelfTest/Random/test__UserFriendlyRNG.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/Fortuna copying lib/Crypto/SelfTest/Random/Fortuna/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/Fortuna copying lib/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/Fortuna copying lib/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/Fortuna copying lib/Crypto/SelfTest/Random/Fortuna/test_SHAd256.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/Fortuna creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/OSRNG copying lib/Crypto/SelfTest/Random/OSRNG/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/OSRNG copying lib/Crypto/SelfTest/Random/OSRNG/test_generic.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/OSRNG copying lib/Crypto/SelfTest/Random/OSRNG/test_nt.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/OSRNG copying lib/Crypto/SelfTest/Random/OSRNG/test_fallback.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/OSRNG copying lib/Crypto/SelfTest/Random/OSRNG/test_winrandom.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/OSRNG copying lib/Crypto/SelfTest/Random/OSRNG/test_posix.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/OSRNG creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/Util copying lib/Crypto/SelfTest/Util/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Util copying lib/Crypto/SelfTest/Util/test_asn1.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Util copying lib/Crypto/SelfTest/Util/test_number.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Util copying lib/Crypto/SelfTest/Util/test_winrandom.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Util copying lib/Crypto/SelfTest/Util/test_Counter.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Util creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/Signature copying lib/Crypto/SelfTest/Signature/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Signature copying lib/Crypto/SelfTest/Signature/test_pkcs1_15.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Signature copying lib/Crypto/SelfTest/Signature/test_pkcs1_pss.py -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Signature creating build/lib.linux-x86_64-2.7/Crypto/Protocol copying lib/Crypto/Protocol/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/Protocol copying lib/Crypto/Protocol/KDF.py -> build/lib.linux-x86_64-2.7/Crypto/Protocol copying lib/Crypto/Protocol/Chaffing.py -> build/lib.linux-x86_64-2.7/Crypto/Protocol copying lib/Crypto/Protocol/AllOrNothing.py -> build/lib.linux-x86_64-2.7/Crypto/Protocol creating build/lib.linux-x86_64-2.7/Crypto/PublicKey copying lib/Crypto/PublicKey/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/PublicKey copying lib/Crypto/PublicKey/_RSA.py -> build/lib.linux-x86_64-2.7/Crypto/PublicKey copying lib/Crypto/PublicKey/ElGamal.py -> build/lib.linux-x86_64-2.7/Crypto/PublicKey copying lib/Crypto/PublicKey/_DSA.py -> build/lib.linux-x86_64-2.7/Crypto/PublicKey copying lib/Crypto/PublicKey/DSA.py -> build/lib.linux-x86_64-2.7/Crypto/PublicKey copying lib/Crypto/PublicKey/RSA.py -> build/lib.linux-x86_64-2.7/Crypto/PublicKey copying lib/Crypto/PublicKey/pubkey.py -> build/lib.linux-x86_64-2.7/Crypto/PublicKey copying lib/Crypto/PublicKey/_slowmath.py -> build/lib.linux-x86_64-2.7/Crypto/PublicKey creating build/lib.linux-x86_64-2.7/Crypto/Signature copying lib/Crypto/Signature/__init__.py -> build/lib.linux-x86_64-2.7/Crypto/Signature copying lib/Crypto/Signature/PKCS1_v1_5.py -> build/lib.linux-x86_64-2.7/Crypto/Signature copying lib/Crypto/Signature/PKCS1_PSS.py -> build/lib.linux-x86_64-2.7/Crypto/Signature running build_ext running build_configure checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for __gmpz_init in -lgmp... yes checking for __gmpz_init in -lmpir... no checking whether mpz_powm is declared... yes checking whether mpz_powm_sec is declared... yes checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for inttypes.h... (cached) yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking stddef.h usability... yes checking stddef.h presence... yes checking for stddef.h... yes checking for stdint.h... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking wchar.h usability... yes checking wchar.h presence... yes checking for wchar.h... yes checking for inline... inline checking for int16_t... yes checking for int32_t... yes checking for int64_t... yes checking for int8_t... yes checking for size_t... yes checking for uint16_t... yes checking for uint32_t... yes checking for uint64_t... yes checking for uint8_t... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for memmove... yes checking for memset... yes configure: creating ./config.status config.status: creating src/config.h building 'Crypto.PublicKey._fastmath' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/src cc -pthread -fPIC -std=c99 -O3 -fomit-frame-pointer -Isrc/ -I/usr/include/ -I/home/datos/.pyenv/versions/pypy2.7-7.1.1/include -c src/_fastmath.c -o build/temp.linux-x86_64-2.7/src/_fastmath.o src/_fastmath.c: In function ?longObjToMPZ?: src/_fastmath.c:82:7: error: ?PyLongObject {aka struct }? has no member named ?ob_size? if (p->ob_size > 0) { ^ src/_fastmath.c:83:11: error: ?PyLongObject {aka struct }? has no member named ?ob_size? size = p->ob_size; ^ src/_fastmath.c:86:12: error: ?PyLongObject {aka struct }? has no member named ?ob_size? size = -p->ob_size; ^ src/_fastmath.c:93:22: error: ?PyLongObject {aka struct }? has no member named ?ob_digit? mpz_set_ui (temp, p->ob_digit[i]); ^ src/_fastmath.c:97:30: error: ?SHIFT? undeclared (first use in this function) mpz_mul_2exp (temp2, temp, SHIFT * i); ^ src/_fastmath.c:97:30: note: each undeclared identifier is reported only once for each function it appears in src/_fastmath.c: In function ?mpzToLongObj?: src/_fastmath.c:113:38: error: ?SHIFT? undeclared (first use in this function) int size = (mpz_sizeinbase (m, 2) + SHIFT - 1) / SHIFT; ^ src/_fastmath.c:118:20: warning: implicit declaration of function ?_PyLong_New? [-Wimplicit-function-declaration] PyLongObject *l = _PyLong_New (size); ^ src/_fastmath.c:118:20: warning: initialization makes pointer from integer without a cast [-Wint-conversion] src/_fastmath.c:130:4: error: ?PyLongObject {aka struct }? has no member named ?ob_digit? l->ob_digit[i] = (digit) (mpz_get_ui (temp) & MASK); ^ src/_fastmath.c:130:21: error: ?digit? undeclared (first use in this function) l->ob_digit[i] = (digit) (mpz_get_ui (temp) & MASK); ^ src/_fastmath.c:130:49: error: ?MASK? undeclared (first use in this function) l->ob_digit[i] = (digit) (mpz_get_ui (temp) & MASK); ^ src/_fastmath.c:135:22: error: ?PyLongObject {aka struct }? has no member named ?ob_digit? while ((i > 0) && (l->ob_digit[i - 1] == 0)) ^ src/_fastmath.c:140:3: error: ?PyLongObject {aka struct }? has no member named ?ob_size? l->ob_size = i * sgn; ^ error: command 'cc' failed with exit status 1 -- [image: photo] Robert Whitcher Member of Technical Staff at Rubrik M 512-633-1771 <512-633-1771> E robert.whitcher at rubrik.com W www.rubrik.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From robert.whitcher at rubrik.com Thu Aug 22 14:12:38 2019 From: robert.whitcher at rubrik.com (Robert Whitcher) Date: Thu, 22 Aug 2019 13:12:38 -0500 Subject: [pypy-dev] Installying pycrypto in 7.1.1? In-Reply-To: References: Message-ID: Never mind.... Seems like a machine issue. On Thu, Aug 22, 2019 at 12:58 PM Robert Whitcher wrote: > So 7.1.1 fixed my issue with string size *BUT* pip install pycrypto does > not work... > > I get the following --- any thoughs? > > ?? $ pip install pycrypto > Collecting pycrypto > Cache entry deserialization failed, entry ignored > Cache entry deserialization failed, entry ignored > Downloading > https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz > (446kB) > 100% |????????????????????????????????| 450kB 1.9MB/s > Installing collected packages: pycrypto > Running setup.py install for pycrypto ... error > Complete output from command > /home/datos/.pyenv/versions/pypy2.7-7.1.1/bin/python -u -c "import > setuptools, > tokenize;__file__='/tmp/pip-build-rGgV3v/pycrypto/setup.py';f=getattr(tokenize, > 'open', open)(__file__);code=f.read().replace('\r\n', > '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record > /tmp/pip-UfVkX8-record/install-record.txt > --single-version-externally-managed --compile: > running install > running build > running build_py > creating build > creating build/lib.linux-x86_64-2.7 > creating build/lib.linux-x86_64-2.7/Crypto > copying lib/Crypto/__init__.py -> build/lib.linux-x86_64-2.7/Crypto > copying lib/Crypto/pct_warnings.py -> build/lib.linux-x86_64-2.7/Crypto > creating build/lib.linux-x86_64-2.7/Crypto/Hash > copying lib/Crypto/Hash/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/Hash > copying lib/Crypto/Hash/SHA224.py -> > build/lib.linux-x86_64-2.7/Crypto/Hash > copying lib/Crypto/Hash/SHA384.py -> > build/lib.linux-x86_64-2.7/Crypto/Hash > copying lib/Crypto/Hash/SHA.py -> > build/lib.linux-x86_64-2.7/Crypto/Hash > copying lib/Crypto/Hash/MD4.py -> > build/lib.linux-x86_64-2.7/Crypto/Hash > copying lib/Crypto/Hash/RIPEMD.py -> > build/lib.linux-x86_64-2.7/Crypto/Hash > copying lib/Crypto/Hash/MD2.py -> > build/lib.linux-x86_64-2.7/Crypto/Hash > copying lib/Crypto/Hash/HMAC.py -> > build/lib.linux-x86_64-2.7/Crypto/Hash > copying lib/Crypto/Hash/SHA512.py -> > build/lib.linux-x86_64-2.7/Crypto/Hash > copying lib/Crypto/Hash/hashalgo.py -> > build/lib.linux-x86_64-2.7/Crypto/Hash > copying lib/Crypto/Hash/SHA256.py -> > build/lib.linux-x86_64-2.7/Crypto/Hash > copying lib/Crypto/Hash/MD5.py -> > build/lib.linux-x86_64-2.7/Crypto/Hash > creating build/lib.linux-x86_64-2.7/Crypto/Cipher > copying lib/Crypto/Cipher/PKCS1_OAEP.py -> > build/lib.linux-x86_64-2.7/Crypto/Cipher > copying lib/Crypto/Cipher/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/Cipher > copying lib/Crypto/Cipher/DES.py -> > build/lib.linux-x86_64-2.7/Crypto/Cipher > copying lib/Crypto/Cipher/ARC4.py -> > build/lib.linux-x86_64-2.7/Crypto/Cipher > copying lib/Crypto/Cipher/XOR.py -> > build/lib.linux-x86_64-2.7/Crypto/Cipher > copying lib/Crypto/Cipher/CAST.py -> > build/lib.linux-x86_64-2.7/Crypto/Cipher > copying lib/Crypto/Cipher/PKCS1_v1_5.py -> > build/lib.linux-x86_64-2.7/Crypto/Cipher > copying lib/Crypto/Cipher/blockalgo.py -> > build/lib.linux-x86_64-2.7/Crypto/Cipher > copying lib/Crypto/Cipher/AES.py -> > build/lib.linux-x86_64-2.7/Crypto/Cipher > copying lib/Crypto/Cipher/ARC2.py -> > build/lib.linux-x86_64-2.7/Crypto/Cipher > copying lib/Crypto/Cipher/DES3.py -> > build/lib.linux-x86_64-2.7/Crypto/Cipher > copying lib/Crypto/Cipher/Blowfish.py -> > build/lib.linux-x86_64-2.7/Crypto/Cipher > creating build/lib.linux-x86_64-2.7/Crypto/Util > copying lib/Crypto/Util/asn1.py -> > build/lib.linux-x86_64-2.7/Crypto/Util > copying lib/Crypto/Util/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/Util > copying lib/Crypto/Util/_number_new.py -> > build/lib.linux-x86_64-2.7/Crypto/Util > copying lib/Crypto/Util/winrandom.py -> > build/lib.linux-x86_64-2.7/Crypto/Util > copying lib/Crypto/Util/Counter.py -> > build/lib.linux-x86_64-2.7/Crypto/Util > copying lib/Crypto/Util/RFC1751.py -> > build/lib.linux-x86_64-2.7/Crypto/Util > copying lib/Crypto/Util/py21compat.py -> > build/lib.linux-x86_64-2.7/Crypto/Util > copying lib/Crypto/Util/randpool.py -> > build/lib.linux-x86_64-2.7/Crypto/Util > copying lib/Crypto/Util/py3compat.py -> > build/lib.linux-x86_64-2.7/Crypto/Util > copying lib/Crypto/Util/number.py -> > build/lib.linux-x86_64-2.7/Crypto/Util > creating build/lib.linux-x86_64-2.7/Crypto/Random > copying lib/Crypto/Random/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/Random > copying lib/Crypto/Random/_UserFriendlyRNG.py -> > build/lib.linux-x86_64-2.7/Crypto/Random > copying lib/Crypto/Random/random.py -> > build/lib.linux-x86_64-2.7/Crypto/Random > creating build/lib.linux-x86_64-2.7/Crypto/Random/Fortuna > copying lib/Crypto/Random/Fortuna/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/Random/Fortuna > copying lib/Crypto/Random/Fortuna/SHAd256.py -> > build/lib.linux-x86_64-2.7/Crypto/Random/Fortuna > copying lib/Crypto/Random/Fortuna/FortunaGenerator.py -> > build/lib.linux-x86_64-2.7/Crypto/Random/Fortuna > copying lib/Crypto/Random/Fortuna/FortunaAccumulator.py -> > build/lib.linux-x86_64-2.7/Crypto/Random/Fortuna > creating build/lib.linux-x86_64-2.7/Crypto/Random/OSRNG > copying lib/Crypto/Random/OSRNG/posix.py -> > build/lib.linux-x86_64-2.7/Crypto/Random/OSRNG > copying lib/Crypto/Random/OSRNG/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/Random/OSRNG > copying lib/Crypto/Random/OSRNG/fallback.py -> > build/lib.linux-x86_64-2.7/Crypto/Random/OSRNG > copying lib/Crypto/Random/OSRNG/nt.py -> > build/lib.linux-x86_64-2.7/Crypto/Random/OSRNG > copying lib/Crypto/Random/OSRNG/rng_base.py -> > build/lib.linux-x86_64-2.7/Crypto/Random/OSRNG > creating build/lib.linux-x86_64-2.7/Crypto/SelfTest > copying lib/Crypto/SelfTest/st_common.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest > copying lib/Crypto/SelfTest/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest > creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher > copying lib/Crypto/SelfTest/Cipher/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher > copying lib/Crypto/SelfTest/Cipher/test_pkcs1_15.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher > copying lib/Crypto/SelfTest/Cipher/test_ARC4.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher > copying lib/Crypto/SelfTest/Cipher/test_AES.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher > copying lib/Crypto/SelfTest/Cipher/test_ARC2.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher > copying lib/Crypto/SelfTest/Cipher/test_Blowfish.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher > copying lib/Crypto/SelfTest/Cipher/test_XOR.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher > copying lib/Crypto/SelfTest/Cipher/test_DES.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher > copying lib/Crypto/SelfTest/Cipher/common.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher > copying lib/Crypto/SelfTest/Cipher/test_pkcs1_oaep.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher > copying lib/Crypto/SelfTest/Cipher/test_CAST.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher > copying lib/Crypto/SelfTest/Cipher/test_DES3.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Cipher > creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash > copying lib/Crypto/SelfTest/Hash/test_SHA256.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash > copying lib/Crypto/SelfTest/Hash/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash > copying lib/Crypto/SelfTest/Hash/test_MD2.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash > copying lib/Crypto/SelfTest/Hash/test_HMAC.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash > copying lib/Crypto/SelfTest/Hash/test_SHA384.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash > copying lib/Crypto/SelfTest/Hash/test_RIPEMD.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash > copying lib/Crypto/SelfTest/Hash/test_MD5.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash > copying lib/Crypto/SelfTest/Hash/test_SHA.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash > copying lib/Crypto/SelfTest/Hash/common.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash > copying lib/Crypto/SelfTest/Hash/test_MD4.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash > copying lib/Crypto/SelfTest/Hash/test_SHA224.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash > copying lib/Crypto/SelfTest/Hash/test_SHA512.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Hash > creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/Protocol > copying lib/Crypto/SelfTest/Protocol/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Protocol > copying lib/Crypto/SelfTest/Protocol/test_rfc1751.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Protocol > copying lib/Crypto/SelfTest/Protocol/test_chaffing.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Protocol > copying lib/Crypto/SelfTest/Protocol/test_KDF.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Protocol > copying lib/Crypto/SelfTest/Protocol/test_AllOrNothing.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Protocol > creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/PublicKey > copying lib/Crypto/SelfTest/PublicKey/test_ElGamal.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/PublicKey > copying lib/Crypto/SelfTest/PublicKey/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/PublicKey > copying lib/Crypto/SelfTest/PublicKey/test_DSA.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/PublicKey > copying lib/Crypto/SelfTest/PublicKey/test_RSA.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/PublicKey > copying lib/Crypto/SelfTest/PublicKey/test_importKey.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/PublicKey > creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random > copying lib/Crypto/SelfTest/Random/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random > copying lib/Crypto/SelfTest/Random/test_random.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random > copying lib/Crypto/SelfTest/Random/test_rpoolcompat.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random > copying lib/Crypto/SelfTest/Random/test__UserFriendlyRNG.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random > creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/Fortuna > copying lib/Crypto/SelfTest/Random/Fortuna/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/Fortuna > copying lib/Crypto/SelfTest/Random/Fortuna/test_FortunaAccumulator.py > -> build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/Fortuna > copying lib/Crypto/SelfTest/Random/Fortuna/test_FortunaGenerator.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/Fortuna > copying lib/Crypto/SelfTest/Random/Fortuna/test_SHAd256.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/Fortuna > creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/OSRNG > copying lib/Crypto/SelfTest/Random/OSRNG/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/OSRNG > copying lib/Crypto/SelfTest/Random/OSRNG/test_generic.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/OSRNG > copying lib/Crypto/SelfTest/Random/OSRNG/test_nt.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/OSRNG > copying lib/Crypto/SelfTest/Random/OSRNG/test_fallback.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/OSRNG > copying lib/Crypto/SelfTest/Random/OSRNG/test_winrandom.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/OSRNG > copying lib/Crypto/SelfTest/Random/OSRNG/test_posix.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Random/OSRNG > creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/Util > copying lib/Crypto/SelfTest/Util/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Util > copying lib/Crypto/SelfTest/Util/test_asn1.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Util > copying lib/Crypto/SelfTest/Util/test_number.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Util > copying lib/Crypto/SelfTest/Util/test_winrandom.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Util > copying lib/Crypto/SelfTest/Util/test_Counter.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Util > creating build/lib.linux-x86_64-2.7/Crypto/SelfTest/Signature > copying lib/Crypto/SelfTest/Signature/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Signature > copying lib/Crypto/SelfTest/Signature/test_pkcs1_15.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Signature > copying lib/Crypto/SelfTest/Signature/test_pkcs1_pss.py -> > build/lib.linux-x86_64-2.7/Crypto/SelfTest/Signature > creating build/lib.linux-x86_64-2.7/Crypto/Protocol > copying lib/Crypto/Protocol/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/Protocol > copying lib/Crypto/Protocol/KDF.py -> > build/lib.linux-x86_64-2.7/Crypto/Protocol > copying lib/Crypto/Protocol/Chaffing.py -> > build/lib.linux-x86_64-2.7/Crypto/Protocol > copying lib/Crypto/Protocol/AllOrNothing.py -> > build/lib.linux-x86_64-2.7/Crypto/Protocol > creating build/lib.linux-x86_64-2.7/Crypto/PublicKey > copying lib/Crypto/PublicKey/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/PublicKey > copying lib/Crypto/PublicKey/_RSA.py -> > build/lib.linux-x86_64-2.7/Crypto/PublicKey > copying lib/Crypto/PublicKey/ElGamal.py -> > build/lib.linux-x86_64-2.7/Crypto/PublicKey > copying lib/Crypto/PublicKey/_DSA.py -> > build/lib.linux-x86_64-2.7/Crypto/PublicKey > copying lib/Crypto/PublicKey/DSA.py -> > build/lib.linux-x86_64-2.7/Crypto/PublicKey > copying lib/Crypto/PublicKey/RSA.py -> > build/lib.linux-x86_64-2.7/Crypto/PublicKey > copying lib/Crypto/PublicKey/pubkey.py -> > build/lib.linux-x86_64-2.7/Crypto/PublicKey > copying lib/Crypto/PublicKey/_slowmath.py -> > build/lib.linux-x86_64-2.7/Crypto/PublicKey > creating build/lib.linux-x86_64-2.7/Crypto/Signature > copying lib/Crypto/Signature/__init__.py -> > build/lib.linux-x86_64-2.7/Crypto/Signature > copying lib/Crypto/Signature/PKCS1_v1_5.py -> > build/lib.linux-x86_64-2.7/Crypto/Signature > copying lib/Crypto/Signature/PKCS1_PSS.py -> > build/lib.linux-x86_64-2.7/Crypto/Signature > running build_ext > running build_configure > checking for gcc... gcc > checking whether the C compiler works... yes > checking for C compiler default output file name... a.out > checking for suffix of executables... > checking whether we are cross compiling... no > checking for suffix of object files... o > checking whether we are using the GNU C compiler... yes > checking whether gcc accepts -g... yes > checking for gcc option to accept ISO C89... none needed > checking for __gmpz_init in -lgmp... yes > checking for __gmpz_init in -lmpir... no > checking whether mpz_powm is declared... yes > checking whether mpz_powm_sec is declared... yes > checking how to run the C preprocessor... gcc -E > checking for grep that handles long lines and -e... /usr/bin/grep > checking for egrep... /usr/bin/grep -E > checking for ANSI C header files... yes > checking for sys/types.h... yes > checking for sys/stat.h... yes > checking for stdlib.h... yes > checking for string.h... yes > checking for memory.h... yes > checking for strings.h... yes > checking for inttypes.h... yes > checking for stdint.h... yes > checking for unistd.h... yes > checking for inttypes.h... (cached) yes > checking limits.h usability... yes > checking limits.h presence... yes > checking for limits.h... yes > checking stddef.h usability... yes > checking stddef.h presence... yes > checking for stddef.h... yes > checking for stdint.h... (cached) yes > checking for stdlib.h... (cached) yes > checking for string.h... (cached) yes > checking wchar.h usability... yes > checking wchar.h presence... yes > checking for wchar.h... yes > checking for inline... inline > checking for int16_t... yes > checking for int32_t... yes > checking for int64_t... yes > checking for int8_t... yes > checking for size_t... yes > checking for uint16_t... yes > checking for uint32_t... yes > checking for uint64_t... yes > checking for uint8_t... yes > checking for stdlib.h... (cached) yes > checking for GNU libc compatible malloc... yes > checking for memmove... yes > checking for memset... yes > configure: creating ./config.status > config.status: creating src/config.h > building 'Crypto.PublicKey._fastmath' extension > creating build/temp.linux-x86_64-2.7 > creating build/temp.linux-x86_64-2.7/src > cc -pthread -fPIC -std=c99 -O3 -fomit-frame-pointer -Isrc/ > -I/usr/include/ -I/home/datos/.pyenv/versions/pypy2.7-7.1.1/include -c > src/_fastmath.c -o build/temp.linux-x86_64-2.7/src/_fastmath.o > src/_fastmath.c: In function ?longObjToMPZ?: > src/_fastmath.c:82:7: error: ?PyLongObject {aka struct }? > has no member named ?ob_size? > if (p->ob_size > 0) { > ^ > src/_fastmath.c:83:11: error: ?PyLongObject {aka struct }? > has no member named ?ob_size? > size = p->ob_size; > ^ > src/_fastmath.c:86:12: error: ?PyLongObject {aka struct }? > has no member named ?ob_size? > size = -p->ob_size; > ^ > src/_fastmath.c:93:22: error: ?PyLongObject {aka struct }? > has no member named ?ob_digit? > mpz_set_ui (temp, p->ob_digit[i]); > ^ > src/_fastmath.c:97:30: error: ?SHIFT? undeclared (first use in this > function) > mpz_mul_2exp (temp2, temp, SHIFT * i); > ^ > src/_fastmath.c:97:30: note: each undeclared identifier is reported > only once for each function it appears in > src/_fastmath.c: In function ?mpzToLongObj?: > src/_fastmath.c:113:38: error: ?SHIFT? undeclared (first use in this > function) > int size = (mpz_sizeinbase (m, 2) + SHIFT - 1) / SHIFT; > ^ > src/_fastmath.c:118:20: warning: implicit declaration of function > ?_PyLong_New? [-Wimplicit-function-declaration] > PyLongObject *l = _PyLong_New (size); > ^ > src/_fastmath.c:118:20: warning: initialization makes pointer from > integer without a cast [-Wint-conversion] > src/_fastmath.c:130:4: error: ?PyLongObject {aka struct }? > has no member named ?ob_digit? > l->ob_digit[i] = (digit) (mpz_get_ui (temp) & MASK); > ^ > src/_fastmath.c:130:21: error: ?digit? undeclared (first use in this > function) > l->ob_digit[i] = (digit) (mpz_get_ui (temp) & MASK); > ^ > src/_fastmath.c:130:49: error: ?MASK? undeclared (first use in this > function) > l->ob_digit[i] = (digit) (mpz_get_ui (temp) & MASK); > ^ > src/_fastmath.c:135:22: error: ?PyLongObject {aka struct }? > has no member named ?ob_digit? > while ((i > 0) && (l->ob_digit[i - 1] == 0)) > ^ > src/_fastmath.c:140:3: error: ?PyLongObject {aka struct }? > has no member named ?ob_size? > l->ob_size = i * sgn; > ^ > error: command 'cc' failed with exit status 1 > -------------- next part -------------- An HTML attachment was scrubbed... URL: