From glavoie at gmail.com Thu Oct 1 06:18:44 2009 From: glavoie at gmail.com (Gabriel Lavoie) Date: Thu, 1 Oct 2009 00:18:44 -0400 Subject: [pypy-dev] Stackless Python and PyPy Stackless.py In-Reply-To: <20090930075918.GB15455@trillke.net> References: <622253.76367.qm@web112410.mail.gq1.yahoo.com> <3D291582-7965-4F9E-933E-FA520540514D@gmail.com> <20090930075918.GB15455@trillke.net> Message-ID: Hello Holger, I have no paper done yet but I'll have to write something in the near future (next few months). I have some ideas of my final goal written in a wiki between me and my professor but I need to translate them since they are written in french. I just read your blog post and the homepage of py.execnet and I like the idea. I can clearly see some use in my work as a backend to start remote interpreters and make the communication over the network (for my networked channels). And for sure, it would be a nice improvement to the "socketprotocolgenerator.py" library I made for the communication. Like I said, I want my library to fit as much as possible in the idea of Stackless Python with as few additions as possible to the Stackles API. Things like the named channels I have in my examples will disappear as they are only there for developpement/debugging purpose. If you're interested in chatting about it, I'm often on #pypy. See ya, Gabriel (WildChild) 2009/9/30 holger krekel : > Hi Gabriel, > > very cool. ?Do you happen to have some conceptual paper/post describing > your programming model in more detail? ?I am asking because i am working > on related ideas, i.e. "networked interpreters", see my latest blog > post http://tinyurl.com/yco9aua > > cheers, > holger > > On Tue, Sep 29, 2009 at 21:20 -0400, Gabriel Lavoie wrote: >> Hello everyone, >> ? ? here is a first look at my work. Comments are welcome! :) >> >> http://www.mutehq.net/~wildchild/dstackless.html >> >> See ya, >> >> Gabriel >> >> 2009/9/28 Gabriel Lavoie : >> > 2009/9/28 Leonardo Santagada : >> >> I am very interested, I thought to do something like it. Where could I see >> >> your code? >> >> >> >> On Sep 28, 2009, at 10:04 AM, Gabriel Lavoie wrote: >> >> >> >>> Hello Andrew, >> >>> ? ?I'm currently experimenting with PyPy's implementation of >> >>> Stackless to add new features for a university master degree project. >> >>> I chose PyPy's implementation because it's easier to play with Python >> >>> code than with C code. Also, since PyPy is "still experimental", it >> >>> was the best implementation to choose to hack with and I don't regret >> >>> my choice. What I'm trying to achieve is to add distributed features >> >>> to Stackless: >> >>> >> >>> - Local and networked channels with automatic switch between both >> >>> - Easy tasklet migration to a remote host, keeping the channel >> >>> connections between tasklets. >> >>> - Transparent/automatic dependencies migration when a tasklet is sent >> >>> to a remote host. >> >>> >> >>> Most of the features are done and I'm currently working on the >> >>> dependencies migration. The only bad part is that I'm doing this >> >>> project part time since I have a full time job but I have to complete >> >>> the programming part in the next two months (I've been working for too >> >>> long on this). >> >>> >> >>> If you're interested to see what I've done, just ask! :) >> >>> >> >>> See ya, >> >>> >> >>> Gabriel >> >>> >> >>> 2009/9/25 Andrew Francis : >> >>>> >> >>>> Hi Folks: >> >>>> >> >>>> Again as a part of my Stackless Python talk, I wanted to include a >> >>>> section on the "Future." I assume a part of Stackless Python's future is >> >>>> PyPy? Or am I being presumptuous? >> >>>> >> >>>> Regardless I would like to end the talk with a brief section on PyPy. I >> >>>> noticed the Stackless.py module in lib that contains the Stackless >> >>>> implementation in Python. >> >>>> >> >>>> What I plan to do in my talk is show how a rough approximation of Limbo's >> >>>> alt (selecting the first ready channel from a list) could be implemented. >> >>>> >> >>>> I am a newbie in regards to PyPy. However I have been reading the >> >>>> Stackless documentation. I thought it would be neat if I ended the talk with >> >>>> redoing this, but in PyPy as a part of how one could quickly prototype new >> >>>> Stackless Python features. Any thoughts? Is there anything gotchas? >> >>>> >> >>>> Cheers, >> >>>> Andrew >> >>>> >> >>>> >> >>>> >> >>>> _______________________________________________ >> >>>> pypy-dev at codespeak.net >> >>>> http://codespeak.net/mailman/listinfo/pypy-dev >> >>>> >> >>> >> >>> >> >>> >> >>> -- >> >>> Gabriel Lavoie >> >>> glavoie at gmail.com >> >>> _______________________________________________ >> >>> pypy-dev at codespeak.net >> >>> http://codespeak.net/mailman/listinfo/pypy-dev >> >> >> >> -- >> >> Leonardo Santagada >> >> santagada at gmail.com >> >> >> >> >> >> >> >> >> > >> > I still haven't shown publicly my work. I'll try to quickly prepare >> > something this week with my current test code samples and a quick >> > description of the API. I think the code quality is pretty bad as this >> > is my first real Python project. My priority is to have something that >> > works before doing a big cleanup. >> > >> > Gabriel >> > >> > -- >> > Gabriel Lavoie >> > glavoie at gmail.com >> > >> >> >> >> -- >> Gabriel Lavoie >> glavoie at gmail.com >> _______________________________________________ >> pypy-dev at codespeak.net >> http://codespeak.net/mailman/listinfo/pypy-dev > -- > Metaprogramming, Python, Testing: http://tetamap.wordpress.com > Python, PyPy, pytest contracting: http://merlinux.eu > -- Gabriel Lavoie glavoie at gmail.com From glavoie at gmail.com Thu Oct 1 06:22:02 2009 From: glavoie at gmail.com (Gabriel Lavoie) Date: Thu, 1 Oct 2009 00:22:02 -0400 Subject: [pypy-dev] Mac osx patches In-Reply-To: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> References: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> Message-ID: Does it help to build pypy-c under Snow Leopard? I'm still using a build I made when my system was still on Leopard as I'm currently unable to build pypy-c under Snow Leopard. It must have something to do with the switch to 64bits as the default GCC target. I did not have more time to investigate yet. Here's the build error: [Timer] Timings: [Timer] annotate --- 358.5 s [Timer] ========================================== [Timer] Total: --- 358.5 s [translation:ERROR] Error: [translation:ERROR] Traceback (most recent call last): [translation:ERROR] File "translate.py", line 277, in main [translation:ERROR] drv.proceed(goals) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/translator/driver.py", line 721, in proceed [translation:ERROR] return self._execute(goals, task_skip = self._maybe_skip()) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/translator/tool/taskengine.py", line 116, in _execute [translation:ERROR] res = self._do(goal, taskcallable, *args, **kwds) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/translator/driver.py", line 275, in _do [translation:ERROR] res = func() [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/translator/driver.py", line 302, in task_annotate [translation:ERROR] s = annotator.build_types(self.entry_point, self.inputtypes) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/annotation/annrpython.py", line 99, in build_types [translation:ERROR] return self.build_graph_types(flowgraph, inputcells, complete_now=complete_now) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/annotation/annrpython.py", line 190, in build_graph_types [translation:ERROR] self.complete() [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/annotation/annrpython.py", line 246, in complete [translation:ERROR] self.processblock(graph, block) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/annotation/annrpython.py", line 471, in processblock [translation:ERROR] self.flowin(graph, block) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/annotation/annrpython.py", line 531, in flowin [translation:ERROR] self.consider_op(block.operations[i]) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/annotation/annrpython.py", line 735, in consider_op [translation:ERROR] raise_nicer_exception(op, str(graph)) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/annotation/annrpython.py", line 732, in consider_op [translation:ERROR] resultcell = consider_meth(*argcells) [translation:ERROR] File "", line 3, in consider_op_setattr [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/annotation/unaryop.py", line 760, in setattr [translation:ERROR] setattr(example, s_attr.const, v_lltype._defl()) [translation:ERROR] File "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/rpython/lltypesystem/lltype.py", line 1033, in __setattr__ [translation:ERROR] " got %r" % (self._T, field_name, T1, T2)) [translation:ERROR] TypeError': instance field 'c_tv_usec': [translation:ERROR] expects [translation:ERROR] got [translation:ERROR] .. v1541 = setattr(v1539, ('c_tv_usec'), v1540) [translation:ERROR] .. '(pypy.rlib.rpoll:75)select' [translation:ERROR] Processing block: [translation:ERROR] block at 421 is a [translation:ERROR] in (pypy.rlib.rpoll:75)select [translation:ERROR] containing the following operations: [translation:ERROR] v1539 = call_args((function malloc), ((1, ('flavor',), False, False)), (Struct timeval), ('raw')) [translation:ERROR] v1542 = simple_call((builtin_function_or_method fmod), timeout_0, (1.0)) [translation:ERROR] v1543 = simple_call((type int), timeout_0) [translation:ERROR] v1544 = setattr(v1539, ('c_tv_sec'), v1543) [translation:ERROR] v1545 = simple_call((type int), timeout_0) [translation:ERROR] v1546 = sub(timeout_0, v1545) [translation:ERROR] v1547 = mul(v1546, (1000000.0)) [translation:ERROR] v1540 = simple_call((type int), v1547) [translation:ERROR] v1541 = setattr(v1539, ('c_tv_usec'), v1540) [translation:ERROR] --end-- [translation] start debugger... > /Users/wildchild/Documents/Programmation/eclipse-workspace/pypy-trunk/pypy/rpython/lltypesystem/lltype.py(1033)__setattr__() -> " got %r" % (self._T, field_name, T1, T2)) (Pdb+) Gabriel 2009/9/30 Leonardo Santagada : > To make compilation and asmgcroot happy on osx I made some changes, I > would like to know if someone has anything against applying this stuff > to trunk? > > Index: pypy/translator/c/gcc/trackgcroot.py > =================================================================== > --- pypy/translator/c/gcc/trackgcroot.py ? ? ? ?(revision 68036) > +++ pypy/translator/c/gcc/trackgcroot.py ? ? ? ?(working copy) > @@ -22,7 +22,11 @@ > ?r_sectionstart ? ? ? ? = re.compile(r"\t\.("+'|'.join(OTHERSECTIONS) > +").*$") > ?r_functionstart_darwin = re.compile(r"_(\w+):\s*$") > > -OFFSET_LABELS ? = 2**30 > +# darwin's ld complain about this hack > +if sys.platform == 'darwin': > + ? ?OFFSET_LABELS = 0 > +else: > + ? ?OFFSET_LABELS = 2**30 > > ?# inside functions > ?LABEL ? ? ? ? ? = r'([.]?[\w$@]+)' > Index: pypy/translator/platform/test/test_darwin.py > =================================================================== > --- pypy/translator/platform/test/test_darwin.py ? ? ? ?(revision 68036) > +++ pypy/translator/platform/test/test_darwin.py ? ? ? ?(working copy) > @@ -2,8 +2,8 @@ > ?""" File containing darwin platform tests > ?""" > > -import py, os > -if os.name != 'darwin': > +import py, sys > +if sys.platform != 'darwin': > ? ? ?py.test.skip("Darwin only") > > ?from pypy.tool.udir import udir > Index: pypy/translator/platform/darwin.py > =================================================================== > --- pypy/translator/platform/darwin.py ?(revision 68036) > +++ pypy/translator/platform/darwin.py ?(working copy) > @@ -18,7 +18,7 @@ > ? ? ? ? ?self.cc = cc > > ? ? ?def _args_for_shared(self, args): > - ? ? ? ?return (self.shared_only + ['-bundle', '-undefined', > 'dynamic_lookup'] > + ? ? ? ?return (self.shared_only + ['-dynamiclib', '-undefined', > 'dynamic_lookup'] > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? + args) > > ? ? ?def include_dirs_for_libffi(self): > > > -- > Leonardo Santagada > santagada at gmail.com > > > > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > -- Gabriel Lavoie glavoie at gmail.com From santagada at gmail.com Thu Oct 1 08:18:47 2009 From: santagada at gmail.com (Leonardo Santagada) Date: Thu, 1 Oct 2009 03:18:47 -0300 Subject: [pypy-dev] Mac osx patches In-Reply-To: References: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> Message-ID: <66E1DECE-05A1-499A-A5FD-2620605CDEBF@gmail.com> I will be migrating to snow leopard (SL) soon, but right now I don't have access to it so I can't help you with that. Although it happens so soon during translation that it should be unrelated to SL. ps: Hope that when someone fixes the error "'GC_local_malloc' not found in library 'gc'" I can try to fix the jit errors on osx. I hate compiler problems in pypy (I always take hours to discover what is wrong) but if noone fix this by tomorrow I will give it a try :) On Oct 1, 2009, at 1:22 AM, Gabriel Lavoie wrote: > Does it help to build pypy-c under Snow Leopard? I'm still using a > build I made when my system was still on Leopard as I'm currently > unable to build pypy-c under Snow Leopard. It must have something to > do with the switch to 64bits as the default GCC target. I did not have > more time to investigate yet. > > Here's the build error: > > [Timer] Timings: > [Timer] annotate --- 358.5 s > [Timer] ========================================== > [Timer] Total: --- 358.5 s > [translation:ERROR] Error: > [translation:ERROR] Traceback (most recent call last): > [translation:ERROR] File "translate.py", line 277, in main > [translation:ERROR] drv.proceed(goals) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/translator/driver.py", > line 721, in proceed > [translation:ERROR] return self._execute(goals, task_skip = > self._maybe_skip()) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/translator/tool/taskengine.py", > line 116, in _execute > [translation:ERROR] res = self._do(goal, taskcallable, *args, > **kwds) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/translator/driver.py", > line 275, in _do > [translation:ERROR] res = func() > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/translator/driver.py", > line 302, in task_annotate > [translation:ERROR] s = annotator.build_types(self.entry_point, > self.inputtypes) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/annrpython.py", > line 99, in build_types > [translation:ERROR] return self.build_graph_types(flowgraph, > inputcells, complete_now=complete_now) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/annrpython.py", > line 190, in build_graph_types > [translation:ERROR] self.complete() > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/annrpython.py", > line 246, in complete > [translation:ERROR] self.processblock(graph, block) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/annrpython.py", > line 471, in processblock > [translation:ERROR] self.flowin(graph, block) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/annrpython.py", > line 531, in flowin > [translation:ERROR] self.consider_op(block.operations[i]) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/annrpython.py", > line 735, in consider_op > [translation:ERROR] raise_nicer_exception(op, str(graph)) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/annrpython.py", > line 732, in consider_op > [translation:ERROR] resultcell = consider_meth(*argcells) > [translation:ERROR] File " /Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/annrpython.py:770>", > line 3, in consider_op_setattr > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/annotation/unaryop.py", > line 760, in setattr > [translation:ERROR] setattr(example, s_attr.const, > v_lltype._defl()) > [translation:ERROR] File > "/Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- > trunk/pypy/rpython/lltypesystem/lltype.py", > line 1033, in __setattr__ > [translation:ERROR] " got %r" % (self._T, field_name, T1, T2)) > [translation:ERROR] TypeError': c_tv_usec, c__pad0, c__pad1, c__pad2, c__pad3 }> instance field > 'c_tv_usec': > [translation:ERROR] expects > [translation:ERROR] got > [translation:ERROR] .. v1541 = setattr(v1539, ('c_tv_usec'), v1540) > [translation:ERROR] .. '(pypy.rlib.rpoll:75)select' > [translation:ERROR] Processing block: > [translation:ERROR] block at 421 is a 'pypy.objspace.flow.flowcontext.SpamBlock'> > [translation:ERROR] in (pypy.rlib.rpoll:75)select > [translation:ERROR] containing the following operations: > [translation:ERROR] v1539 = call_args((function malloc), ((1, > ('flavor',), False, False)), (Struct timeval), ('raw')) > [translation:ERROR] v1542 = > simple_call((builtin_function_or_method fmod), timeout_0, (1.0)) > [translation:ERROR] v1543 = simple_call((type int), timeout_0) > [translation:ERROR] v1544 = setattr(v1539, ('c_tv_sec'), v1543) > [translation:ERROR] v1545 = simple_call((type int), timeout_0) > [translation:ERROR] v1546 = sub(timeout_0, v1545) > [translation:ERROR] v1547 = mul(v1546, (1000000.0)) > [translation:ERROR] v1540 = simple_call((type int), v1547) > [translation:ERROR] v1541 = setattr(v1539, ('c_tv_usec'), > v1540) > [translation:ERROR] --end-- > [translation] start debugger... >> /Users/wildchild/Documents/Programmation/eclipse-workspace/pypy- >> trunk/pypy/rpython/lltypesystem/lltype.py(1033)__setattr__() > -> " got %r" % (self._T, field_name, T1, T2)) > (Pdb+) > > Gabriel > > 2009/9/30 Leonardo Santagada : >> To make compilation and asmgcroot happy on osx I made some changes, I >> would like to know if someone has anything against applying this >> stuff >> to trunk? >> >> Index: pypy/translator/c/gcc/trackgcroot.py >> =================================================================== >> --- pypy/translator/c/gcc/trackgcroot.py (revision 68036) >> +++ pypy/translator/c/gcc/trackgcroot.py (working copy) >> @@ -22,7 +22,11 @@ >> r_sectionstart = re.compile(r"\t\.("+'|'.join(OTHERSECTIONS) >> +").*$") >> r_functionstart_darwin = re.compile(r"_(\w+):\s*$") >> >> -OFFSET_LABELS = 2**30 >> +# darwin's ld complain about this hack >> +if sys.platform == 'darwin': >> + OFFSET_LABELS = 0 >> +else: >> + OFFSET_LABELS = 2**30 >> >> # inside functions >> LABEL = r'([.]?[\w$@]+)' >> Index: pypy/translator/platform/test/test_darwin.py >> =================================================================== >> --- pypy/translator/platform/test/test_darwin.py (revision >> 68036) >> +++ pypy/translator/platform/test/test_darwin.py (working >> copy) >> @@ -2,8 +2,8 @@ >> """ File containing darwin platform tests >> """ >> >> -import py, os >> -if os.name != 'darwin': >> +import py, sys >> +if sys.platform != 'darwin': >> py.test.skip("Darwin only") >> >> from pypy.tool.udir import udir >> Index: pypy/translator/platform/darwin.py >> =================================================================== >> --- pypy/translator/platform/darwin.py (revision 68036) >> +++ pypy/translator/platform/darwin.py (working copy) >> @@ -18,7 +18,7 @@ >> self.cc = cc >> >> def _args_for_shared(self, args): >> - return (self.shared_only + ['-bundle', '-undefined', >> 'dynamic_lookup'] >> + return (self.shared_only + ['-dynamiclib', '-undefined', >> 'dynamic_lookup'] >> + args) >> >> def include_dirs_for_libffi(self): >> >> >> -- >> Leonardo Santagada >> santagada at gmail.com >> >> >> >> _______________________________________________ >> pypy-dev at codespeak.net >> http://codespeak.net/mailman/listinfo/pypy-dev >> > > > > -- > Gabriel Lavoie > glavoie at gmail.com -- Leonardo Santagada santagada at gmail.com From iko at openend.se Thu Oct 1 12:31:57 2009 From: iko at openend.se (Anders Hammarquist) Date: Thu, 01 Oct 2009 12:31:57 +0200 Subject: [pypy-dev] Nightly Benchmarks In-Reply-To: Message from Miquel Torres of "Tue, 29 Sep 2009 11:31:21 +0200." References: Message-ID: <200910011031.n91AVvcc023352@fido.openend.se> Hello, In a message of Tue, 29 Sep 2009 11:31:21 +0200, Miquel Torres writes: >We agreed on a Django DB backend, and plot rendering by the browser, so we >need to talk about the way to store the nightly benchmark data into the DB. Hmm, I've already started to implement a DB store using SQLalchemy. Can Django use that? (it is in the repository at http://codespeak.net/svn/pypy/build/benchmark) >The end goal is to build a speed.pypy.org where you can compare all kind of >pypy versions to cpython and other python interpreters and other languages[...] Could prove interesting, and the DB structure I've got should be able to deal with that as well (it is quite minimal). The runner that is there is mostly useless for comparing different lanugagues though. >Can you please explain to me what you are doing in that area now? The intended next step is to interface a benchmark runner (of pypy trunk) with the database so the results will be persistent. I've been caught up in other (non-PyPy-related) work though. and if the database interface I've got is not useful, maybe I shouldn't do that. /Anders From arigo at tunes.org Thu Oct 1 17:41:08 2009 From: arigo at tunes.org (Armin Rigo) Date: Thu, 1 Oct 2009 17:41:08 +0200 Subject: [pypy-dev] support for 64-bit processors and eliminating global state In-Reply-To: <4AC3A11A.6050506@eecs.berkeley.edu> References: <4AC3870B.40907@eecs.berkeley.edu> <693bc9ab0909301022n3c0b7b1bq8e0d9aacde54e3f8@mail.gmail.com> <4AC3A11A.6050506@eecs.berkeley.edu> Message-ID: <20091001154108.GA13805@code0.codespeak.net> Hi Jeff, On Wed, Sep 30, 2009 at 11:19:06AM -0700, Jeff Anderson-Lee wrote: > > It's true that we don't have a good story here and we need one. Something > > a'la Jython would work (unlike in CPython), but it's work. > > > The last time I looked, Hoard didn't support x86_64 although it did seem > to work for threaded environments fairly efficiently if I recall. > Having a separate arena for each thread (or each virtual processor) > helps to avoid a lot of locking for frequent/small allocations in a VM. > That may mean factoring out the allocation so that it calls something > like myalloc(pool,size) rather than just malloc(size). I read that pypy > was trying to factor out the GC code to support multiple back-ends. > Having an API that supports multiple concurrent allocator pools can be > useful in that regard. That's all true, but the primary issue with the GIL in Python (either in CPython or PyPy) is more fundamental. Its purpose is to protect concurrent object accesses. It is to avoid getting random nonsense or crashing the interpreter if you do two lst.append() on the same list in two threads in parallel, for example. The Python language reference itself says that doing this gives you the "expected" result, i.e. the same as if the lst.append() was protected with locking. From there to the GIL the distance is not very large. We could ignore this point and try to implement a free multithreading interpreter in PyPy -- and we would then hit all the issues you describe above, and have to solve them somehow. But the point is that it would no longer be a fully compliant Python interpreter. Depending on the use case it might be either a very useful quasi-Python interpreter, or a useless one that crashes randomly when running any large body of code that otherwise works on CPython or Jython. Of course it's not the end of the story, as shown e.g. by Jython, in which the locking exists too but is more fine-grained. There is one lock per list or dictionary, which itself costs very little because the Java platform is extremely good at optimizing such locks. A bientot, Armin. From arigo at tunes.org Thu Oct 1 17:42:39 2009 From: arigo at tunes.org (Armin Rigo) Date: Thu, 1 Oct 2009 17:42:39 +0200 Subject: [pypy-dev] support for 64-bit processors and eliminating global state In-Reply-To: References: <4AC3870B.40907@eecs.berkeley.edu> <693bc9ab0909301022n3c0b7b1bq8e0d9aacde54e3f8@mail.gmail.com> <693bc9ab0909301232p17c0fbd2ge904f0a2f6538ec0@mail.gmail.com> Message-ID: <20091001154239.GB13805@code0.codespeak.net> Hi Gabriel, On Wed, Sep 30, 2009 at 04:01:25PM -0400, Gabriel Lavoie wrote: > Actually, what are the officially supported platforms? Linux, Mac OS/X and Windows. All in 32-bit only right now, although the 64-bit version on Linux and OS/X generally works more or less. A bientot, Armin. From arigo at tunes.org Thu Oct 1 17:56:35 2009 From: arigo at tunes.org (Armin Rigo) Date: Thu, 1 Oct 2009 17:56:35 +0200 Subject: [pypy-dev] Mac osx patches In-Reply-To: References: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> Message-ID: <20091001155635.GC13805@code0.codespeak.net> Hi Gabriel, On Thu, Oct 01, 2009 at 12:22:02AM -0400, Gabriel Lavoie wrote: > It must have something to > do with the switch to 64bits as the default GCC target. Yes, indeed, it's a crash that means that our 'select' module needs a small patch to support 64-bit architectures. I may look into it a some point. A bientot, Armin. From andrewfr_ice at yahoo.com Thu Oct 1 19:36:15 2009 From: andrewfr_ice at yahoo.com (Andrew Francis) Date: Thu, 1 Oct 2009 10:36:15 -0700 (PDT) Subject: [pypy-dev] [Stackless] Question on Hard Switching and Soft Switching In-Reply-To: <930F189C8A437347B80DF2C156F7EC7F098FC8DC13@exchis.ccp.ad.local> Message-ID: <329645.19005.qm@web112406.mail.gq1.yahoo.com> Hi Kristj?n: --- On Tue, 9/29/09, Kristj?n Valur J?nsson wrote: > I've been exporing the bowels of Stackless a bit in the > last weeks and am somewhat familiar with the topic. Thanks a lot for the detailed description! As per Armin's suggestion, I will move this thread to the stackless mailing list. > I have not done any performance measurements to evaluate > the merits of soft switching. But I must confess that > the presence of soft-switching makes stackless much more > difficult to understand for me. And a lot of the diff > between trunk python and stackless python is because of the > boilerplate code required to get soft switching to work. Well I came across two slides in the "Stackless Python and PyPy Nults and Bolts" talk. It states that soft switching is 100 x faster than a thread. Hard switching is 10 x. I don't know if this fact is helpful. > I hope this clears things up. It helps. I need to learn a lot more to better use the information you have given me. Cheers, Andrew From tobami at googlemail.com Thu Oct 1 23:07:38 2009 From: tobami at googlemail.com (Miquel Torres) Date: Thu, 1 Oct 2009 23:07:38 +0200 Subject: [pypy-dev] Nightly Benchmarks In-Reply-To: <200910011031.n91AVvcc023352@fido.openend.se> References: <200910011031.n91AVvcc023352@fido.openend.se> Message-ID: Hi Anders, SQLAlchemy is problematic. there is a django-sqlalchemy project, but it is still work in progress: http://code.google.com/p/django-sqlalchemy/wiki/Roadmap Otherwise, your DB design is valid. The simpler, the better. One question: did you intend to keep a DB locally and then copy to the web server backend or to store the data directly on the web server ( speed.pypy.org)? About the DB design, while sufficient, I would probably add a couple of things like version tags (for betas and final releases, for example), maybe compile options (??). Why? because we want to be able to filter trunk versions in every possible way. In any case I want to discuss this a little bit more, because the DB needs to be as complete as possible from the beginning. While the first version of the visualization interface will be quick and dirty so that developers don't have to wait months to have something useful (And only then will I design a more powerful interface), I don't want to make big changes to the DB once we start to regularly run benchmarks. That way the data can be safely stored from the start. Cheers, Miquel 2009/10/1 Anders Hammarquist > Hello, > > In a message of Tue, 29 Sep 2009 11:31:21 +0200, Miquel Torres writes: > >We agreed on a Django DB backend, and plot rendering by the browser, so we > >need to talk about the way to store the nightly benchmark data into the > DB. > > Hmm, I've already started to implement a DB store using SQLalchemy. Can > Django use that? (it is in the repository at > http://codespeak.net/svn/pypy/build/benchmark) > > >The end goal is to build a speed.pypy.org where you can compare all kind > of > >pypy versions to cpython and other python interpreters and other > languages[...] > > Could prove interesting, and the DB structure I've got should be able > to deal with that as well (it is quite minimal). The runner that is there > is mostly useless for comparing different lanugagues though. > > >Can you please explain to me what you are doing in that area now? > > The intended next step is to interface a benchmark runner (of pypy trunk) > with the database so the results will be persistent. I've been caught up > in other (non-PyPy-related) work though. and if the database interface > I've got is not useful, maybe I shouldn't do that. > > /Anders > -------------- next part -------------- An HTML attachment was scrubbed... URL: From holger at merlinux.eu Fri Oct 2 13:40:28 2009 From: holger at merlinux.eu (holger krekel) Date: Fri, 2 Oct 2009 13:40:28 +0200 Subject: [pypy-dev] new speed.pypy.org site? Message-ID: <20091002114028.GK15455@trillke.net> Hi Miquel, all, regarding the new speed.pypy.org host I realized that the current setting is not suited for setting up another VM. Too few resources and old-ish software. I plan to order a new host, setup speed.pypy.org there (and migrate existing VMs later). Takes a week or two i guess. Hope this doesn't block you. Could maybe someone here on the list (temporarily) offer a suitable VM to run Django Apps/DBs where Miquel can get an account? i'd then point the "speed.pypy.org" DNS entry to it. The earlier the site gets running the earlier we can all follow speed developments with the PyPy JIT :) best, holger -- Metaprogramming, Python, Testing: http://tetamap.wordpress.com Python, PyPy, pytest contracting: http://merlinux.eu From pg at cs.stanford.edu Fri Oct 2 18:35:30 2009 From: pg at cs.stanford.edu (Philip Guo) Date: Fri, 2 Oct 2009 09:35:30 -0700 Subject: [pypy-dev] how can i pickle an application-level object from interpreter code? Message-ID: <79e41e9f0910020935i2983ee1r7a47b3d21366c8f@mail.gmail.com> Hi all, I'm brand-new to PyPy, and here is my question: I want to selectively pickle Python objects that appear in application-level code, from *within* the interpreter. e.g., let's say i'm using the PyPy Python interpreter to run this program: import foo x = foo.ComplicatedObject() right after the interpreter creates an instance of foo.ComplicatedObject(), I want to serialize that instance to disk, in effect simulating this statement: pickle.dump(x, open('data.pickle')) What is the easiest way for me to do this from within the interpreter code? It seems like an instance object is represented within the interpreter as of type "class W_InstanceObject(Wrappable)", and I can't directly pickle that object. If I could just call the Python standard library's pickle on 'x' from within the interpreter, that would be great. Thanks in advance, Philip -------------- next part -------------- An HTML attachment was scrubbed... URL: From tobami at googlemail.com Fri Oct 2 19:05:11 2009 From: tobami at googlemail.com (Miquel Torres) Date: Fri, 2 Oct 2009 19:05:11 +0200 Subject: [pypy-dev] new speed.pypy.org site? In-Reply-To: <20091002114028.GK15455@trillke.net> References: <20091002114028.GK15455@trillke.net> Message-ID: Hi Holger, for the time being it is not a problem. I can begin the implementation locally and later continue on the server VM. One thing I would need though: a speed.pypy wiki page. I would like that you (pypy core developers) write down the most important use cases for speed.pypy.org For example: - See right away the last x trunk revisions. A line plot (and table?) will be shown for each individual benchmark in the benchmark suite. - Allow to select multiple, arbitrary trunk revisions for comparing - Show different data series in the same graph for different compile options (like tuatara's benchmarks??) ... I have my own ideas, but you will be the main users, so you need to tell me what you need implemented first. Another wiki page could be about what benchmarks could be useful for the suite. It would be great if all benchmarks results were points, or all seconds (less is better), (or x times faster/slower than cpython) because that way results can be shown in a much more compact form. For example stacked: http://www.codinghorror.com/blog/images/browser-javascript-performance-graph-totals-1.png * * or combined in a single chart: http://www.codinghorror.com/blog/images/browser-javascript-performance-graph-breakdown-1.png Anyway the lack of a VM is not a problem for me right now. Cheers, Miquel 2009/10/2 holger krekel > Hi Miquel, all, > > regarding the new speed.pypy.org host I realized that the current > setting is not suited for setting up another VM. Too few resources > and old-ish software. I plan to order a new host, setup speed.pypy.org > there (and migrate existing VMs later). Takes a week or two i guess. > Hope this doesn't block you. > > Could maybe someone here on the list (temporarily) offer a suitable VM > to run Django Apps/DBs where Miquel can get an account? > i'd then point the "speed.pypy.org" DNS entry to it. > The earlier the site gets running the earlier we can all follow > speed developments with the PyPy JIT :) > > best, > holger > > -- > Metaprogramming, Python, Testing: http://tetamap.wordpress.com > Python, PyPy, pytest contracting: http://merlinux.eu > -------------- next part -------------- An HTML attachment was scrubbed... URL: From amauryfa at gmail.com Fri Oct 2 19:32:51 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Fri, 2 Oct 2009 19:32:51 +0200 Subject: [pypy-dev] how can i pickle an application-level object from interpreter code? In-Reply-To: <79e41e9f0910020935i2983ee1r7a47b3d21366c8f@mail.gmail.com> References: <79e41e9f0910020935i2983ee1r7a47b3d21366c8f@mail.gmail.com> Message-ID: Hi, 2009/10/2 Philip Guo : > Hi all, > > I'm brand-new to PyPy, and here is my question: I want to selectively pickle > Python objects that appear in application-level code, from *within* the > interpreter.? e.g., let's say i'm using the PyPy Python interpreter to run > this program: > > import foo > x = foo.ComplicatedObject() > > right after the interpreter creates an instance of foo.ComplicatedObject(), > I want to serialize that instance to disk, in effect simulating this > statement: > > pickle.dump(x, open('data.pickle')) > > What is the easiest way for me to do this from within the interpreter code? > > It seems like an instance object is represented within the interpreter as of > type "class W_InstanceObject(Wrappable)", and I can't directly pickle that > object.? If I could just call the Python standard library's pickle on 'x' > from within the interpreter, that would be great. This should be possible by using gateway.applevel, like the following code. Be careful however that pickle.dump is itself a python function which creates objects. Modifying W_InstanceObject.__init__ this way is probably not a good idea... Note: I wrote this quickly to get an idea; I did not test at all. I took the idea from some other code in pypy/module/__builtin__/operation.py from pypy.interpreter import gateway dump_object = gateway.applevel(r''' def dump_object(x): import pickle pickle.dump(x, open('data.pickle', 'w')) ''', filename =__file__).interphook('dump_object') then you should be able to call it this way: dump_object(space, w_instanceObject) -- Amaury Forgeot d'Arc From stefan_ml at behnel.de Fri Oct 2 22:20:23 2009 From: stefan_ml at behnel.de (Stefan Behnel) Date: Fri, 02 Oct 2009 22:20:23 +0200 Subject: [pypy-dev] benchmarking input In-Reply-To: <200909211527.n8LFR4xQ028739@theraft.openend.se> References: <200909211527.n8LFR4xQ028739@theraft.openend.se> Message-ID: Anders Hammarquist wrote: > Anyway, what I was thinking about, and need input on, is how to get > at the interpreters to run the benchmark. [...] I wonder, would it be possible to add Cython to the benchmark loop? I would love to see it compared to PyPy, simply because both projects aim to compile Python code to C code (amongst other things, obviously). I know that Cython can't currently compete with PyPy in terms of feature completeness - it clearly lacks some very important features of the Python language, so it won't be able to run all benchmarks for a while, and the comparison would easily show where the black spots are that need fixing. Just out of curiosity (and to wet your appetite :), I ran PyPy's richards benchmark unmodified in Cython (latest cython-unstable) and got this: python2.6 -c 'import richards; richards.main()' Richards benchmark (Python) starting... [...] finished. Total time for 10 iterations: 3.98 secs Average time per iteration: 398.44 ms compared to CPython 2.6.2: python2.6 -c 'import richards; richards.main()' Richards benchmark (Python) starting... [...] finished. Total time for 10 iterations: 4.86 secs Average time per iteration: 485.97 ms That's almost 20% faster IMO and not bad at all, given that Cython's main performance feature (C typing) wasn't used. When I use an external .pxd file (attached) to redeclare the classes as extension types and to add a C nature to their methods (still without any benchmark code modifications), I get this: python2.6 -c 'import richards; richards.main(iterations=10)' Richards benchmark (Python) starting... [...] finished. Total time for 10 iterations: 0.99 secs Average time per iteration: 99.28 ms That's almost a factor of five compared to CPython. If possible, I would like to add both a normal Cython compiler run and a pxd enabled run to the benchmark comparison with PyPy and CPython. Any chance this could be integrated? I'm asking now, because I imagine that the benchmarking framework will have to integrate the Cython compiler somehow, maybe using distutils or on-the-fly compilation with pyximport. Stefan -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: richards.pxd URL: From santagada at gmail.com Fri Oct 2 23:49:10 2009 From: santagada at gmail.com (Leonardo Santagada) Date: Fri, 2 Oct 2009 18:49:10 -0300 Subject: [pypy-dev] benchmarking input In-Reply-To: References: <200909211527.n8LFR4xQ028739@theraft.openend.se> Message-ID: <95D64C05-BD79-454C-BB79-49FB83D10AD0@gmail.com> On Oct 2, 2009, at 5:20 PM, Stefan Behnel wrote: > Anders Hammarquist wrote: >> Anyway, what I was thinking about, and need input on, is how to get >> at the interpreters to run the benchmark. > [...] > > I wonder, would it be possible to add Cython to the benchmark loop? > I would > love to see it compared to PyPy, simply because both projects aim to > compile Python code to C code (amongst other things, obviously). > > I know that Cython can't currently compete with PyPy in terms of > feature > completeness - it clearly lacks some very important features of the > Python > language, so it won't be able to run all benchmarks for a while, and > the > comparison would easily show where the black spots are that need > fixing. I think you did some really interesting experiments but the projects don't aim at the same thing at all. PyPy python interpreter is not compiling python code to C it is just interpreting it and using a jit to dynamically compile code (and this is directly to machine code). PyPy python interpreter is meant to be a fully compatible python interpreter and it doesn't depend on no CPython code (like cython does). I only think it is interesting to compare pypy to other python interpreters, anything that fully suports the python language. I do find cython cool, but as it doesn't try to be a python interpreter there would be no point in doing that. What I would like to see is comparisons against python 2.5-7, 3.1, unladen swallow, psyco 2.0 and ironpython. -- Leonardo Santagada santagada at gmail.com From holger at merlinux.eu Sat Oct 3 00:15:44 2009 From: holger at merlinux.eu (holger krekel) Date: Sat, 3 Oct 2009 00:15:44 +0200 Subject: [pypy-dev] benchmarking input In-Reply-To: <95D64C05-BD79-454C-BB79-49FB83D10AD0@gmail.com> References: <200909211527.n8LFR4xQ028739@theraft.openend.se> <95D64C05-BD79-454C-BB79-49FB83D10AD0@gmail.com> Message-ID: <20091002221544.GP15455@trillke.net> On Fri, Oct 02, 2009 at 18:49 -0300, Leonardo Santagada wrote: > On Oct 2, 2009, at 5:20 PM, Stefan Behnel wrote: > > > Anders Hammarquist wrote: > >> Anyway, what I was thinking about, and need input on, is how to get > >> at the interpreters to run the benchmark. > > [...] > > > > I wonder, would it be possible to add Cython to the benchmark loop? > > I would > > love to see it compared to PyPy, simply because both projects aim to > > compile Python code to C code (amongst other things, obviously). > > > > I know that Cython can't currently compete with PyPy in terms of > > feature > > completeness - it clearly lacks some very important features of the > > Python > > language, so it won't be able to run all benchmarks for a while, and > > the > > comparison would easily show where the black spots are that need > > fixing. > > I think you did some really interesting experiments but the projects > don't aim at the same thing at all. PyPy python interpreter is not > compiling python code to C it is just interpreting it and using a jit > to dynamically compile code (and this is directly to machine code). > PyPy python interpreter is meant to be a fully compatible python > interpreter and it doesn't depend on no CPython code (like cython does). I am sure Stefan is fully aware of what PyPy is. > I only think it is interesting to compare pypy to other python > interpreters, anything that fully suports the python language. I do > find cython cool, but as it doesn't try to be a python interpreter > there would be no point in doing that. > > What I would like to see is comparisons against python 2.5-7, 3.1, > unladen swallow, psyco 2.0 and ironpython. sure, and Jython. I don't see harm in adding Cython for the benchmarks it understands and if it's all easy enough. But let's first get started to automatically benchmark pypy trunk/selected branches over the revisions and compare it to one or multiple CPython versions. best, holger From arigo at tunes.org Sat Oct 3 01:30:29 2009 From: arigo at tunes.org (Armin Rigo) Date: Sat, 3 Oct 2009 01:30:29 +0200 Subject: [pypy-dev] how can i pickle an application-level object from interpreter code? In-Reply-To: <79e41e9f0910020935i2983ee1r7a47b3d21366c8f@mail.gmail.com> References: <79e41e9f0910020935i2983ee1r7a47b3d21366c8f@mail.gmail.com> Message-ID: <20091002233029.GA402@code0.codespeak.net> Hi Philip, On Fri, Oct 02, 2009 at 09:35:30AM -0700, Philip Guo wrote: > I'm brand-new to PyPy, and here is my question: I want to selectively pickle > Python objects that appear in application-level code, from *within* the > interpreter. What about writing a metaclass and keeping it all as portable, regular Python code? E.g. class MetaPickle(type): def __call__(self, *args, **kwds): x = type.__call__(self, *args, **kwds) pickle.dump(x, f) return x class X(object): __metaclass__ = MetaPickle There are also ways to do it by patching the classes without changing anything to their definition. If you need more information about these solutions, please ask in a general Python list. A bientot, Armin From pg at cs.stanford.edu Sat Oct 3 18:14:37 2009 From: pg at cs.stanford.edu (Philip Guo) Date: Sat, 3 Oct 2009 09:14:37 -0700 Subject: [pypy-dev] how can i pickle an application-level object from interpreter code? In-Reply-To: References: <79e41e9f0910020935i2983ee1r7a47b3d21366c8f@mail.gmail.com> Message-ID: <79e41e9f0910030914v62035ddbge704e9c8f4731622@mail.gmail.com> On Fri, Oct 2, 2009 at 10:32 AM, Amaury Forgeot d'Arc wrote: > Hi, > > 2009/10/2 Philip Guo : > > Hi all, > > > > I'm brand-new to PyPy, and here is my question: I want to selectively > pickle > > Python objects that appear in application-level code, from *within* the > > interpreter. e.g., let's say i'm using the PyPy Python interpreter to > run > > this program: > > > > import foo > > x = foo.ComplicatedObject() > > > > right after the interpreter creates an instance of > foo.ComplicatedObject(), > > I want to serialize that instance to disk, in effect simulating this > > statement: > > > > pickle.dump(x, open('data.pickle')) > > > > What is the easiest way for me to do this from within the interpreter > code? > > > > It seems like an instance object is represented within the interpreter as > of > > type "class W_InstanceObject(Wrappable)", and I can't directly pickle > that > > object. If I could just call the Python standard library's pickle on 'x' > > from within the interpreter, that would be great. > > This should be possible by using gateway.applevel, like the following code. > Be careful however that pickle.dump is itself a python function which > creates objects. > Modifying W_InstanceObject.__init__ this way is probably not a good idea... > > Note: I wrote this quickly to get an idea; I did not test at all. > I took the idea from some other code in > pypy/module/__builtin__/operation.py > > from pypy.interpreter import gateway > > dump_object = gateway.applevel(r''' > def dump_object(x): > import pickle > pickle.dump(x, open('data.pickle', 'w')) > ''', filename =__file__).interphook('dump_object') > > then you should be able to call it this way: > dump_object(space, w_instanceObject) > Thanks so much for your quick reply, Amaury! This works extremely well. I'm still trying to wrap my head around app-level vs. interpreter-level, especially how to serialize data on both levels; your code snippet helped a lot! Philip -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrewfr_ice at yahoo.com Sun Oct 4 00:37:10 2009 From: andrewfr_ice at yahoo.com (Andrew Francis) Date: Sat, 3 Oct 2009 15:37:10 -0700 (PDT) Subject: [pypy-dev] Extension Modules Re: Question on Hard Switching and Soft Switching Message-ID: <592585.30481.qm@web112409.mail.gq1.yahoo.com> Hello Armin: --- On Wed, 9/30/09, Armin Rigo wrote: > This is a question for Stackless Python only, not PyPy, so > you should post in that mailing list, not here :-)? To answer it, > it's not visible to the user: it's just two different implementations of > switching. "Hard switching" is by actually moving part of the C stack > away; "soft switching" is using a purely standard C approach.? > PyPy only has soft switching (but with the same Stackless interface). But is soft switching still about roughly 10 times faster than hard switching (value quoted in the Nuts and Bolts presentation). Because of only support for soft switching, I will assume I will have to write my own PyPy extension for say, networking I/O like select()/asyncore. Or does that already exist? Cheers, Andrew From arigo at tunes.org Sun Oct 4 13:42:42 2009 From: arigo at tunes.org (Armin Rigo) Date: Sun, 4 Oct 2009 13:42:42 +0200 Subject: [pypy-dev] Extension Modules Re: Question on Hard Switching and Soft Switching In-Reply-To: <592585.30481.qm@web112409.mail.gq1.yahoo.com> References: <592585.30481.qm@web112409.mail.gq1.yahoo.com> Message-ID: <20091004114242.GC26505@code0.codespeak.net> Hi Andrew, On Sat, Oct 03, 2009 at 03:37:10PM -0700, Andrew Francis wrote: > But is soft switching still about roughly 10 times faster than hard > switching (value quoted in the Nuts and Bolts presentation). I don't know Stackless Python enough to tell you if this is still the case, but I assume so. > Because of only support for soft switching, I will assume I will have > to write my own PyPy extension for say, networking I/O like > select()/asyncore. Or does that already exist? Indeed, any blocking system call will block all tasklets in PyPy. (I don't think it has anything to do with soft- vs hard-switching; it is the same in Stackless Python as far as I know.) In general we didn't do much work to improve the situation -- it's a matter of priorities: we chose to focus on issues like good garbage collection and the just-in-time compiler generator, and mostly left Stackless aside. I fear that we don't want to spend much time improving Stackless support right now, but you are welcome to try and contribute e.g. a modification to the '_select' module to optionally use, internally, non-blocking sockets and be Stackless-aware in a user-transparent manner. (Such a module can even be written in plain Python and be portable across Stackless Python and Stackless PyPy. It might even already have been written for Stackless Python; you should look around.) A bientot, Armin. From richard.m.tew at gmail.com Sun Oct 4 22:36:34 2009 From: richard.m.tew at gmail.com (Richard Tew) Date: Mon, 5 Oct 2009 09:36:34 +1300 Subject: [pypy-dev] Extension Modules Re: Question on Hard Switching and Soft Switching In-Reply-To: <20091004114242.GC26505@code0.codespeak.net> References: <592585.30481.qm@web112409.mail.gq1.yahoo.com> <20091004114242.GC26505@code0.codespeak.net> Message-ID: <952d92df0910041336qe7fe5dev438232095c547be3@mail.gmail.com> On Mon, Oct 5, 2009 at 12:42 AM, Armin Rigo wrote: > Stackless aside. ?I fear that we don't want to spend much time improving > Stackless support right now, but you are welcome to try and contribute > e.g. a modification to the '_select' module to optionally use, > internally, non-blocking sockets and be Stackless-aware in a > user-transparent manner. ?(Such a module can even be written in plain > Python and be portable across Stackless Python and Stackless PyPy. ?It > might even already have been written for Stackless Python; you should > look around.) While I also agree that low-level support like a beneficial idea, in practice I have my doubts about it. When you write low-level modules which work with Stackless, they make assumptions about how they should work with the scheduler. These assumptions may not match how the user is running the scheduler at a higher level. For instance, in the CCP framework you cannot loop over 'stackless.schedule' as tasklets are expected to yield out of the scheduler onto a channel. In any case, select would not be the right place. It is where someone goes to work with asynchronous IO. I would rather suggest that the uber-module would be the socket module, and that behind the scenes it might use IO completion ports on Windows and poll or something similar on other platforms. But the goal in doing it, would be to make IO just work with a microthread scheduling framework for the user with minimal difficulty or effort. In order for this to be so, how it works with the scheduler would have to be equally simple for the user. Cheers, Richard. From dsposx at mac.com Sun Oct 4 22:17:31 2009 From: dsposx at mac.com (Donovan Preston) Date: Sun, 04 Oct 2009 13:17:31 -0700 Subject: [pypy-dev] Extension Modules Re: Question on Hard Switching and Soft Switching In-Reply-To: <20091004114242.GC26505@code0.codespeak.net> References: <592585.30481.qm@web112409.mail.gq1.yahoo.com> <20091004114242.GC26505@code0.codespeak.net> Message-ID: On Oct 4, 2009, at 4:42 AM, Armin Rigo wrote: > I fear that we don't want to spend much time improving > Stackless support right now, but you are welcome to try and contribute > e.g. a modification to the '_select' module to optionally use, > internally, non-blocking sockets and be Stackless-aware in a > user-transparent manner. (Such a module can even be written in plain > Python and be portable across Stackless Python and Stackless PyPy. It > might even already have been written for Stackless Python; you should > look around.) Eventlet implements the blocking socket apis, using non-blocking i/o under the hood in a user-transparent manner, by using the greenlet apis. Eventlet already works on stackless pypy. Eventlet in theory also works on stackless python but I don't know how many people have actually tried it. Eventlet also provides monkeypatching of the socket module so existing code doesn't have to change. Eventlet even provides implementations of the thread and threading modules so that code which is written to use preemptive threads can transparently be used with green threads. There are also several other implementations of cooperative sockets specific for Stackless Python. I think one even comes distributed with the source. Donovan From andrewfr_ice at yahoo.com Mon Oct 5 03:22:21 2009 From: andrewfr_ice at yahoo.com (Andrew Francis) Date: Sun, 4 Oct 2009 18:22:21 -0700 (PDT) Subject: [pypy-dev] Extension Modules Re: Question on Hard Switching and Soft Switching Message-ID: <476477.20218.qm@web112403.mail.gq1.yahoo.com> Hello Richard, Armin et al: --- On Sun, 10/4/09, Richard Tew wrote: > In any case, select would not be the right place. It > is where someone goes to work with asynchronous IO. I would rather > suggest that the uber-module would be the socket module, and that > behind the scenes it might use IO completion ports on Windows and > poll or something similar on other platforms. But the goal in doing > it, would be to make IO just work with a microthread scheduling > framework for the user with minimal difficulty or effort. > In order for this to be so, how it works with the scheduler >would have to be equally simple for the user. Yes using IO completion ports or epoll, if done right, is a quick way to give better performance. However I think the interesting area is analysing how the scheduler interacts with the reactor (assuming we are using a reactor). I think a strategy will start with looking at stuff like many requests come in and how fast they can be processed (trying to determine what is a steady state). I will also assume that a good solution, given the aforementioned, is trying minimize stuff like context switches (even though they are fast) and calls to the OS (where one takes a hit). Then there is the issue of how much overhead is incurred from laying, that is locating "networking smarts" in a tasklet, as opposed to the interpreter. Again, as I stated in a previous post, I don't have a good conceptual framework. I have read some papers on high performance server design. Would have to read more. I also suspect a lot of experimentation would have to be done to see what works. Cheers, Andrew From tobami at googlemail.com Mon Oct 5 23:04:16 2009 From: tobami at googlemail.com (Miquel Torres) Date: Mon, 5 Oct 2009 23:04:16 +0200 Subject: [pypy-dev] Nightly Benchmarks In-Reply-To: <200910051420.n95EK1bj009044@theraft.openend.se> References: <200910011031.n91AVvcc023352@fido.openend.se> <200910051420.n95EK1bj009044@theraft.openend.se> Message-ID: > as I'm not doing any more > work on the benchmarking framework. That is a pity. But well, I'll have to do with asking. There are a couple of things I want to discuss: - An extra table (class) may be needed to store the hardware the benchmark was run on. pypy will probably need to be tested on other architectures. - The interpreter table needs extra fields: - revision: absolutely necessary - tag: this is for 1.0, 1.1, beta, trunk, snapshot, or what ever. This is needed to know what pypy revisions to list in the web page that allows comparison to other python implementations (most importantly cpython). - Furthermore: You state that compile options are not needed, that they would be different interpreters. I agree that we can have pypy-c, pypy-crl and pypy-c-jit (for example) as different interpreters. But things can get messy if we add garbage collectors and other options: pypy-c-68150-gc=hybrid--opt=3--no-allworkingmodules , etc... What are your thoughts on this? 2009/10/5 Anders Hammarquist > Hi, > > In a message of Thu, 01 Oct 2009 23:07:38 +0200, Miquel Torres writes: > >SQLAlchemy is problematic. there is a django-sqlalchemy project, but it is > >still work in progress: > >http://code.google.com/p/django-sqlalchemy/wiki/Roadmap > > And that seems rather dead, no checkins since april... > > >Otherwise, your DB design is valid. The simpler, the better. > >One question: did you intend to keep a DB locally and then copy to the web > >server backend or to store the data directly on the web server ( > >speed.pypy.org)? > > Well, my thoughts hadn't gone much past getting the runner up and storing > the results. My intention was to have whatever web presentation running > on that same host, but I had no plans for more complicated presentation. > > >About the DB design, while sufficient, I would probably add a couple of > >things like version tags (for betas and final releases, for example), > maybe > >compile options (??). Why? because we want to be able to filter trunk > >versions in every possible way. > > I think remembering the svn revision of the run makes sense. Compile > options, and probably branch tags, are probably better implemented as > separate interpreters in my DB design. > > >In any case I want to discuss this a little bit more, because the DB needs > >to be as complete as possible from the beginning. While the first version > of > >the visualization interface will be quick and dirty so that developers > don't > >have to wait months to have something useful (And only then will I design > a > >more powerful interface), I don't want to make big changes to the DB once > we > >start to regularly run benchmarks. That way the data can be safely stored > >from the start. > > This makes perfect sense. I will be happy to discuss with you, but I will > leave the implementation in your capable hands as I'm not doing any more > work on the benchmarking framework. > > /Anders > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fijall at gmail.com Tue Oct 6 09:48:53 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Tue, 6 Oct 2009 01:48:53 -0600 Subject: [pypy-dev] gcc 4.4 Message-ID: <693bc9ab0910060048v3a2e90b0g8a0fa26d1620ba45@mail.gmail.com> I've seen various reports about gcc 4.4 misbehaving. I installed this on bigdog-vm2, so if anyone feels like giving it a shot, it's there. Cheers, fijal From Jan.Wedel at ettex.de Tue Oct 6 15:15:41 2009 From: Jan.Wedel at ettex.de (Jan Wedel) Date: Tue, 6 Oct 2009 15:15:41 +0200 Subject: [pypy-dev] Does PyPy supports Java ME? Message-ID: Hi, I was currently working on a port of PyMite (8-Bit MCU port of CPython) to Java ME. I already got the interpreter working so that basic Python scripts could run as code images on a mobile java IMP device. Actually we need Python interpreters on different embedded platforms supporting either C or Java ME (IMP). I discovered a lot of problems including the missing class implementation of PyMite. Then, by recommendation, I found PyPy. It looks as if it is exactly what I was looking for and I read that it is specifically designed to support embedded platforms. But I want to clarify a few things: 1.) Does PyPy generate both C and Java Bytecode for the Interpreter out of the box or with low effort? 2.) Is the java code compatible with Java ME or is it possible to modify the PyPy-code/Interpreter-code so that Java ME is supported? 3.) What standard libraries are supported? I coulnd't find a list. Especially the communication (such as socket) functionality is important. 4.) Do you think PyPy is stable enough for commercial use? The MIT license allows commercial use as far as I read. Thank you very much! Regards, Jan From pg at cs.stanford.edu Tue Oct 6 22:18:46 2009 From: pg at cs.stanford.edu (Philip Guo) Date: Tue, 6 Oct 2009 13:18:46 -0700 Subject: [pypy-dev] is there incremental building for the translator? Message-ID: <79e41e9f0910061318u5e28158ej2aea72efdcfadfff@mail.gmail.com> Hi all, Sorry for another newbie question, but I'm wondering whether there is any sort of "Makefile"-like incremental building functionality for the PyPy translator. I just ran: cd pypy/translator/goal python translate.py --opt=3 targetpypystandalone.py to create pypy-c, which works perfectly, but it took about an hour on my machine. If I start hacking the PyPy source code, it seems like I have to do the full translation step each time I want to create a new pypy-c. Is there any way around this? Thanks, Philip -------------- next part -------------- An HTML attachment was scrubbed... URL: From benjamin at python.org Tue Oct 6 22:23:43 2009 From: benjamin at python.org (Benjamin Peterson) Date: Tue, 6 Oct 2009 15:23:43 -0500 Subject: [pypy-dev] is there incremental building for the translator? In-Reply-To: <79e41e9f0910061318u5e28158ej2aea72efdcfadfff@mail.gmail.com> References: <79e41e9f0910061318u5e28158ej2aea72efdcfadfff@mail.gmail.com> Message-ID: <1afaf6160910061323q44d3306bp2518f51b18c37d92@mail.gmail.com> 2009/10/6 Philip Guo : > Hi all, > > Sorry for another newbie question, but I'm wondering whether there is any > sort of "Makefile"-like incremental building functionality for the PyPy > translator.? I just ran: > > cd pypy/translator/goal > python translate.py --opt=3 targetpypystandalone.py > > to create pypy-c, which works perfectly, but it took about an hour on my > machine.? If I start hacking the PyPy source code, it seems like I have to > do the full translation step each time I want to create a new pypy-c.? Is > there any way around this? No, because if you make a change then the whole program has to retranslated to maintian invariants. What you can do, though, is speed up the translation process by turning off optimization and using --no-allworkingmodules. -- Regards, Benjamin From fijall at gmail.com Tue Oct 6 22:51:33 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Tue, 6 Oct 2009 14:51:33 -0600 Subject: [pypy-dev] is there incremental building for the translator? In-Reply-To: <1afaf6160910061323q44d3306bp2518f51b18c37d92@mail.gmail.com> References: <79e41e9f0910061318u5e28158ej2aea72efdcfadfff@mail.gmail.com> <1afaf6160910061323q44d3306bp2518f51b18c37d92@mail.gmail.com> Message-ID: <693bc9ab0910061351m77dce155j8cbb06177564a50d@mail.gmail.com> Also, our workflow is to test stuff on top of CPython first, so you don't have to recompile very often (sometimes not at all). Cheers, fijal On Tue, Oct 6, 2009 at 2:23 PM, Benjamin Peterson wrote: > 2009/10/6 Philip Guo : >> Hi all, >> >> Sorry for another newbie question, but I'm wondering whether there is any >> sort of "Makefile"-like incremental building functionality for the PyPy >> translator.? I just ran: >> >> cd pypy/translator/goal >> python translate.py --opt=3 targetpypystandalone.py >> >> to create pypy-c, which works perfectly, but it took about an hour on my >> machine.? If I start hacking the PyPy source code, it seems like I have to >> do the full translation step each time I want to create a new pypy-c.? Is >> there any way around this? > > No, because if you make a change then the whole program has to > retranslated to maintian invariants. What you can do, though, is speed > up the translation process by turning off optimization and using > --no-allworkingmodules. > > > -- > Regards, > Benjamin > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev From pg at cs.stanford.edu Tue Oct 6 22:54:49 2009 From: pg at cs.stanford.edu (Philip Guo) Date: Tue, 6 Oct 2009 13:54:49 -0700 Subject: [pypy-dev] is there incremental building for the translator? In-Reply-To: <693bc9ab0910061351m77dce155j8cbb06177564a50d@mail.gmail.com> References: <79e41e9f0910061318u5e28158ej2aea72efdcfadfff@mail.gmail.com> <1afaf6160910061323q44d3306bp2518f51b18c37d92@mail.gmail.com> <693bc9ab0910061351m77dce155j8cbb06177564a50d@mail.gmail.com> Message-ID: <79e41e9f0910061354m54c57e79h3aed262e3df00802@mail.gmail.com> sounds great, thanks for all the suggestions! On Tue, Oct 6, 2009 at 1:51 PM, Maciej Fijalkowski wrote: > Also, our workflow is to test stuff on top of CPython first, so you > don't have to recompile very often (sometimes not at all). > > Cheers, > fijal > > On Tue, Oct 6, 2009 at 2:23 PM, Benjamin Peterson > wrote: > > 2009/10/6 Philip Guo : > >> Hi all, > >> > >> Sorry for another newbie question, but I'm wondering whether there is > any > >> sort of "Makefile"-like incremental building functionality for the PyPy > >> translator. I just ran: > >> > >> cd pypy/translator/goal > >> python translate.py --opt=3 targetpypystandalone.py > >> > >> to create pypy-c, which works perfectly, but it took about an hour on my > >> machine. If I start hacking the PyPy source code, it seems like I have > to > >> do the full translation step each time I want to create a new pypy-c. > Is > >> there any way around this? > > > > No, because if you make a change then the whole program has to > > retranslated to maintian invariants. What you can do, though, is speed > > up the translation process by turning off optimization and using > > --no-allworkingmodules. > > > > > > -- > > Regards, > > Benjamin > > _______________________________________________ > > pypy-dev at codespeak.net > > http://codespeak.net/mailman/listinfo/pypy-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From santagada at gmail.com Tue Oct 6 23:00:12 2009 From: santagada at gmail.com (Leonardo Santagada) Date: Tue, 6 Oct 2009 18:00:12 -0300 Subject: [pypy-dev] Mac osx patches In-Reply-To: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> References: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> Message-ID: <604B00F3-8D39-4405-A23B-6C48C3B8533D@gmail.com> Thanks pedronis for applying one of the patches, but without the trackgcroot one I can't get no trackgcroot test to pass, and without the -dynamiclib change I get one failure on test_rffi_platform.py, but with it the generated pypy .s files can't be read by trackgcroot. Anyone knows how to fix the current failure on test_rffi_platform on osx without changing the -bundle to -dynamiclib? And the other failure about offset_labels, maybe it is possible to offset them but not by so much as 2**30 but maybe 2**24 or something? On Sep 30, 2009, at 2:06 PM, Leonardo Santagada wrote: > To make compilation and asmgcroot happy on osx I made some changes, > I would like to know if someone has anything against applying this > stuff to trunk? > > Index: pypy/translator/c/gcc/trackgcroot.py > =================================================================== > --- pypy/translator/c/gcc/trackgcroot.py (revision 68036) > +++ pypy/translator/c/gcc/trackgcroot.py (working copy) > @@ -22,7 +22,11 @@ > r_sectionstart = re.compile(r"\t\.("+'|'.join(OTHERSECTIONS) > +").*$") > r_functionstart_darwin = re.compile(r"_(\w+):\s*$") > > -OFFSET_LABELS = 2**30 > +# darwin's ld complain about this hack > +if sys.platform == 'darwin': > + OFFSET_LABELS = 0 > +else: > + OFFSET_LABELS = 2**30 > > # inside functions > LABEL = r'([.]?[\w$@]+)' > Index: pypy/translator/platform/test/test_darwin.py > =================================================================== > --- pypy/translator/platform/test/test_darwin.py (revision > 68036) > +++ pypy/translator/platform/test/test_darwin.py (working copy) > @@ -2,8 +2,8 @@ > """ File containing darwin platform tests > """ > > -import py, os > -if os.name != 'darwin': > +import py, sys > +if sys.platform != 'darwin': > py.test.skip("Darwin only") > > from pypy.tool.udir import udir > Index: pypy/translator/platform/darwin.py > =================================================================== > --- pypy/translator/platform/darwin.py (revision 68036) > +++ pypy/translator/platform/darwin.py (working copy) > @@ -18,7 +18,7 @@ > self.cc = cc > > def _args_for_shared(self, args): > - return (self.shared_only + ['-bundle', '-undefined', > 'dynamic_lookup'] > + return (self.shared_only + ['-dynamiclib', '-undefined', > 'dynamic_lookup'] > + args) > > def include_dirs_for_libffi(self): > > > -- > Leonardo Santagada > santagada at gmail.com > > > -- Leonardo Santagada santagada at gmail.com From pg at cs.stanford.edu Wed Oct 7 01:49:31 2009 From: pg at cs.stanford.edu (Philip Guo) Date: Tue, 6 Oct 2009 16:49:31 -0700 Subject: [pypy-dev] is there incremental building for the translator? In-Reply-To: <79e41e9f0910061354m54c57e79h3aed262e3df00802@mail.gmail.com> References: <79e41e9f0910061318u5e28158ej2aea72efdcfadfff@mail.gmail.com> <1afaf6160910061323q44d3306bp2518f51b18c37d92@mail.gmail.com> <693bc9ab0910061351m77dce155j8cbb06177564a50d@mail.gmail.com> <79e41e9f0910061354m54c57e79h3aed262e3df00802@mail.gmail.com> Message-ID: <79e41e9f0910061649k191d5c7bwcc11193b49f63647@mail.gmail.com> As a general rule, should I be trying to implement my PyPy extensions as new object spaces (e.g., like the thunk object space)? For the first draft of my hacked interpreter, I just made changes all throughout the core PyPy interpreter codebase, which worked fine when I was running in interpreted mode (py.py), but as soon as I tried to translate to create pypy-c, understandable all hell broke loose and translation mysteriously failed. I'm pretty sure that some of my hacks screwed something up. The thing is, I want to hack some changes to affect control flow, and I don't know how to do that with an object space. In particular, I want to alter control flow so that some function calls execute normally but other ones don't actually execute the function call but rather use a memoized return value that I previously saved. It's fairly straightforward to do by hacking PyPy interpreter directly, but I can't think of an easy way to do it with a separate object space. Any tips would be greatly appreciated. Thanks! Philip On Tue, Oct 6, 2009 at 1:54 PM, Philip Guo wrote: > sounds great, thanks for all the suggestions! > > > On Tue, Oct 6, 2009 at 1:51 PM, Maciej Fijalkowski wrote: > >> Also, our workflow is to test stuff on top of CPython first, so you >> don't have to recompile very often (sometimes not at all). >> >> Cheers, >> fijal >> >> On Tue, Oct 6, 2009 at 2:23 PM, Benjamin Peterson >> wrote: >> > 2009/10/6 Philip Guo : >> >> Hi all, >> >> >> >> Sorry for another newbie question, but I'm wondering whether there is >> any >> >> sort of "Makefile"-like incremental building functionality for the PyPy >> >> translator. I just ran: >> >> >> >> cd pypy/translator/goal >> >> python translate.py --opt=3 targetpypystandalone.py >> >> >> >> to create pypy-c, which works perfectly, but it took about an hour on >> my >> >> machine. If I start hacking the PyPy source code, it seems like I have >> to >> >> do the full translation step each time I want to create a new pypy-c. >> Is >> >> there any way around this? >> > >> > No, because if you make a change then the whole program has to >> > retranslated to maintian invariants. What you can do, though, is speed >> > up the translation process by turning off optimization and using >> > --no-allworkingmodules. >> > >> > >> > -- >> > Regards, >> > Benjamin >> > _______________________________________________ >> > pypy-dev at codespeak.net >> > http://codespeak.net/mailman/listinfo/pypy-dev >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benjamin at python.org Wed Oct 7 01:56:51 2009 From: benjamin at python.org (Benjamin Peterson) Date: Tue, 6 Oct 2009 18:56:51 -0500 Subject: [pypy-dev] is there incremental building for the translator? In-Reply-To: <79e41e9f0910061649k191d5c7bwcc11193b49f63647@mail.gmail.com> References: <79e41e9f0910061318u5e28158ej2aea72efdcfadfff@mail.gmail.com> <1afaf6160910061323q44d3306bp2518f51b18c37d92@mail.gmail.com> <693bc9ab0910061351m77dce155j8cbb06177564a50d@mail.gmail.com> <79e41e9f0910061354m54c57e79h3aed262e3df00802@mail.gmail.com> <79e41e9f0910061649k191d5c7bwcc11193b49f63647@mail.gmail.com> Message-ID: <1afaf6160910061656n4d2f7c72qeff46f576167f17d@mail.gmail.com> 2009/10/6 Philip Guo : > As a general rule, should I be trying to implement my PyPy extensions as new > object spaces (e.g., like the thunk object space)? > > For the first draft of my hacked interpreter, I just made changes all > throughout the core PyPy interpreter codebase, which worked fine when I was > running in interpreted mode (py.py), but as soon as I tried to translate to > create pypy-c, understandable all hell broke loose and translation > mysteriously failed.? I'm pretty sure that some of my hacks screwed > something up. Well, no matter where you implement your changes, it will probably not translate. :) > > The thing is, I want to hack some changes to affect control flow, and I > don't know how to do that with an object space.? In particular, I want to > alter control flow so that some function calls execute normally but other > ones don't actually execute the function call but rather use a memoized > return value that I previously saved.? It's fairly straightforward to do by > hacking PyPy interpreter directly, but I can't think of an easy way to do it > with a separate object space. Usually control changes have to be implemented in the interpreter since they consistute a change in the language. The objspace is primarily useful for changing object behavior. > > Any tips would be greatly appreciated. > > Thanks! > Philip -- Regards, Benjamin From Jan.Wedel at ettex.de Wed Oct 7 10:01:26 2009 From: Jan.Wedel at ettex.de (Jan Wedel) Date: Wed, 7 Oct 2009 10:01:26 +0200 Subject: [pypy-dev] Problems translating PyPy to Java Message-ID: Ok, I tried to translate PyPy to Java using ./translate.py --backend=jvm targetpypystandalone.py But it tried to call the MS Compiler cl.exe which I don?t have. I?m wondering why? This results in several errors (see below). What?s happening? Thanks, Jan C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dateien\repo\trunk\rialto\tools\ pypy-1.1.0\pypy\translator\goal>translate.py --backend=jvm targetpypystandalone. py [translation:info] Translating target as defined by targetpypystandalone [platform:error] Could not find a Microsoft Compiler [platform:msg] Setting platform to 'host' cc=None [translation] PyPy config object: [translation] [objspace] [translation] compiler = ast [translation] nofaking = True [translation] [opcodes] [translation] CALL_LIKELY_BUILTIN = True [translation] CALL_METHOD = True [translation] [std] [translation] builtinshortcut = True [translation] getattributeshortcut = True [translation] multimethods = doubledispatch [translation] optimized_list_getitem = True [translation] withmethodcache = True [translation] withmultidict = True [translation] withprebuiltchar = True [translation] withrangelist = True [translation] withshadowtracking = True [translation] withtypeversion = True [translation] [usemodules] [translation] __pypy__ = True [translation] _codecs = True [translation] _pickle_support = True [translation] _random = True [translation] _sre = True [translation] _weakref = True [translation] cStringIO = True [translation] errno = True [translation] gc = True [translation] itertools = True [translation] marshal = True [translation] math = True [translation] md5 = True [translation] operator = True [translation] posix = True [translation] rbench = True [translation] recparser = True [translation] sha = True [translation] symbol = True [translation] time = True [platform:execute] cl.exe /nologo /c /MD /O2 /IC:\Python26\PC c:\windows\temp\us ession-2\gcctest.c /Foc:\windows\temp\usession-2\gcctest.obj [translation:ERROR] Error: [translation:ERROR] Traceback (most recent call last): [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\goal\translate.p y", line 257, in main [translation:ERROR] default_goal='compile') [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\driver.py", line 723, in from_targetspec [translation:ERROR] spec = target(driver, args) [translation:ERROR] File "targetpypystandalone.py", line 202, in target [translation:ERROR] return self.get_entry_point(config) [translation:ERROR] File "targetpypystandalone.py", line 209, in get_entry_po int [translation:ERROR] space = make_objspace(config) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\tool\option.py", line 48, in make_o bjspace [translation:ERROR] space = Space(config) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\interpreter\baseobjspace.py ", line 265, in __init__ [translation:ERROR] self.initialize() [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\objspace\std\objspace.py", line 73, in initialize [translation:ERROR] self.model = StdTypeModel(self.config) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\objspace\std\model.py", line 88, in __init__ [translation:ERROR] import pypy.objspace.std.marshal_impl # install marshal multimethods [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\objspace\std\marshal_impl.p y", line 40, in [translation:ERROR] from pypy.module.marshal.interp_marshal import register [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\module\marshal\interp_marsh al.py", line 4, in [translation:ERROR] from pypy.module._file.interp_file import W_File [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\module\_file\interp_file.py ", line 3, in [translation:ERROR] from pypy.rlib import streamio [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rlib\streamio.py", line 167, in [translation:ERROR] from pypy.rlib import rwin32 [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rlib\rwin32.py", line 5, in [translation:ERROR] from pypy.rpython.tool import rffi_platform [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rpython\tool\rffi_platform. py", lin e 5, in [translation:ERROR] from pypy.rpython.lltypesystem import rffi [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rpython\lltypesystem\rffi.p y", line 348, in [translation:ERROR] NUMBER_TYPES = setup() [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rpython\lltypesystem\rffi.p y", line 340, in setup [translation:ERROR] tp = platform.inttype(name.upper(), c_name, signed) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rpython\tool\rfficache.py", line 53 , in inttype [translation:ERROR] bits = sizeof_c_type(c_name, **kwds) * 8 [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rpython\tool\rfficache.py", line 39 , in sizeof_c_type [translation:ERROR] answer = ask_gcc(question, **kwds).split('=') [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rpython\tool\rfficache.py", line 34 , in ask_gcc [translation:ERROR] return build_executable_cache([c_file], eci) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\tool\gcc_cache.py", line 22, in bui ld_executable_cache [translation:ERROR] result = platform.execute(platform.compile(c_files, eci) ) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\platform\__init_ _.py", l ine 61, in compile [translation:ERROR] ofiles = self._compile_o_files(cfiles, eci, standalone) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\platform\__init_ _.py", l ine 70, in _compile_o_files [translation:ERROR] ofiles.append(self._compile_c_file(self.cc, cfile, compi le_args)) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\platform\windows .py", li ne 143, in _compile_c_file [translation:ERROR] self._execute_c_compiler(cc, args, oname) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\platform\__init_ _.py", l ine 98, in _execute_c_compiler [translation:ERROR] returncode, stdout, stderr = _run_subprocess(cc, args, s elf.c_environ) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\platform\__init_ _.py", l ine 25, in _run_subprocess [translation:ERROR] pipe = Popen(args, stdout=PIPE, stderr=PIPE, shell=shell , env=env) [translation:ERROR] File "C:\Python26\lib\subprocess.py", line 595, in __init __ [translation:ERROR] errread, errwrite) [translation:ERROR] File "C:\Python26\lib\subprocess.py", line 804, in _execu te_child [translation:ERROR] startupinfo) [translation:ERROR] WindowsError: [Error 2] Das System kann die angegebene Date i nicht finden [translation] start debugger... > c:\python26\lib\subprocess.py(810)_execute_child() -> raise WindowsError(*e.args) (Pdb+) exit -------------- next part -------------- An HTML attachment was scrubbed... URL: From amauryfa at gmail.com Wed Oct 7 11:17:52 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Wed, 7 Oct 2009 11:17:52 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: References: Message-ID: Hello, 2009/10/7 Jan Wedel : > Ok, I tried to translate PyPy to Java using > > ./translate.py --backend=jvm targetpypystandalone.py > > But it tried to call the MS Compiler cl.exe which I don?t have. I?m > wondering why? This results in several errors (see below). > > What?s happening? I'm afraid you will need a C compiler to translate pypy: the jvm backend starts with the C implementation of functions, and ultimately replaces system calls with java methods. If you have the mingw32 compiler installed (and in your PATH), you may try with the --cc=mingw32 option. -- Amaury Forgeot d'Arc From anto.cuni at gmail.com Wed Oct 7 11:59:43 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Wed, 07 Oct 2009 11:59:43 +0200 Subject: [pypy-dev] Does PyPy supports Java ME? In-Reply-To: References: Message-ID: <4ACC668F.3060802@gmail.com> Hi Jan, Jan Wedel wrote: > 1.) Does PyPy generate both C and Java Bytecode for the Interpreter out > of the box or with low effort? yes > 2.) Is the java code compatible with Java ME or is it possible to modify > the PyPy-code/Interpreter-code so that Java ME is supported? I don't know what are the requirements/restrictions for Java ME. If the restrictions are only about the library, it's possible that it works out of the box as pypy-jvm doesn't use many external libraries. However, note that you might have memory problems because the binary it's kind of big (the JAR file is ~8-10 MB, IIRC). > 3.) What standard libraries are supported? I coulnd't find a list. > Especially the communication (such as socket) functionality is > important. unfortunately, you cannot access any external java library from pypy-jvm so far. I agree that it makes it a bit pointless, but basically nobody ever cared enough/had time to add support for it. I plan to do it at some point, but surely not before I finish my PhD (which is supposed to finish at the end of next april). > 4.) Do you think PyPy is stable enough for commercial use? The MIT > license allows commercial use as far as I read. The Python interpreter in PyPy is quite stable and compliant with CPython. However, the resulting pypy-jvm has never been extensively tested as far as I know, so it's likely to have undiscovered bugs (but usually they are easy to fix). So, to sum up: I'm sorry but pypy-jvm is not usable for production right now; it could be made useful with relatively low effort if someone invested time and/or money on it, but I don't think it's going to happen very soon. ciao, Anto From Jan.Wedel at ettex.de Wed Oct 7 14:03:12 2009 From: Jan.Wedel at ettex.de (Jan Wedel) Date: Wed, 7 Oct 2009 14:03:12 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: Message-ID: Hmmm, downloaded VS2008. Now, it starts to do something strange and displays colored ASCII art of Mandelbrot pictures. During the process, I got several errors and warnings such as: [platform:ERROR] platcheck_3.c [platform:ERROR] c:\windows\temp\usession-3\platcheck_3.c(1) : fatal error C1083 : Datei (Include) kann nicht ge?ffnet werden: "sys/time.h": No such file or dire Ctory [geninterp:WARNING] skipped classmethod: > [platform:ERROR] platcheck_10.c [platform:ERROR] c:\windows\temp\usession-3\platcheck_10.c(15) : error C2065: 'g ettimeofday': nichtdeklarierter Bezeichner ............................ [annrpython:WARNING] make_sure_not_resized called, but has no effect since list_ comprehension is off [annrpython:WARNING] make_sure_not_resized called, but has no effect since list_ comprehension is off . [annrpython:WARNING] make_sure_not_resized called, but has no effect since list_ comprehension is off ................. [rtyper] specializing: 19900 / 49722 blocks (40%) *************%%%%% [rtyper:WARNING] compute_unique_id() is not fully supported on ootype *************%%%%%%%%%%%% [rtyper] specializing: 22500 / 49865 blocks (45%) And at the end: [rtyper] specializing: 48800 / 50785 blocks (96%) [rtyper] -=- specialized 50785 blocks -=- * [rtyper:WARNING] prebuilt instance Ellipsis has no attribute 'errno' ** [rtyper] -=- specialized 8 more blocks -=- [translation:info] ootype back-end optimisations... [backendopt:inlining] phase with threshold factor: 32.4 [backendopt:inlining] heuristic: pypy.translator.backendopt.inline.inlining_heur istic *************%%%%%%%%%%%%%%########%%%%%%%%%** [Timer] Timings: [Timer] annotate --- 367.1 s [Timer] rtype_ootype --- 125.8 s [Timer] backendopt_ootype --- 7.0 s [Timer] ========================================== [Timer] Total: --- 500.0 s [translation:ERROR] Error: [translation:ERROR] Traceback (most recent call last): [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\goal\translate.p y", line 273, in main Whats the problem now? Do I need to install these additional libraries even if want to translate to Java? Regards, Jan -----Urspr?ngliche Nachricht----- Von: Amaury Forgeot d'Arc [mailto:amauryfa at gmail.com] Gesendet: Mittwoch, 7. Oktober 2009 11:18 An: Jan Wedel Cc: pypy-dev at codespeak.net Betreff: Re: [pypy-dev] Problems translating PyPy to Java Hello, 2009/10/7 Jan Wedel : > Ok, I tried to translate PyPy to Java using > > ./translate.py --backend=jvm targetpypystandalone.py > > But it tried to call the MS Compiler cl.exe which I dont have. Im > wondering why? This results in several errors (see below). > > Whats happening? I'm afraid you will need a C compiler to translate pypy: the jvm backend starts with the C implementation of functions, and ultimately replaces system calls with java methods. If you have the mingw32 compiler installed (and in your PATH), you may try with the --cc=mingw32 option. -- Amaury Forgeot d'Arc From amauryfa at gmail.com Wed Oct 7 15:10:49 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Wed, 7 Oct 2009 15:10:49 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: References: Message-ID: 2009/10/7 Jan Wedel : > Hmmm, downloaded VS2008. Now, it starts to do something strange and > displays colored ASCII art of Mandelbrot pictures. cool. > During the process, I got several errors and warnings such as: > > [platform:ERROR] platcheck_3.c > [platform:ERROR] c:\windows\temp\usession-3\platcheck_3.c(1) : fatal > error C1083 > : Datei (Include) kann nicht ge?ffnet werden: "sys/time.h": No such file > or dire > Ctory > > [geninterp:WARNING] skipped classmethod: of ss UserDict.UserDict at 0x00CA1300>> > > [platform:ERROR] platcheck_10.c > [platform:ERROR] c:\windows\temp\usession-3\platcheck_10.c(15) : error > C2065: 'g > ettimeofday': nichtdeklarierter Bezeichner > > ............................ > [annrpython:WARNING] make_sure_not_resized called, but has no effect > since list_ > comprehension is off > [annrpython:WARNING] make_sure_not_resized called, but has no effect > since list_ > comprehension is off > . > [annrpython:WARNING] make_sure_not_resized called, but has no effect > since list_ > comprehension is off > ................. > > [rtyper] specializing: 19900 / 49722 blocks ? (40%) > *************%%%%% > [rtyper:WARNING] compute_unique_id() is not fully supported on ootype > *************%%%%%%%%%%%% > [rtyper] specializing: 22500 / 49865 blocks ? (45%) > > > And at the end: > > [rtyper] specializing: 48800 / 50785 blocks ? (96%) > [rtyper] -=- specialized 50785 blocks -=- > * > [rtyper:WARNING] prebuilt instance Ellipsis has no attribute 'errno' > ** > [rtyper] -=- specialized 8 more blocks -=- > [translation:info] ootype back-end optimisations... > [backendopt:inlining] phase with threshold factor: 32.4 > [backendopt:inlining] heuristic: > pypy.translator.backendopt.inline.inlining_heur > istic > *************%%%%%%%%%%%%%%########%%%%%%%%%** > [Timer] Timings: > [Timer] annotate ? ? ? ? ? ? ? ? ? ? ? --- 367.1 s > [Timer] rtype_ootype ? ? ? ? ? ? ? ? ? --- 125.8 s > [Timer] backendopt_ootype ? ? ? ? ? ? ?--- ? 7.0 s > [Timer] ========================================== > [Timer] Total: ? ? ? ? ? ? ? ? ? ? ? ? --- 500.0 s > [translation:ERROR] Error: > [translation:ERROR] ?Traceback (most recent call last): > [translation:ERROR] ? ?File "C:\Dokumente und Einstellungen\Jan > Wedel\Eigene Dat > eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\goal\translate.p > y", line > ?273, in main The first warnings are normal, they come from conditional code that detects the capabilities of the platform. for example, "sys/time.h" is tried to see if the function "utimes()" can be used. More interesting is the last traceback, but your post truncated it. Can you provide a full traceback? -- Amaury Forgeot d'Arc From Jan.Wedel at ettex.de Wed Oct 7 15:17:12 2009 From: Jan.Wedel at ettex.de (Jan Wedel) Date: Wed, 7 Oct 2009 15:17:12 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: Message-ID: > More interesting is the last traceback, but your post truncated it. > Can you provide a full traceback? Actually...no! There is no traceback except what I posted. After this line, its an unknown (at least to me) debugger and displays a promp which I exited by typing "exit". -J -----Urspr?ngliche Nachricht----- Von: Amaury Forgeot d'Arc [mailto:amauryfa at gmail.com] Gesendet: Mittwoch, 7. Oktober 2009 15:11 An: Jan Wedel Cc: pypy-dev at codespeak.net Betreff: Re: [pypy-dev] Problems translating PyPy to Java 2009/10/7 Jan Wedel : > Hmmm, downloaded VS2008. Now, it starts to do something strange and > displays colored ASCII art of Mandelbrot pictures. cool. > During the process, I got several errors and warnings such as: > > [platform:ERROR] platcheck_3.c > [platform:ERROR] c:\windows\temp\usession-3\platcheck_3.c(1) : fatal > error C1083 > : Datei (Include) kann nicht ge?ffnet werden: "sys/time.h": No such file > or dire > Ctory > > [geninterp:WARNING] skipped classmethod: of ss UserDict.UserDict at 0x00CA1300>> > > [platform:ERROR] platcheck_10.c > [platform:ERROR] c:\windows\temp\usession-3\platcheck_10.c(15) : error > C2065: 'g > ettimeofday': nichtdeklarierter Bezeichner > > ............................ > [annrpython:WARNING] make_sure_not_resized called, but has no effect > since list_ > comprehension is off > [annrpython:WARNING] make_sure_not_resized called, but has no effect > since list_ > comprehension is off > . > [annrpython:WARNING] make_sure_not_resized called, but has no effect > since list_ > comprehension is off > ................. > > [rtyper] specializing: 19900 / 49722 blocks ? (40%) > *************%%%%% > [rtyper:WARNING] compute_unique_id() is not fully supported on ootype > *************%%%%%%%%%%%% > [rtyper] specializing: 22500 / 49865 blocks ? (45%) > > > And at the end: > > [rtyper] specializing: 48800 / 50785 blocks ? (96%) > [rtyper] -=- specialized 50785 blocks -=- > * > [rtyper:WARNING] prebuilt instance Ellipsis has no attribute 'errno' > ** > [rtyper] -=- specialized 8 more blocks -=- > [translation:info] ootype back-end optimisations... > [backendopt:inlining] phase with threshold factor: 32.4 > [backendopt:inlining] heuristic: > pypy.translator.backendopt.inline.inlining_heur > istic > *************%%%%%%%%%%%%%%########%%%%%%%%%** > [Timer] Timings: > [Timer] annotate ? ? ? ? ? ? ? ? ? ? ? --- 367.1 s > [Timer] rtype_ootype ? ? ? ? ? ? ? ? ? --- 125.8 s > [Timer] backendopt_ootype ? ? ? ? ? ? ?--- ? 7.0 s > [Timer] ========================================== > [Timer] Total: ? ? ? ? ? ? ? ? ? ? ? ? --- 500.0 s > [translation:ERROR] Error: > [translation:ERROR] ?Traceback (most recent call last): > [translation:ERROR] ? ?File "C:\Dokumente und Einstellungen\Jan > Wedel\Eigene Dat > eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\goal\translate.p > y", line > ?273, in main The first warnings are normal, they come from conditional code that detects the capabilities of the platform. for example, "sys/time.h" is tried to see if the function "utimes()" can be used. More interesting is the last traceback, but your post truncated it. Can you provide a full traceback? -- Amaury Forgeot d'Arc From amauryfa at gmail.com Wed Oct 7 15:22:14 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Wed, 7 Oct 2009 15:22:14 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: References: Message-ID: 2009/10/7 Jan Wedel : > >> More interesting is the last traceback, but your post truncated it. >> Can you provide a full traceback? > > Actually...no! There is no traceback except what I posted. After this > line, its an unknown (at least to me) debugger and displays a promp > which I exited by typing "exit". Err... no exception type, no message... maybe some kind of out-of-memory condition? -- Amaury Forgeot d'Arc From Jan.Wedel at ettex.de Wed Oct 7 16:40:39 2009 From: Jan.Wedel at ettex.de (Jan Wedel) Date: Wed, 7 Oct 2009 16:40:39 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: Message-ID: Hi, sorry I was mistaken. There is a trace indeed! My bad... [translation:ERROR] Error: [translation:ERROR] Traceback (most recent call last): [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\goal\translate.p y", line 273, in main [translation:ERROR] drv.proceed(goals) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\driver.py", line 704, in proceed [translation:ERROR] return self._execute(goals, task_skip = self._maybe_skip ()) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\tool\taskengine. py", lin e 116, in _execute [translation:ERROR] res = self._do(goal, taskcallable, *args, **kwds) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\driver.py", line 267, in _do [translation:ERROR] res = func() [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\driver.py", line 395, in task_backendopt_ootype [translation:ERROR] backend_optimizations(self.translator) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\all.p y", line 80, in backend_optimizations [translation:ERROR] inline_heuristic=heuristic) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\all.p y", line 156, in inline_malloc_removal_phase [translation:ERROR] call_count_pred=call_count_pred) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\inlin e.py", l ine 779, in auto_inline_graphs [translation:ERROR] call_count_pred=call_count_pred) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\inlin e.py", l ine 750, in auto_inlining [translation:ERROR] call_count_pred, cleanup=False) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\inlin e.py", l ine 108, in inline_function [translation:ERROR] return inliner.inline_all() [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\inlin e.py", l ine 217, in inline_all [translation:ERROR] self.inline_once(block, index_operation) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\inlin e.py", l ine 244, in inline_once [translation:ERROR] self.translator, self.raise_analyzer): [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\inlin e.py", l ine 160, in any_call_to_raising_graphs [translation:ERROR] if does_raise_directly(graph_or_something, raise_analyze r): [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\inlin e.py", l ine 153, in does_raise_directly [translation:ERROR] if raise_analyzer.can_raise(op): [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\canra ise.py", line 33, in can_raise [translation:ERROR] return self.analyze(op, seen) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\graph analyze. py", line 38, in analyze [translation:ERROR] return self.analyze_external_call(op) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\translator\backendopt\canra ise.py", line 21, in analyze_external_call [translation:ERROR] fnobj = deref(op.args[0].value) [translation:ERROR] File "C:\Dokumente und Einstellungen\Jan Wedel\Eigene Dat eien\repo\trunk\rialto\tools\pypy-1.1.0\pypy\rpython\typesystem.py", line 153, i n deref [translation:ERROR] assert isinstance(ootype.typeOf(obj), ootype.OOType) [translation:ERROR] AssertionError [translation] start debugger... > c:\dokumente und einstellungen\jan wedel\eigene dateien\repo\trunk\rialto\tool s\pypy-1.1.0\pypy\rpython\typesystem.py(153)deref() -> assert isinstance(ootype.typeOf(obj), ootype.OOType) (Pdb+) exit -----Urspr?ngliche Nachricht----- Von: Amaury Forgeot d'Arc [mailto:amauryfa at gmail.com] Gesendet: Mittwoch, 7. Oktober 2009 15:22 An: Jan Wedel Cc: pypy-dev at codespeak.net Betreff: Re: [pypy-dev] Problems translating PyPy to Java 2009/10/7 Jan Wedel : > >> More interesting is the last traceback, but your post truncated it. >> Can you provide a full traceback? > > Actually...no! There is no traceback except what I posted. After this > line, its an unknown (at least to me) debugger and displays a promp > which I exited by typing "exit". Err... no exception type, no message... maybe some kind of out-of-memory condition? -- Amaury Forgeot d'Arc From anto.cuni at gmail.com Wed Oct 7 17:10:14 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Wed, 07 Oct 2009 17:10:14 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: References: Message-ID: <4ACCAF56.5000205@gmail.com> Jan Wedel wrote: >> c:\dokumente und einstellungen\jan wedel\eigene > dateien\repo\trunk\rialto\tool > s\pypy-1.1.0\pypy\rpython\typesystem.py(153)deref() > -> assert isinstance(ootype.typeOf(obj), ootype.OOType) > (Pdb+) exit uhm, that's weird. I've just tried a jvm translation on a linux machine and it works fine. I don't have any windows machine with JDK to try it by myself, but I'm downloading it right now. In the meantime: could you tell us what is the result of typing "print obj" and "print ootype.typeOf(obj)" at the pdb prompt? Thanks, Anto From amauryfa at gmail.com Wed Oct 7 17:15:40 2009 From: amauryfa at gmail.com (Amaury Forgeot d'Arc) Date: Wed, 7 Oct 2009 17:15:40 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: <4ACCAF56.5000205@gmail.com> References: <4ACCAF56.5000205@gmail.com> Message-ID: > Jan Wedel wrote: > >>> c:\dokumente und einstellungen\jan wedel\eigene >> >> dateien\repo\trunk\rialto\tool >> s\pypy-1.1.0\pypy\rpython\typesystem.py(153)deref() >> -> assert isinstance(ootype.typeOf(obj), ootype.OOType) >> (Pdb+) exit Hey, do you use trunk version, or some release branch? Recent development is done on trunk... -- Amaury Forgeot d'Arc From anto.cuni at gmail.com Wed Oct 7 17:22:35 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Wed, 07 Oct 2009 17:22:35 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: References: <4ACCAF56.5000205@gmail.com> Message-ID: <4ACCB23B.7010406@gmail.com> Amaury Forgeot d'Arc wrote: >> Jan Wedel wrote: >> >>>> c:\dokumente und einstellungen\jan wedel\eigene >>> dateien\repo\trunk\rialto\tool >>> s\pypy-1.1.0\pypy\rpython\typesystem.py(153)deref() >>> -> assert isinstance(ootype.typeOf(obj), ootype.OOType) >>> (Pdb+) exit > > Hey, do you use trunk version, or some release branch? > Recent development is done on trunk... ah, indeed, I didn't notice the 1.1.0. I remember that at post-europython sprint (which was after the 1.1.0 release) I fixed a couple of issues that prevented pypy-jvm to be translated on windows, so if you shoul really use trunk for this. From Jan.Wedel at ettex.de Thu Oct 8 09:05:26 2009 From: Jan.Wedel at ettex.de (Jan Wedel) Date: Thu, 8 Oct 2009 09:05:26 +0200 Subject: [pypy-dev] Problems translating PyPy to Java In-Reply-To: <4ACCAF56.5000205@gmail.com> Message-ID: > In the meantime: could you tell us what is the result of typing "print obj" > and "print ootype.typeOf(obj)" at the pdb prompt? I don't know if its still necessary, but: [translation] start debugger... > c:\dokumente und einstellungen\jan wedel\eigene dateien\repo\trunk\rialto\tool s\pypy-1.1.0\py\io\terminalwriter.py(40)SetConsoleTextAttribute() -> handle, attr) (Pdb+) print obj *** NameError: name 'obj' is not defined (Pdb+) print ootype.typeOf(obj) *** NameError: name 'ootype' is not defined (Pdb+) Anyhow, I will try to use the trunk version. Thanks so far! -J -----Urspr?ngliche Nachricht----- Von: Antonio Cuni [mailto:anto.cuni at gmail.com] Gesendet: Mittwoch, 7. Oktober 2009 17:10 An: Jan Wedel Cc: amauryfa at gmail.com; pypy-dev at codespeak.net Betreff: Re: [pypy-dev] Problems translating PyPy to Java Jan Wedel wrote: >> c:\dokumente und einstellungen\jan wedel\eigene > dateien\repo\trunk\rialto\tool > s\pypy-1.1.0\pypy\rpython\typesystem.py(153)deref() > -> assert isinstance(ootype.typeOf(obj), ootype.OOType) > (Pdb+) exit uhm, that's weird. I've just tried a jvm translation on a linux machine and it works fine. I don't have any windows machine with JDK to try it by myself, but I'm downloading it right now. In the meantime: could you tell us what is the result of typing "print obj" and "print ootype.typeOf(obj)" at the pdb prompt? Thanks, Anto From anto.cuni at gmail.com Thu Oct 8 14:37:09 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Thu, 08 Oct 2009 14:37:09 +0200 Subject: [pypy-dev] Does PyPy supports Java ME? In-Reply-To: References: Message-ID: <4ACDDCF5.6000104@gmail.com> Jan Wedel wrote: > Hi Anto! > > Thanks for your answer. Hi Jan, (I'm cc-ing pypy-dev again) > Although it's now made by Sun, it shows the key points: > - No class loading > - No JNI > - No reflection > > Which means you cannot load dynamic code during run-time. On top, there > are a lot of libraries missing (XML parsing, Regex, logging...) so far pypy-jvm doesn't use any of those, so it should not be a problem. However, in the future reflection will be surely needed to access java libraries (but you don't seem to be interested in it) and class loading for the jit. > THAT might be a problem since we are working on memory constrained > systems with a maximum of a few MB of flash and approx. 200kB RAM. Are > there any estimations about the RAM usage of PyPy using classes and > other memory-consuming features? I think that 200kB are definitely not enough for pypy-jvm. I don't know for sure how to measure memory usage of java programs, but if I just launch pypy-jvm and measure the amount of memory used on linux, I get something like ~400 MB: this also includes the overhead of the jvm itself, but it's still a lot. > And is this 8-10MB including only the core interpreter? Or are there any > ways to strip it down by excluding unnecessary libs? it includes the core interpreter and the builtin modules; some of them can be stripped down, but I don't know how much you can save. > I didn't make myself clear. I meant python libs/modules. E.g. sys, > socket, sre etc... Because if these modules are supported I won't need a > lot of Java Libraries. As I explained, I already ported PyMite to Java > and I discovered that numerous python modules have a C counterpart such > as _socket, _sre etc. So If you want to run these libs, you need to > translate these C files. ah, now I understand. This is the complete list of builtin modules that are enabled for pypy-jvm: [translation] [usemodules] [translation] __pypy__ = True [translation] _ast = True [translation] _codecs = True [translation] _pickle_support = True [translation] _random = True [translation] _sre = True [translation] _testing = True [translation] _weakref = True [translation] cStringIO = True [translation] errno = True [translation] gc = True [translation] itertools = True [translation] marshal = True [translation] math = True [translation] md5 = True [translation] operator = True [translation] parser = True [translation] posix = True [translation] rbench = True [translation] sha = True [translation] symbol = True [translation] time = True [translation] token = True As you can see, _socket is missing. It's surely possible to write a version of it that works for the jvm, but as usual it takes some time and nobody cared enough to implement it. ciao, Anto From Jan.Wedel at ettex.de Thu Oct 8 14:51:31 2009 From: Jan.Wedel at ettex.de (Jan Wedel) Date: Thu, 8 Oct 2009 14:51:31 +0200 Subject: [pypy-dev] Does PyPy supports Java ME? In-Reply-To: <4ACDDCF5.6000104@gmail.com> Message-ID: > so far pypy-jvm doesn't use any of those, so it should not be a problem. > However, in the future reflection will be surely needed to access java > libraries (but you don't seem to be interested in it) and class loading for > the jit. Hmm, I'm not sure if one the goals for the future is still to use PyPy for embedded target (as it was stated in one of these EU papers). But if the answer is yes, you should really check embedded system constraits. I think the idea of PyPy is really good because you can develop platform independend application in Python and moreover auto-generate interpreters for different software platforms while keeping the interpreter code "synchronized" for all platforms. This is a really good approach but you should consider the limitations of embedded devices. > I don't know for sure how to measure memory usage of java programs, but if I > just launch pypy-jvm and measure the amount of memory used on linux, I get > something like ~400 MB: this also includes the overhead of the jvm itself, but > it's still a lot. I think for my task, PyPy is still too heavyweight although 400MB includes paged memory and all loaded Java libraries so its REALLY not possible to find out the real memory usage of a Java application (I tried this on Linux before). So, I guess I will stick to the Java port of PyMite/Python-on-a-chip. But thank you for your help and good luck! Jan -----Urspr?ngliche Nachricht----- Von: Antonio Cuni [mailto:anto.cuni at gmail.com] Gesendet: Donnerstag, 8. Oktober 2009 14:37 An: Jan Wedel; PyPy Dev Betreff: Re: AW: Re: [pypy-dev] Does PyPy supports Java ME? Jan Wedel wrote: > Hi Anto! > > Thanks for your answer. Hi Jan, (I'm cc-ing pypy-dev again) > Although it's now made by Sun, it shows the key points: > - No class loading > - No JNI > - No reflection > > Which means you cannot load dynamic code during run-time. On top, there > are a lot of libraries missing (XML parsing, Regex, logging...) so far pypy-jvm doesn't use any of those, so it should not be a problem. However, in the future reflection will be surely needed to access java libraries (but you don't seem to be interested in it) and class loading for the jit. > THAT might be a problem since we are working on memory constrained > systems with a maximum of a few MB of flash and approx. 200kB RAM. Are > there any estimations about the RAM usage of PyPy using classes and > other memory-consuming features? I think that 200kB are definitely not enough for pypy-jvm. I don't know for sure how to measure memory usage of java programs, but if I just launch pypy-jvm and measure the amount of memory used on linux, I get something like ~400 MB: this also includes the overhead of the jvm itself, but it's still a lot. > And is this 8-10MB including only the core interpreter? Or are there any > ways to strip it down by excluding unnecessary libs? it includes the core interpreter and the builtin modules; some of them can be stripped down, but I don't know how much you can save. > I didn't make myself clear. I meant python libs/modules. E.g. sys, > socket, sre etc... Because if these modules are supported I won't need a > lot of Java Libraries. As I explained, I already ported PyMite to Java > and I discovered that numerous python modules have a C counterpart such > as _socket, _sre etc. So If you want to run these libs, you need to > translate these C files. ah, now I understand. This is the complete list of builtin modules that are enabled for pypy-jvm: [translation] [usemodules] [translation] __pypy__ = True [translation] _ast = True [translation] _codecs = True [translation] _pickle_support = True [translation] _random = True [translation] _sre = True [translation] _testing = True [translation] _weakref = True [translation] cStringIO = True [translation] errno = True [translation] gc = True [translation] itertools = True [translation] marshal = True [translation] math = True [translation] md5 = True [translation] operator = True [translation] parser = True [translation] posix = True [translation] rbench = True [translation] sha = True [translation] symbol = True [translation] time = True [translation] token = True As you can see, _socket is missing. It's surely possible to write a version of it that works for the jvm, but as usual it takes some time and nobody cared enough to implement it. ciao, Anto From holger at merlinux.eu Thu Oct 8 15:17:10 2009 From: holger at merlinux.eu (holger krekel) Date: Thu, 8 Oct 2009 15:17:10 +0200 Subject: [pypy-dev] Does PyPy supports Java ME? In-Reply-To: References: Message-ID: <20091008131710.GA29141@trillke.net> Hi Jan, On Tue, Oct 06, 2009 at 15:15 +0200, Jan Wedel wrote: > I was currently working on a port of PyMite (8-Bit MCU port of CPython) > to Java ME. I already got the interpreter working so that basic Python > scripts could run as code images on a mobile java IMP device. Actually > we need Python interpreters on different embedded platforms supporting > either C or Java ME (IMP). I discovered a lot of problems including the > missing class implementation of PyMite. > > Then, by recommendation, I found PyPy. It looks as if it is exactly what > I was looking for and I read that it is specifically designed to support > embedded platforms. Do you have a pointer to documentation or a text that says so? I wouldn't see PyPy this way. However, we do have a pypy-c version that works on Maemo and is more efficient for larger amounts of user objects. We also have ideas how to reduce RSS size after interpreter startup, mostly tied to pypy-c so far, though. In principle it's also possible to translate RPython to C or JVM and avoid interpretation alltogether. RPython is >50 times faster than CPython but less convenient to work with than regular Python so only makes sense to consider for special purposes. And is probably best learned in collaboration with developers who know how to work with it and are willing or paid to help. cheers, holger -- Metaprogramming, Python, Testing: http://tetamap.wordpress.com Python, PyPy, pytest contracting: http://merlinux.eu From Jan.Wedel at ettex.de Thu Oct 8 15:30:28 2009 From: Jan.Wedel at ettex.de (Jan Wedel) Date: Thu, 8 Oct 2009 15:30:28 +0200 Subject: [pypy-dev] Does PyPy supports Java ME? In-Reply-To: <20091008131710.GA29141@trillke.net> Message-ID: > Do you have a pointer to documentation or a text that says so? Yes : http://codespeak.net/pypy/extradoc/eu-report/D11.1_PyPy_for_Embedded_Devices-2007-03-26.pdf > It should be possible with future versions of PyPy to use the framework in other ways in the embedded context > for instance by shipping a restricted version of the interpreter, dedicated to the interpretation of a given > set of programs. I think I read something more precise but I couldn't find it anymore. -----Urspr?ngliche Nachricht----- Von: holger krekel [mailto:holger at merlinux.eu] Gesendet: Donnerstag, 8. Oktober 2009 15:17 An: Jan Wedel Cc: pypy-dev at codespeak.net Betreff: Re: [pypy-dev] Does PyPy supports Java ME? Hi Jan, On Tue, Oct 06, 2009 at 15:15 +0200, Jan Wedel wrote: > I was currently working on a port of PyMite (8-Bit MCU port of CPython) > to Java ME. I already got the interpreter working so that basic Python > scripts could run as code images on a mobile java IMP device. Actually > we need Python interpreters on different embedded platforms supporting > either C or Java ME (IMP). I discovered a lot of problems including the > missing class implementation of PyMite. > > Then, by recommendation, I found PyPy. It looks as if it is exactly what > I was looking for and I read that it is specifically designed to support > embedded platforms. Do you have a pointer to documentation or a text that says so? I wouldn't see PyPy this way. However, we do have a pypy-c version that works on Maemo and is more efficient for larger amounts of user objects. We also have ideas how to reduce RSS size after interpreter startup, mostly tied to pypy-c so far, though. In principle it's also possible to translate RPython to C or JVM and avoid interpretation alltogether. RPython is >50 times faster than CPython but less convenient to work with than regular Python so only makes sense to consider for special purposes. And is probably best learned in collaboration with developers who know how to work with it and are willing or paid to help. cheers, holger -- Metaprogramming, Python, Testing: http://tetamap.wordpress.com Python, PyPy, pytest contracting: http://merlinux.eu From holger at merlinux.eu Thu Oct 8 15:57:05 2009 From: holger at merlinux.eu (holger krekel) Date: Thu, 8 Oct 2009 15:57:05 +0200 Subject: [pypy-dev] Does PyPy supports Java ME? In-Reply-To: References: <20091008131710.GA29141@trillke.net> Message-ID: <20091008135705.GB29141@trillke.net> On Thu, Oct 08, 2009 at 15:30 +0200, Jan Wedel wrote: > > Do you have a pointer to documentation or a text that says so? > > Yes : > > http://codespeak.net/pypy/extradoc/eu-report/D11.1_PyPy_for_Embedded_Devices-2007-03-26.pdf > > > It should be possible with future versions of PyPy to use the > framework in other ways in the embedded context > > for instance by shipping a restricted version of the interpreter, > dedicated to the interpretation of a given > > set of programs. > > I think I read something more precise but I couldn't find it anymore. That use case study mainly worked with using RPython and says that its efficiency is not far from using C. I guess this could be extended to also apply for Java-ME so that an RPython program would run as fast as native Java. A restricted version of the existing Python interpreter is quite a lot of work and it's unclear how successful it could be. Python might be an easy-to-read and to-learn language but it's internals are quite complex, unfortunately. best, holger > -----Urspr?ngliche Nachricht----- > Von: holger krekel [mailto:holger at merlinux.eu] > Gesendet: Donnerstag, 8. Oktober 2009 15:17 > An: Jan Wedel > Cc: pypy-dev at codespeak.net > Betreff: Re: [pypy-dev] Does PyPy supports Java ME? > > Hi Jan, > > On Tue, Oct 06, 2009 at 15:15 +0200, Jan Wedel wrote: > > I was currently working on a port of PyMite (8-Bit MCU port of > CPython) > > to Java ME. I already got the interpreter working so that basic Python > > > scripts could run as code images on a mobile java IMP device. Actually > > > we need Python interpreters on different embedded platforms supporting > > > either C or Java ME (IMP). I discovered a lot of problems including > the > > missing class implementation of PyMite. > > > > Then, by recommendation, I found PyPy. It looks as if it is exactly > what > > I was looking for and I read that it is specifically designed to > support > > embedded platforms. > > Do you have a pointer to documentation or a text that says so? I > wouldn't > see PyPy this way. However, we do have a pypy-c version that works on > Maemo and is more efficient for larger amounts of user objects. We also > have ideas how to reduce RSS size after interpreter startup, > mostly tied to pypy-c so far, though. > > In principle it's also possible to translate RPython to C or JVM > and avoid interpretation alltogether. RPython is >50 times faster > than CPython but less convenient to work with than regular Python > so only makes sense to consider for special purposes. And is > probably best learned in collaboration with developers who know > how to work with it and are willing or paid to help. > > cheers, > holger > > -- > Metaprogramming, Python, Testing: http://tetamap.wordpress.com > Python, PyPy, pytest contracting: http://merlinux.eu > > > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > -- Metaprogramming, Python, Testing: http://tetamap.wordpress.com Python, PyPy, pytest contracting: http://merlinux.eu From iko at openend.se Thu Oct 8 19:24:43 2009 From: iko at openend.se (Anders Hammarquist) Date: Thu, 08 Oct 2009 19:24:43 +0200 Subject: [pypy-dev] Nightly Benchmarks In-Reply-To: Message from Miquel Torres of "Mon, 05 Oct 2009 23:04:16 +0200." References: <200910011031.n91AVvcc023352@fido.openend.se> <200910051420.n95EK1bj009044@theraft.openend.se> Message-ID: <200910081724.n98HOhOf029738@fido.openend.se> In a message of Mon, 05 Oct 2009 23:04:16 +0200, Miquel Torres writes: >There are a couple of things I want to discuss: > >- An extra table (class) may be needed to store the hardware the benchmark >was run on. pypy will probably need to be tested on other architectures. Keeping track of the architecture makes sense. Possibly it could go as a field on the interpreter instead. >- The interpreter table needs extra fields: > - revision: absolutely necessary My original thoughts for the revision would be to put it on the Run, but if you are going to add several different languages it probably makes more sense to put it on the interpreter. This would be the version number for released (non-PyPy) interpreters. > - tag: this is for 1.0, 1.1, beta, trunk, snapshot, or what ever. This >is needed to know what pypy revisions to list in the web page that allows >comparison to other python implementations (most importantly cpython). > - Furthermore: You state that compile options are not needed, that they >would be different interpreters. >I agree that we can have pypy-c, pypy-crl and pypy-c-jit (for example) as >different interpreters. But things can get messy if we add garbage >collectors and other options: >pypy-c-68150-gc=hybrid--opt=3--no-allworkingmodules I think we misunderstood eachother on this one. I would certainly add a field for it on the interpreter object, keeping it in the name could quickly get messy. I thought you were talking about adding compile options to the Run. /Anders From pg at cs.stanford.edu Fri Oct 9 08:16:45 2009 From: pg at cs.stanford.edu (Philip Guo) Date: Thu, 8 Oct 2009 23:16:45 -0700 Subject: [pypy-dev] Help with "Exception: unexpected prebuilt constant" Message-ID: <79e41e9f0910082316k24677142hed0bd91ecc97e587@mail.gmail.com> Sorry for another newbish question, but I'm having trouble getting PyPy translated into C code. I added some calls to open() throughout the interpreter codebase (to log some info to files), but it failed translation with the following error: [translation:ERROR] Exception: unexpected prebuilt constant: I then tried doing 'import os' and then using os.fdopen, but with the same error: [translation:ERROR] Exception: unexpected prebuilt constant: In general, what Python standard library calls can I make from my modified PyPy code and still have it translate properly? Specifically, how do I read/write files from within PyPy? Thanks! Philip -------------- next part -------------- An HTML attachment was scrubbed... URL: From anto.cuni at gmail.com Fri Oct 9 10:46:18 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Fri, 09 Oct 2009 10:46:18 +0200 Subject: [pypy-dev] Help with "Exception: unexpected prebuilt constant" In-Reply-To: <79e41e9f0910082316k24677142hed0bd91ecc97e587@mail.gmail.com> References: <79e41e9f0910082316k24677142hed0bd91ecc97e587@mail.gmail.com> Message-ID: <4ACEF85A.7090203@gmail.com> Hi Philip, Philip Guo wrote: > Sorry for another newbish question, but I'm having trouble getting PyPy > translated into C code. I added some calls to open() throughout the > interpreter codebase (to log some info to files), but it failed > translation with the following error: > > [translation:ERROR] Exception: unexpected prebuilt constant: > > > I then tried doing 'import os' and then using os.fdopen, but with the > same error: > > [translation:ERROR] Exception: unexpected prebuilt constant: > as you have noticed, neither os.open nor os.fdopen are supported by RPython. The only low-level supported way to deal with files is using os.open/os.read/os.write. However, you might want to have a look to rlib.streamio, that provides a higher level API to deal with files, offering features such as buffering, CR/LF conversions etc. In particular, you can use streamio.open_file_as_stream to get a file like object similar to the builtin python ones. > In general, what Python standard library calls can I make from my > modified PyPy code and still have it translate properly? Specifically, > how do I read/write files from within PyPy? see above :-) ciao, Anto From pg at cs.stanford.edu Fri Oct 9 18:15:09 2009 From: pg at cs.stanford.edu (Philip Guo) Date: Fri, 9 Oct 2009 09:15:09 -0700 Subject: [pypy-dev] Help with "Exception: unexpected prebuilt constant" In-Reply-To: <4ACEF85A.7090203@gmail.com> References: <79e41e9f0910082316k24677142hed0bd91ecc97e587@mail.gmail.com> <4ACEF85A.7090203@gmail.com> Message-ID: <79e41e9f0910090915u218bd968y7d69b87883b3506c@mail.gmail.com> Thanks for the informative reply, Antonio! My (probably dumb) follow-up question is: Is pickle (or cPickle) supported by RPython? The bottom line is that I need to serialize some data structures from my modified PyPy interpreter to disk so that data can persist across successive interpreter runs. Pickling is the most obvious way to do so, but it requires a Python built-in file object. If pickling doesn't work, what other way of persisting data on disk do you suggest? (e.g., printing it to a file as plaintext and then eval-ing it again? does eval() even work in RPython?) On Fri, Oct 9, 2009 at 1:46 AM, Antonio Cuni wrote: > Hi Philip, > > Philip Guo wrote: > >> Sorry for another newbish question, but I'm having trouble getting PyPy >> translated into C code. I added some calls to open() throughout the >> interpreter codebase (to log some info to files), but it failed translation >> with the following error: >> >> [translation:ERROR] Exception: unexpected prebuilt constant: > function open> >> >> I then tried doing 'import os' and then using os.fdopen, but with the same >> error: >> >> [translation:ERROR] Exception: unexpected prebuilt constant: > function fdopen> >> > > as you have noticed, neither os.open nor os.fdopen are supported by > RPython. > The only low-level supported way to deal with files is using > os.open/os.read/os.write. > > However, you might want to have a look to rlib.streamio, that provides a > higher level API to deal with files, offering features such as buffering, > CR/LF conversions etc. In particular, you can use > streamio.open_file_as_stream to get a file like object similar to the > builtin python ones. > > In general, what Python standard library calls can I make from my modified >> PyPy code and still have it translate properly? Specifically, how do I >> read/write files from within PyPy? >> > > see above :-) > > ciao, > Anto > -------------- next part -------------- An HTML attachment was scrubbed... URL: From anto.cuni at gmail.com Fri Oct 9 18:30:27 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Fri, 09 Oct 2009 18:30:27 +0200 Subject: [pypy-dev] Help with "Exception: unexpected prebuilt constant" In-Reply-To: <79e41e9f0910090915u218bd968y7d69b87883b3506c@mail.gmail.com> References: <79e41e9f0910082316k24677142hed0bd91ecc97e587@mail.gmail.com> <4ACEF85A.7090203@gmail.com> <79e41e9f0910090915u218bd968y7d69b87883b3506c@mail.gmail.com> Message-ID: <4ACF6523.70307@gmail.com> Philip Guo wrote: > Thanks for the informative reply, Antonio! My (probably dumb) follow-up > question is: Is pickle (or cPickle) supported by RPython? The bottom > line is that I need to serialize some data structures from my modified > PyPy interpreter to disk so that data can persist across successive > interpreter runs. Pickling is the most obvious way to do so, but it > requires a Python built-in file object. pickle and cpickle are not supported by RPython. If you need to serialize interp-level objects, I fear the only way is to manually write the code to write them to disk and read back. You might want to have a look at rlib.rmarshal, which can be used to serialize simple objects such as numbers, lists and tuples. On the other hand, remember that you have the whole PyPy python interpreter in your hands: depending on what you are trying to do, you could use it to interact with the fully working cPickle modules. But please notice that this solution works only if you want to serialize app-level objects (i.e. all the objects that are called as w_* inside the pypy sources). > If pickling doesn't work, what other way of persisting data on disk do > you suggest? (e.g., printing it to a file as plaintext and then > eval-ing it again? does eval() even work in RPython?) no, eval() doesn't work in RPython. ciao, Anto From glavoie at gmail.com Sat Oct 10 17:19:35 2009 From: glavoie at gmail.com (Gabriel Lavoie) Date: Sat, 10 Oct 2009 11:19:35 -0400 Subject: [pypy-dev] Mac osx patches In-Reply-To: <604B00F3-8D39-4405-A23B-6C48C3B8533D@gmail.com> References: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> <604B00F3-8D39-4405-A23B-6C48C3B8533D@gmail.com> Message-ID: Hello everyone, here's a patch so pypy-c can be built under Snow Leopard (64 bits Python/GCC). I'm not 100% sure on how to make type casts but it builds. I'm sure someone can validate. :) Cheers, Gabriel 2009/10/6 Leonardo Santagada : > Thanks pedronis for applying one of the patches, but without the > trackgcroot one I can't get no trackgcroot test to pass, and without > the -dynamiclib change I get one failure on test_rffi_platform.py, but > with it the generated pypy .s files can't be read by trackgcroot. > > Anyone knows how to fix the current failure on test_rffi_platform on > osx without changing the -bundle to -dynamiclib? > > And the other failure about offset_labels, maybe it is possible to > offset them but not by so much as 2**30 but maybe 2**24 or something? > > > On Sep 30, 2009, at 2:06 PM, Leonardo Santagada wrote: > >> To make compilation and asmgcroot happy on osx I made some changes, >> I would like to know if someone has anything against applying this >> stuff to trunk? >> >> Index: pypy/translator/c/gcc/trackgcroot.py >> =================================================================== >> --- pypy/translator/c/gcc/trackgcroot.py ? ? ? ?(revision 68036) >> +++ pypy/translator/c/gcc/trackgcroot.py ? ? ? ?(working copy) >> @@ -22,7 +22,11 @@ >> r_sectionstart ? ? ? ? = re.compile(r"\t\.("+'|'.join(OTHERSECTIONS) >> +").*$") >> r_functionstart_darwin = re.compile(r"_(\w+):\s*$") >> >> -OFFSET_LABELS ? = 2**30 >> +# darwin's ld complain about this hack >> +if sys.platform == 'darwin': >> + ? ?OFFSET_LABELS = 0 >> +else: >> + ? ?OFFSET_LABELS = 2**30 >> >> # inside functions >> LABEL ? ? ? ? ? = r'([.]?[\w$@]+)' >> Index: pypy/translator/platform/test/test_darwin.py >> =================================================================== >> --- pypy/translator/platform/test/test_darwin.py ? ? ? ?(revision >> 68036) >> +++ pypy/translator/platform/test/test_darwin.py ? ? ? ?(working copy) >> @@ -2,8 +2,8 @@ >> """ File containing darwin platform tests >> """ >> >> -import py, os >> -if os.name != 'darwin': >> +import py, sys >> +if sys.platform != 'darwin': >> ? ? py.test.skip("Darwin only") >> >> from pypy.tool.udir import udir >> Index: pypy/translator/platform/darwin.py >> =================================================================== >> --- pypy/translator/platform/darwin.py ?(revision 68036) >> +++ pypy/translator/platform/darwin.py ?(working copy) >> @@ -18,7 +18,7 @@ >> ? ? ? ? self.cc = cc >> >> ? ? def _args_for_shared(self, args): >> - ? ? ? ?return (self.shared_only + ['-bundle', '-undefined', >> 'dynamic_lookup'] >> + ? ? ? ?return (self.shared_only + ['-dynamiclib', '-undefined', >> 'dynamic_lookup'] >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+ args) >> >> ? ? def include_dirs_for_libffi(self): >> >> >> -- >> Leonardo Santagada >> santagada at gmail.com >> >> >> > > -- > Leonardo Santagada > santagada at gmail.com > > > > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > -- Gabriel Lavoie glavoie at gmail.com -------------- next part -------------- A non-text attachment was scrubbed... Name: pypy-snow-leopard-translate.patch Type: application/octet-stream Size: 3719 bytes Desc: not available URL: From santagada at gmail.com Sat Oct 10 17:55:23 2009 From: santagada at gmail.com (Leonardo Santagada) Date: Sat, 10 Oct 2009 12:55:23 -0300 Subject: [pypy-dev] Mac osx patches In-Reply-To: References: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> <604B00F3-8D39-4405-A23B-6C48C3B8533D@gmail.com> Message-ID: <57C9F1EF-1759-443E-9AB8-1803A0CDB129@gmail.com> Someone that knows more about pypy will have to apply this patch as I have no idea what kind of problem this could make to other people. What I have done is made pypy use 32bit on osx by default, I guess I can do the same as the other platforms and decide between forcing gcc to compile 32bit code based on the info from the platform module. On a side note did you made asmgcc work? I don't even think it supported 64bit at all. On Oct 10, 2009, at 12:19 PM, Gabriel Lavoie wrote: > Hello everyone, > here's a patch so pypy-c can be built under Snow Leopard (64 bits > Python/GCC). I'm not 100% sure on how to make type casts but it > builds. I'm sure someone can validate. :) > > Cheers, > > Gabriel > > 2009/10/6 Leonardo Santagada : >> Thanks pedronis for applying one of the patches, but without the >> trackgcroot one I can't get no trackgcroot test to pass, and without >> the -dynamiclib change I get one failure on test_rffi_platform.py, >> but >> with it the generated pypy .s files can't be read by trackgcroot. >> >> Anyone knows how to fix the current failure on test_rffi_platform on >> osx without changing the -bundle to -dynamiclib? >> >> And the other failure about offset_labels, maybe it is possible to >> offset them but not by so much as 2**30 but maybe 2**24 or something? >> >> >> On Sep 30, 2009, at 2:06 PM, Leonardo Santagada wrote: >> >>> To make compilation and asmgcroot happy on osx I made some changes, >>> I would like to know if someone has anything against applying this >>> stuff to trunk? >>> >>> Index: pypy/translator/c/gcc/trackgcroot.py >>> =================================================================== >>> --- pypy/translator/c/gcc/trackgcroot.py (revision 68036) >>> +++ pypy/translator/c/gcc/trackgcroot.py (working copy) >>> @@ -22,7 +22,11 @@ >>> r_sectionstart = re.compile(r"\t\.("+'|'.join(OTHERSECTIONS) >>> +").*$") >>> r_functionstart_darwin = re.compile(r"_(\w+):\s*$") >>> >>> -OFFSET_LABELS = 2**30 >>> +# darwin's ld complain about this hack >>> +if sys.platform == 'darwin': >>> + OFFSET_LABELS = 0 >>> +else: >>> + OFFSET_LABELS = 2**30 >>> >>> # inside functions >>> LABEL = r'([.]?[\w$@]+)' >>> Index: pypy/translator/platform/test/test_darwin.py >>> =================================================================== >>> --- pypy/translator/platform/test/test_darwin.py (revision >>> 68036) >>> +++ pypy/translator/platform/test/test_darwin.py (working >>> copy) >>> @@ -2,8 +2,8 @@ >>> """ File containing darwin platform tests >>> """ >>> >>> -import py, os >>> -if os.name != 'darwin': >>> +import py, sys >>> +if sys.platform != 'darwin': >>> py.test.skip("Darwin only") >>> >>> from pypy.tool.udir import udir >>> Index: pypy/translator/platform/darwin.py >>> =================================================================== >>> --- pypy/translator/platform/darwin.py (revision 68036) >>> +++ pypy/translator/platform/darwin.py (working copy) >>> @@ -18,7 +18,7 @@ >>> self.cc = cc >>> >>> def _args_for_shared(self, args): >>> - return (self.shared_only + ['-bundle', '-undefined', >>> 'dynamic_lookup'] >>> + return (self.shared_only + ['-dynamiclib', '-undefined', >>> 'dynamic_lookup'] >>> + args) >>> >>> def include_dirs_for_libffi(self): >>> >>> >>> -- >>> Leonardo Santagada >>> santagada at gmail.com >>> >>> >>> >> >> -- >> Leonardo Santagada >> santagada at gmail.com >> >> >> >> _______________________________________________ >> pypy-dev at codespeak.net >> http://codespeak.net/mailman/listinfo/pypy-dev >> > > > > -- > Gabriel Lavoie > glavoie at gmail.com > -- Leonardo Santagada santagada at gmail.com From victor.stinner at haypocalc.com Sun Oct 11 01:12:17 2009 From: victor.stinner at haypocalc.com (Victor Stinner) Date: Sun, 11 Oct 2009 01:12:17 +0200 Subject: [pypy-dev] Fuzzing with Fusil and JIT crash Message-ID: <200910110112.17992.victor.stinner@haypocalc.com> Hi, Because of the last posts on your blog (a JIT better than just a PoC), I choosed to give a new try to PyPy. I'm trying PyPy with Fusil the fuzzer because it's my project, so I can easily fix bugs in Fusil, and also because it's a great tool to find bugs in PyPy :-) I already found some bugs/crashs (see PyPy's bugtracker), but it's not bad (there are few bugs if you compare it to other projects). Since PyPy is open source, I can write patches to fix the issues ;-) Slowly, I know PyPy enough to fix RPython bugs (I mean to fix modules written in RPython). But now my problem are the JIT crashes. I'm unable to locate the crash. There is not enough informations: BROKEN PROFILER DATA! ~~~ Crash in JIT! ~~~ BROKEN PROFILER DATA! Fatal RPython error: CrashInJIT Ok, nice, a crash. But where? What is the assertion? Sometimes, it fails with a TypeError (same output except the exception type). gdb doesn't help: (gdb) where #0 0xb7fe1424 in __kernel_vsyscall () #1 0xb7c1d3d0 in raise () from /lib/i686/cmov/libc.so.6 #2 0xb7c20a85 in abort () from /lib/i686/cmov/libc.so.6 #3 0x0804ce1e in main () "main()", that's all. No file name or line number :-/ On IRC, we asked me to recompiled PyPy using the hidden "make debug_exc" command. But it doesn't change anything. I'm not sure that the make did really enable the hidden debug features. How can I check it? Does it output something special? Always or only on a crash. On a crash, the output is the same using pypy-c-jit ("make") or pypy-c-jit-debug ("make debug_exc"). I will retry to recompile PyPy from scratch using directly the right commmand ("make debug_exc"). Note: Don't try to compile PyPy C backend using -O0 or -O1. Only "-O3" and "- O2 -fomit-frame-pointer" are supported. Note2: "make clean" doesn't remove testing_1.s. Someone told me that it should be fixed now. Oh, another problem: on make failure, all .s files are removed. It's not possible to debug the error. I added ".PRECIOUS: %.s" in the Makefile. Can it be done by default? --- If you would like to try Fusil, it's available in Debian, Ubuntu, Mandriva, OpenEmbedded, Arch Linux, MacPort, Gentoo, ... For better performances and fewer false positives, clone the Mercurial repository. Fusil website: http://bitbucket.org/haypo/fusil/wiki/Home To reproduce the JIT crash, it takes 20 to 60 seconds using the following command: export PYTHONPATH=~/prog/HG/fusil/:~/prog/HG/python-ptrace/ ./pypy-c-jit-debug --jit threshold=10 \ ~/prog/HG/fusil/fuzzers/fusil-python \ --success=100 --blacklist=logging,compileall,this,socket (socket is blacklisted because of the issue #465, a crash in _ssl) You don't need to install Fusil if you change the PYTHONPATH. -- Victor Stinner http://www.haypocalc.com/ From fijall at gmail.com Thu Oct 15 11:53:12 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Thu, 15 Oct 2009 03:53:12 -0600 Subject: [pypy-dev] Mac osx patches In-Reply-To: <57C9F1EF-1759-443E-9AB8-1803A0CDB129@gmail.com> References: <2BB35F3B-39BC-40F4-90ED-1974894B1B8A@gmail.com> <604B00F3-8D39-4405-A23B-6C48C3B8533D@gmail.com> <57C9F1EF-1759-443E-9AB8-1803A0CDB129@gmail.com> Message-ID: <693bc9ab0910150253ma7565dcj29b540661fa2aa15@mail.gmail.com> In general, I should reject this patch on a basis that it contains tabs, however, this time I removed tabs myself. For future, please don't send patches with tabs in it :-) Commited, Cheers, fijal On Sat, Oct 10, 2009 at 9:55 AM, Leonardo Santagada wrote: > Someone that knows more about pypy will have to apply this patch as I > have no idea what kind of problem this could make to other people. > > What I have done is made pypy use 32bit on osx by default, I guess I > can do the same as the other platforms and decide between forcing gcc > to compile 32bit code based on the info from the platform module. > > On a side note did you made asmgcc work? I don't even think it > supported 64bit at all. > > On Oct 10, 2009, at 12:19 PM, Gabriel Lavoie wrote: > >> Hello everyone, >> ? ? here's a patch so pypy-c can be built under Snow Leopard (64 bits >> Python/GCC). I'm not 100% sure on how to make type casts but it >> builds. I'm sure someone can validate. :) >> >> Cheers, >> >> Gabriel >> >> 2009/10/6 Leonardo Santagada : >>> Thanks pedronis for applying one of the patches, but without the >>> trackgcroot one I can't get no trackgcroot test to pass, and without >>> the -dynamiclib change I get one failure on test_rffi_platform.py, >>> but >>> with it the generated pypy .s files can't be read by trackgcroot. >>> >>> Anyone knows how to fix the current failure on test_rffi_platform on >>> osx without changing the -bundle to -dynamiclib? >>> >>> And the other failure about offset_labels, maybe it is possible to >>> offset them but not by so much as 2**30 but maybe 2**24 or something? >>> >>> >>> On Sep 30, 2009, at 2:06 PM, Leonardo Santagada wrote: >>> >>>> To make compilation and asmgcroot happy on osx I made some changes, >>>> I would like to know if someone has anything against applying this >>>> stuff to trunk? >>>> >>>> Index: pypy/translator/c/gcc/trackgcroot.py >>>> =================================================================== >>>> --- pypy/translator/c/gcc/trackgcroot.py ? ? ? ?(revision 68036) >>>> +++ pypy/translator/c/gcc/trackgcroot.py ? ? ? ?(working copy) >>>> @@ -22,7 +22,11 @@ >>>> r_sectionstart ? ? ? ? = re.compile(r"\t\.("+'|'.join(OTHERSECTIONS) >>>> +").*$") >>>> r_functionstart_darwin = re.compile(r"_(\w+):\s*$") >>>> >>>> -OFFSET_LABELS ? = 2**30 >>>> +# darwin's ld complain about this hack >>>> +if sys.platform == 'darwin': >>>> + ? ?OFFSET_LABELS = 0 >>>> +else: >>>> + ? ?OFFSET_LABELS = 2**30 >>>> >>>> # inside functions >>>> LABEL ? ? ? ? ? = r'([.]?[\w$@]+)' >>>> Index: pypy/translator/platform/test/test_darwin.py >>>> =================================================================== >>>> --- pypy/translator/platform/test/test_darwin.py ? ? ? ?(revision >>>> 68036) >>>> +++ pypy/translator/platform/test/test_darwin.py ? ? ? ?(working >>>> copy) >>>> @@ -2,8 +2,8 @@ >>>> """ File containing darwin platform tests >>>> """ >>>> >>>> -import py, os >>>> -if os.name != 'darwin': >>>> +import py, sys >>>> +if sys.platform != 'darwin': >>>> ? ? py.test.skip("Darwin only") >>>> >>>> from pypy.tool.udir import udir >>>> Index: pypy/translator/platform/darwin.py >>>> =================================================================== >>>> --- pypy/translator/platform/darwin.py ?(revision 68036) >>>> +++ pypy/translator/platform/darwin.py ?(working copy) >>>> @@ -18,7 +18,7 @@ >>>> ? ? ? ? self.cc = cc >>>> >>>> ? ? def _args_for_shared(self, args): >>>> - ? ? ? ?return (self.shared_only + ['-bundle', '-undefined', >>>> 'dynamic_lookup'] >>>> + ? ? ? ?return (self.shared_only + ['-dynamiclib', '-undefined', >>>> 'dynamic_lookup'] >>>> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+ args) >>>> >>>> ? ? def include_dirs_for_libffi(self): >>>> >>>> >>>> -- >>>> Leonardo Santagada >>>> santagada at gmail.com >>>> >>>> >>>> >>> >>> -- >>> Leonardo Santagada >>> santagada at gmail.com >>> >>> >>> >>> _______________________________________________ >>> pypy-dev at codespeak.net >>> http://codespeak.net/mailman/listinfo/pypy-dev >>> >> >> >> >> -- >> Gabriel Lavoie >> glavoie at gmail.com >> > > -- > Leonardo Santagada > santagada at gmail.com > > > > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > From fijall at gmail.com Sat Oct 17 21:36:30 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Sat, 17 Oct 2009 13:36:30 -0600 Subject: [pypy-dev] [pypy-svn] r68612 - pypy/trunk/pypy/rpython/lltypesystem In-Reply-To: <20091017193027.47B11168015@codespeak.net> References: <20091017193027.47B11168015@codespeak.net> Message-ID: <693bc9ab0910171236j12c818a1i6c011a13e6517bc0@mail.gmail.com> > On Linux, to clear large regions of memory, the best way seems > to be madvise(MADV_DONTNEED). ?Indeed, the previous trick of > reading /dev/zero does not seem to have the correct effect of > lazily-allocating pages on all Linux systems (e.g. bigdog-vm1). > Note that this usage of madvise() is purely Linux-specific. > Note that bigdogvm1 is a vm, it might behave differently... From khalidsmshahin at gmail.com Sun Oct 18 20:32:07 2009 From: khalidsmshahin at gmail.com (Khalid Shahin) Date: Sun, 18 Oct 2009 14:32:07 -0400 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: References: Message-ID: I'm asking someone on the inside and I hope I got the right email address since this is the only one I could find. The current PyPy logo seems kind of plain. And Ouroboros is a symbol of snake biting its tail and represents a cycle, a re-creation of itself, or a self-reference. Which would fit nicely in the PyPy logo. http://en.wikipedia.org/wiki/Ouroboros If you like the idea I can create concept art for it. -------------- next part -------------- An HTML attachment was scrubbed... URL: From lac at openend.se Mon Oct 19 08:32:02 2009 From: lac at openend.se (Laura Creighton) Date: Mon, 19 Oct 2009 08:32:02 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: Message from Khalid Shahin of "Sun, 18 Oct 2009 14:32:07 EDT." References: Message-ID: <200910190632.n9J6W2vr018453@theraft.openend.se> In a message of Sun, 18 Oct 2009 14:32:07 EDT, Khalid Shahin writes: >I'm asking someone on the inside and I hope I got the right email address >since this is the only one I could find. > >The current PyPy logo seems kind of plain. And Ouroboros is a symbol of >snake biting its tail and represents a cycle, a re-creation of itself, or > a self-reference. Which would fit nicely in the PyPy logo. > >http://en.wikipedia.org/wiki/Ouroboros > >If you like the idea I can create concept art for it. > Art is always nice, and of course the snake biting its own tail is appropriate. When python.org was looking for a new logo, Tim Parkin produced one I liked very much which was of a snake eating its own tail surrounding a globe. He has said that we were free to use it for PyPy at any time. I've thought about it many times. It certainly would be prettier than what we have now. The problem is that pypy-dev seems to be split between people who don't care all that much about art, and those who care so very, very, very much that they think that every artistic decision is worth an enormous amount of effort and consideration. I am in the last group. For the sake of ever having enough time to actually create things, I have to severely limit my involvement in the critcism of other people's art, which is something I can easily spend my whole life at. And there are so many other things that need doing ... So, speaking just for me, I would be happy to see new art, but I think that the 'design of the perfect PyPy logo' has the potential to be an infinite time sink for me, and I am scared of that prospect. On the other hand, I think that sending you off with the rule 'please make new art, but be prepared to be ignored' is particularly uncivil. I fear that this is all we can promise now. But this is only me, speaking for me here... take care, Laura Creighton From anto.cuni at gmail.com Mon Oct 19 09:32:42 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Mon, 19 Oct 2009 09:32:42 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: References: Message-ID: <4ADC161A.8050106@gmail.com> Khalid Shahin wrote: > The current PyPy logo seems kind of plain. And Ouroboros is a symbol of > snake biting its tail and represents a cycle, a re-creation of itself, > or a self-reference. Which would fit nicely in the PyPy logo. > > http://en.wikipedia.org/wiki/Ouroboros > > If you like the idea I can create concept art for it. Personally, I don't like the current pypy logo too much, so proposals for a new one are welcome from my side :-). ciao, Anto From cfbolz at gmx.de Mon Oct 19 10:21:19 2009 From: cfbolz at gmx.de (Carl Friedrich) Date: Mon, 19 Oct 2009 10:21:19 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: References: Message-ID: <4ADC217F.2040600@gmx.de> Khalid Shahin wrote: > I'm asking someone on the inside and I hope I got the right email > address since this is the only one I could find. That's totally the right address, welcome! > The current PyPy logo seems kind of plain. And Ouroboros is a symbol of > snake biting its tail and represents a cycle, a re-creation of itself, > or a self-reference. Which would fit nicely in the PyPy logo. > > http://en.wikipedia.org/wiki/Ouroboros > I always understood "P" of the current PyPy logo to be or to at least hint at an Ouroboros. Maybe that's only me though. > If you like the idea I can create concept art for it. Concept art sounds good. Cheers, Carl Friedrich From holger at merlinux.eu Mon Oct 19 10:41:23 2009 From: holger at merlinux.eu (holger krekel) Date: Mon, 19 Oct 2009 10:41:23 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: References: Message-ID: <20091019084123.GJ29141@trillke.net> Hi Khalid, On Sun, Oct 18, 2009 at 14:32 -0400, Khalid Shahin wrote: > I'm asking someone on the inside and I hope I got the right email address > since this is the only one I could find. > > The current PyPy logo seems kind of plain. And Ouroboros is a symbol of > snake biting its tail and represents a cycle, a re-creation of itself, or a > self-reference. Which would fit nicely in the PyPy logo. it was created ages ago from Gero Schulze, a friend of mine. > http://en.wikipedia.org/wiki/Ouroboros actually the idea of the current logo was to raise this association. > If you like the idea I can create concept art for it. nice. If you can i'd probably like it if can use some elements of the current one and not do a totally new one. best & have fun, holger From victor.stinner at haypocalc.com Mon Oct 19 13:08:26 2009 From: victor.stinner at haypocalc.com (Victor Stinner) Date: Mon, 19 Oct 2009 13:08:26 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: References: Message-ID: <200910191308.26255.victor.stinner@haypocalc.com> Hi, Le dimanche 18 octobre 2009 20:32:07, Khalid Shahin a ?crit : > The current PyPy logo seems kind of plain. And Ouroboros is a symbol of > snake biting its tail and represents a cycle, a re-creation of itself, or a > self-reference. Which would fit nicely in the PyPy logo. I read somewhere that PyPy is no more a project dedicated to Python, but it's a little bit more generic. If the project is splitted in two parts (generic compiler + python interpreter), Ouroboros would be the logo of the python interpreter, right? I like Ourouboros. "snake biting its tail" was the title of my first news on linuxfr (a french open source news website) :-) PyPy, le serpent qui se mord la queue, sort en version 0.99 http://linuxfr.org/2007/02/22/22108.html February 2007 -- Victor Stinner http://www.haypocalc.com/ From santagada at gmail.com Mon Oct 19 14:38:37 2009 From: santagada at gmail.com (Leonardo Santagada) Date: Mon, 19 Oct 2009 10:38:37 -0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <200910191308.26255.victor.stinner@haypocalc.com> References: <200910191308.26255.victor.stinner@haypocalc.com> Message-ID: <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> On Oct 19, 2009, at 9:08 AM, Victor Stinner wrote: > Hi, > > Le dimanche 18 octobre 2009 20:32:07, Khalid Shahin a ?crit : >> The current PyPy logo seems kind of plain. And Ouroboros is a >> symbol of >> snake biting its tail and represents a cycle, a re-creation of >> itself, or a >> self-reference. Which would fit nicely in the PyPy logo. > > I read somewhere that PyPy is no more a project dedicated to Python, > but it's > a little bit more generic. If the project is splitted in two parts > (generic > compiler + python interpreter), Ouroboros would be the logo of the > python > interpreter, right? Separating the pypy translator/compiler from the pypy python interpreter (preferably with different names) is something I would love to see happen. The first thing you have to say to someone when explaining pypy is "pypy is two completely different (but related) things..." so different logos and names would help a lot. But who should get the Ouroboros logo I don't know. > I like Ourouboros. "snake biting its tail" was the title of my first > news on > linuxfr (a french open source news website) :-) > > PyPy, le serpent qui se mord la queue, sort en version 0.99 > http://linuxfr.org/2007/02/22/22108.html > February 2007 -- Leonardo Santagada santagada at gmail.com From cfbolz at gmx.de Mon Oct 19 15:05:15 2009 From: cfbolz at gmx.de (Carl Friedrich) Date: Mon, 19 Oct 2009 15:05:15 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> Message-ID: <4ADC640B.2040705@gmx.de> Leonardo Santagada wrote: > On Oct 19, 2009, at 9:08 AM, Victor Stinner wrote: >> Le dimanche 18 octobre 2009 20:32:07, Khalid Shahin a ?crit : >>> The current PyPy logo seems kind of plain. And Ouroboros is a >>> symbol of >>> snake biting its tail and represents a cycle, a re-creation of >>> itself, or a >>> self-reference. Which would fit nicely in the PyPy logo. >> I read somewhere that PyPy is no more a project dedicated to Python, >> but it's >> a little bit more generic. If the project is splitted in two parts >> (generic >> compiler + python interpreter), Ouroboros would be the logo of the >> python >> interpreter, right? > > Separating the pypy translator/compiler from the pypy python > interpreter (preferably with different names) is something I would > love to see happen. The first thing you have to say to someone when > explaining pypy is "pypy is two completely different (but related) > things..." so different logos and names would help a lot. While I agree, to do this we would have to come up with a name for the translation toolchain part. And coming up with names is even harder than coming up with logos. > But who should get the Ouroboros logo I don't know. The Python interpreter part of course. Cheers, Carl Friedrich From anto.cuni at gmail.com Mon Oct 19 15:09:41 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Mon, 19 Oct 2009 15:09:41 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC640B.2040705@gmx.de> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> Message-ID: <4ADC6515.2020100@gmail.com> Carl Friedrich wrote: > While I agree, to do this we would have to come up with a name for the > translation toolchain part. And coming up with names is even harder than > coming up with logos. it's also unclear how to split the sources: e.g., pypy/interpreter/ belongs to both. From cfbolz at gmx.de Mon Oct 19 15:10:46 2009 From: cfbolz at gmx.de (Carl Friedrich) Date: Mon, 19 Oct 2009 15:10:46 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC6515.2020100@gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <4ADC6515.2020100@gmail.com> Message-ID: <4ADC6556.2040603@gmx.de> Antonio Cuni wrote: > Carl Friedrich wrote: > >> While I agree, to do this we would have to come up with a name for the >> translation toolchain part. And coming up with names is even harder >> than coming up with logos. > > it's also unclear how to split the sources: e.g., pypy/interpreter/ > belongs to both. Yes, but I think something can be worked out there. Technical problems have a solution, but discussing the name can take arbitrarily long. Cheers, Carl Friedrich From holger at merlinux.eu Mon Oct 19 15:21:33 2009 From: holger at merlinux.eu (holger krekel) Date: Mon, 19 Oct 2009 15:21:33 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC640B.2040705@gmx.de> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> Message-ID: <20091019132133.GQ29141@trillke.net> On Mon, Oct 19, 2009 at 15:05 +0200, Carl Friedrich wrote: > Leonardo Santagada wrote: > > On Oct 19, 2009, at 9:08 AM, Victor Stinner wrote: > >> Le dimanche 18 octobre 2009 20:32:07, Khalid Shahin a ?crit : > >>> The current PyPy logo seems kind of plain. And Ouroboros is a > >>> symbol of > >>> snake biting its tail and represents a cycle, a re-creation of > >>> itself, or a > >>> self-reference. Which would fit nicely in the PyPy logo. > >> I read somewhere that PyPy is no more a project dedicated to Python, > >> but it's > >> a little bit more generic. If the project is splitted in two parts > >> (generic > >> compiler + python interpreter), Ouroboros would be the logo of the > >> python > >> interpreter, right? > > > > Separating the pypy translator/compiler from the pypy python > > interpreter (preferably with different names) is something I would > > love to see happen. The first thing you have to say to someone when > > explaining pypy is "pypy is two completely different (but related) > > things..." so different logos and names would help a lot. > > While I agree, to do this we would have to come up with a name for the > translation toolchain part. And coming up with names is even harder than > coming up with logos. but it shouldn't fail just because we are afraid of a naming discussion. I suggest a termination criterium for the discussion like the next sprint meetup in Duesseldorf (6th till 13th October) and have attendants agree / vote with or without prior beers. > > But who should get the Ouroboros logo I don't know. > > The Python interpreter part of course. yip. so we need a name for our super-powered ultra-flexible translator. cheers, holger From holger at merlinux.eu Mon Oct 19 15:26:07 2009 From: holger at merlinux.eu (holger krekel) Date: Mon, 19 Oct 2009 15:26:07 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC6515.2020100@gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <4ADC6515.2020100@gmail.com> Message-ID: <20091019132607.GR29141@trillke.net> On Mon, Oct 19, 2009 at 15:09 +0200, Antonio Cuni wrote: > Carl Friedrich wrote: > > > While I agree, to do this we would have to come up with a name for the > > translation toolchain part. And coming up with names is even harder than > > coming up with logos. > > it's also unclear how to split the sources: e.g., pypy/interpreter/ belongs to > both. > the interpreter is needed for abstract interpretation, true - but does it maybe make sense to eventually decouple these rpython analysis capabilities from how/which Python version/bytecodes are implemented for our Python interpreter offering? best, holger From anto.cuni at gmail.com Mon Oct 19 15:33:13 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Mon, 19 Oct 2009 15:33:13 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091019132607.GR29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <4ADC6515.2020100@gmail.com> <20091019132607.GR29141@trillke.net> Message-ID: <4ADC6A99.7060503@gmail.com> holger krekel wrote: > the interpreter is needed for abstract interpretation, true - > but does it maybe make sense to eventually decouple these rpython > analysis capabilities from how/which Python version/bytecodes > are implemented for our Python interpreter offering? it's probably possible, but I don't think it's easy unless you want to duplicate a lot of code From anto.cuni at gmail.com Mon Oct 19 15:34:09 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Mon, 19 Oct 2009 15:34:09 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091019132133.GQ29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> Message-ID: <4ADC6AD1.5030101@gmail.com> holger krekel wrote: > yip. so we need a name for our super-powered ultra-flexible translator. dynajite: - it's for dynamic languages - it provides you a jit - it makes your head explode :-) From holger at merlinux.eu Mon Oct 19 15:34:20 2009 From: holger at merlinux.eu (holger krekel) Date: Mon, 19 Oct 2009 15:34:20 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <200910191308.26255.victor.stinner@haypocalc.com> References: <200910191308.26255.victor.stinner@haypocalc.com> Message-ID: <20091019133420.GS29141@trillke.net> On Mon, Oct 19, 2009 at 13:08 +0200, Victor Stinner wrote: > Le dimanche 18 octobre 2009 20:32:07, Khalid Shahin a ?crit : > > The current PyPy logo seems kind of plain. And Ouroboros is a symbol of > > snake biting its tail and represents a cycle, a re-creation of itself, or a > > self-reference. Which would fit nicely in the PyPy logo. > > I read somewhere that PyPy is no more a project dedicated to Python, but it's > a little bit more generic. If the project is splitted in two parts (generic > compiler + python interpreter), Ouroboros would be the logo of the python > interpreter, right? it's even more than two parts: - PyPy the Python Interpreter - XXX the rpython-to-whatever translator and jit-generator - pyrolog, spy, gameboy and other VMs using the translator the VMs could live in one bunch or separate as they wish, i'd think. best, holger From holger at merlinux.eu Mon Oct 19 15:36:39 2009 From: holger at merlinux.eu (holger krekel) Date: Mon, 19 Oct 2009 15:36:39 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC6AD1.5030101@gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> Message-ID: <20091019133639.GT29141@trillke.net> On Mon, Oct 19, 2009 at 15:34 +0200, Antonio Cuni wrote: > holger krekel wrote: > > > yip. so we need a name for our super-powered ultra-flexible translator. > > dynajite: > > - it's for dynamic languages > - it provides you a jit > - it makes your head explode :-) nice one :) holger From santagada at gmail.com Mon Oct 19 16:40:47 2009 From: santagada at gmail.com (Leonardo Santagada) Date: Mon, 19 Oct 2009 12:40:47 -0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC6AD1.5030101@gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> Message-ID: On Oct 19, 2009, at 11:34 AM, Antonio Cuni wrote: > holger krekel wrote: > >> yip. so we need a name for our super-powered ultra-flexible >> translator. > > dynajite: > > - it's for dynamic languages > - it provides you a jit > - it makes your head explode :-) nice :) The logo could be dynamite inspired too :) Although I think that the interpreter being named PyPy still makes reference for a python interpreter running on top of python, so maybe the interpreter could have another name and PyPy could be the name of the umbrella project for dynajite + all interpreters. But it is just an idea, feel free to not listen to me. Being able to say that pypy is a python interpreter that is translated by dinajite is a big step forward in making things clear. Another point is that I don't really think there is any need to separate the sources as antonio sugested, separating things conceptually is enough. -- Leonardo Santagada santagada at gmail.com From cfbolz at gmx.de Mon Oct 19 17:24:34 2009 From: cfbolz at gmx.de (Carl Friedrich) Date: Mon, 19 Oct 2009 17:24:34 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC6AD1.5030101@gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> Message-ID: <4ADC84B2.7070609@gmx.de> Antonio Cuni wrote: > holger krekel wrote: > >> yip. so we need a name for our super-powered ultra-flexible translator. > > dynajite: > > - it's for dynamic languages > - it provides you a jit > - it makes your head explode :-) Funny, but not really a name I would seriously consider. Sounds too much like shite... Cheers, Carl Friedrich From victor.stinner at haypocalc.com Mon Oct 19 19:09:57 2009 From: victor.stinner at haypocalc.com (Victor Stinner) Date: Mon, 19 Oct 2009 19:09:57 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> Message-ID: <200910191909.57984.victor.stinner@haypocalc.com> Ok, I found where a read a proposition of splitting PyPy in two parts: http://www.logilab.org/blogentry/9853 This blog entry proposes the name gcgc (or "GcGc"): "the Generic Compiler for Generating Compilers" The name is similar to YACC (Yet Another Compiler Compiler). Le lundi 19 octobre 2009 14:38:37, vous avez ?crit : > But who should get the Ouroboros logo I don't know. Most Python projects starts with "py", so PyPy should be the name of the Python interpreter. Ouroboros is a snake so it should be the logo of PyPy (the Python part). -- Victor Stinner http://www.haypocalc.com/ From holger at merlinux.eu Mon Oct 19 19:12:26 2009 From: holger at merlinux.eu (holger krekel) Date: Mon, 19 Oct 2009 19:12:26 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC84B2.7070609@gmx.de> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> Message-ID: <20091019171225.GX29141@trillke.net> On Mon, Oct 19, 2009 at 17:24 +0200, Carl Friedrich wrote: > Antonio Cuni wrote: > > holger krekel wrote: > > > >> yip. so we need a name for our super-powered ultra-flexible translator. > > > > dynajite: > > > > - it's for dynamic languages > > - it provides you a jit > > - it makes your head explode :-) > > Funny, but not really a name I would seriously consider. Sounds too much > like shite... maybe, anyone any other ideas? holger From lac at openend.se Mon Oct 19 19:17:59 2009 From: lac at openend.se (Laura Creighton) Date: Mon, 19 Oct 2009 19:17:59 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: Message from Victor Stinner of "Mon, 19 Oct 2009 19:09:57 +0200." <200910191909.57984.victor.stinner@haypocalc.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <200910191909.57984.victor.stinner@haypocalc.com> Message-ID: <200910191717.n9JHHxJH032037@theraft.openend.se> In a message of Mon, 19 Oct 2009 19:09:57 +0200, Victor Stinner writes: >Ok, I found where a read a proposition of splitting PyPy in two parts: > > http://www.logilab.org/blogentry/9853 > >This blog entry proposes the name gcgc (or "GcGc"): > > "the Generic Compiler for Generating Compilers" > >The name is similar to YACC (Yet Another Compiler Compiler). GC says 'garbage collector' to me ... Laura From olivier.dormond at gmail.com Mon Oct 19 19:18:26 2009 From: olivier.dormond at gmail.com (Olivier Dormond) Date: Mon, 19 Oct 2009 19:18:26 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091019171225.GX29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> Message-ID: Hi all, On Mon, Oct 19, 2009 at 7:12 PM, holger krekel wrote: > On Mon, Oct 19, 2009 at 17:24 +0200, Carl Friedrich wrote: >> Antonio Cuni wrote: >> > holger krekel wrote: >> > >> >> yip. ?so we need a name for our super-powered ultra-flexible translator. >> > >> > dynajite: >> > >> > ? - it's for dynamic languages >> > ? - it provides you a jit >> > ? - it makes your head explode :-) >> >> Funny, but not really a name I would seriously consider. Sounds too much >> like shite... > > maybe, anyone any other ideas? Well, let's throw in this one: PyCT for Python Compiler Toolchain. Cheers, Odie From anto.cuni at gmail.com Mon Oct 19 20:19:11 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Mon, 19 Oct 2009 20:19:11 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADC84B2.7070609@gmx.de> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> Message-ID: <4ADCAD9F.4020406@gmail.com> Carl Friedrich wrote: >> dynajite: >> >> - it's for dynamic languages >> - it provides you a jit >> - it makes your head explode :-) > > Funny, but not really a name I would seriously consider. Sounds too much > like shite... uhm, my italian mind would never pronounce dynajite like that, but maybe native speakers of other languages think differently, I don't know. To mitigate this, we could simply drop the 'e' at the end: 'dynajit', but I agree that it's much more boring. About other names, the most obvious and boring alternative is rpyc (for rpython compiler), but I don't like it too much. ciao, Anto From van.lindberg at gmail.com Tue Oct 20 04:32:39 2009 From: van.lindberg at gmail.com (VanL) Date: Mon, 19 Oct 2009 21:32:39 -0500 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091019133420.GS29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <20091019133420.GS29141@trillke.net> Message-ID: <4ADD2147.7040207@gmail.com> > - XXX the rpython-to-whatever translator and jit-generator Maybe this is too obscure, but this part could be "turtle", for the world turtle.[1] http://en.wikipedia.org/wiki/Turtles_all_the_way_down#Origin "Turtles all the way down" is to my mind somewhat appropriate for PyPy's translator toolchain. Thanks, Van From tobami at googlemail.com Tue Oct 20 09:44:51 2009 From: tobami at googlemail.com (Miquel Torres) Date: Tue, 20 Oct 2009 09:44:51 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADD2147.7040207@gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <20091019133420.GS29141@trillke.net> <4ADD2147.7040207@gmail.com> Message-ID: Turtle would be really nice if it were not for it's negative speed connotations ;-) Cheers, Miquel 2009/10/20 VanL > > > - XXX the rpython-to-whatever translator and jit-generator > > Maybe this is too obscure, but this part could be "turtle", for the > world turtle.[1] > > http://en.wikipedia.org/wiki/Turtles_all_the_way_down#Origin > > "Turtles all the way down" is to my mind somewhat appropriate for PyPy's > translator toolchain. > > Thanks, > > Van > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pedronis at openend.se Tue Oct 20 11:19:05 2009 From: pedronis at openend.se (Samuele Pedroni) Date: Tue, 20 Oct 2009 11:19:05 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091019171225.GX29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> Message-ID: <4ADD8089.4090406@openend.se> holger krekel wrote: > > > maybe, anyone any other ideas? > with Carl we considered yesterday: - vmribo from contracting ribosome and - vmdjinn From holger at merlinux.eu Tue Oct 20 11:42:42 2009 From: holger at merlinux.eu (holger krekel) Date: Tue, 20 Oct 2009 11:42:42 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <4ADD8089.4090406@openend.se> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> <4ADD8089.4090406@openend.se> Message-ID: <20091020094242.GC29141@trillke.net> On Tue, Oct 20, 2009 at 11:19 +0200, Samuele Pedroni wrote: > holger krekel wrote: > > > > > > maybe, anyone any other ideas? > > > > with Carl we considered yesterday: > > - vmribo from contracting ribosome > > and > > - vmdjinn nice - i like the "djinn" meme - so also throw djynn - which VM do you want to generate today? into the round. From fuzzyman at gmail.com Tue Oct 20 11:54:38 2009 From: fuzzyman at gmail.com (Michael Foord) Date: Tue, 20 Oct 2009 10:54:38 +0100 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091020094242.GC29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> <4ADD8089.4090406@openend.se> <20091020094242.GC29141@trillke.net> Message-ID: <6f4025010910200254g63c36042o8516f6b59c54bc05@mail.gmail.com> 2009/10/20 holger krekel > On Tue, Oct 20, 2009 at 11:19 +0200, Samuele Pedroni wrote: > > holger krekel wrote: > > > > > > > > > maybe, anyone any other ideas? > > > > > > > with Carl we considered yesterday: > > > > - vmribo from contracting ribosome > > > > and > > > > - vmdjinn > > nice - i like the "djinn" meme - so also throw > > djynn - which VM do you want to generate today? > I like PICT - Python Interpreter Compiler Toolchain. There is already a PICT (microcontrollers I think) so what about: PyCT: Python Compiler Toolchain. Michael > > into the round. > > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > -- http://www.ironpythoninaction.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From holger at merlinux.eu Tue Oct 20 13:46:18 2009 From: holger at merlinux.eu (holger krekel) Date: Tue, 20 Oct 2009 13:46:18 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <6f4025010910200254g63c36042o8516f6b59c54bc05@mail.gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> <4ADD8089.4090406@openend.se> <20091020094242.GC29141@trillke.net> <6f4025010910200254g63c36042o8516f6b59c54bc05@mail.gmail.com> Message-ID: <20091020114618.GE29141@trillke.net> Hi Michael, On Tue, Oct 20, 2009 at 10:54 +0100, Michael Foord wrote: > 2009/10/20 holger krekel > > > On Tue, Oct 20, 2009 at 11:19 +0200, Samuele Pedroni wrote: > > > holger krekel wrote: > > > > > > > > > > > > maybe, anyone any other ideas? > > > > > > > > > > with Carl we considered yesterday: > > > > > > - vmribo from contracting ribosome > > > > > > and > > > > > > - vmdjinn > > > > nice - i like the "djinn" meme - so also throw > > > > djynn - which VM do you want to generate today? > > > > I like PICT - Python Interpreter Compiler Toolchain. > > There is already a PICT (microcontrollers I think) so what about: > > PyCT: Python Compiler Toolchain. For the Translator tool chain i suggest to avoid a "Py" prefix and also avoid the "python compiler" association. Here's why: * I'd like to encourage VM develop??ers who identify with other languages to consider using the "xxx" tool chain instead of C/JVM/NET to implement their VM. * "Compiling Python" easily stirs the misconception that the focus is on statically compiling Python apps. best, holger From benjamin at python.org Tue Oct 20 15:43:48 2009 From: benjamin at python.org (Benjamin Peterson) Date: Tue, 20 Oct 2009 08:43:48 -0500 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091020114618.GE29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> <4ADD8089.4090406@openend.se> <20091020094242.GC29141@trillke.net> <6f4025010910200254g63c36042o8516f6b59c54bc05@mail.gmail.com> <20091020114618.GE29141@trillke.net> Message-ID: <1afaf6160910200643u559f0418n289502dc35531bb6@mail.gmail.com> 2009/10/20 holger krekel : > Hi Michael, > > On Tue, Oct 20, 2009 at 10:54 +0100, Michael Foord wrote: >> 2009/10/20 holger krekel >> >> > On Tue, Oct 20, 2009 at 11:19 +0200, Samuele Pedroni wrote: >> > > holger krekel wrote: >> > > > >> > > > >> > > > maybe, anyone any other ideas? >> > > > >> > > >> > > with Carl we considered yesterday: >> > > >> > > - vmribo ?from contracting ribosome >> > > >> > > and >> > > >> > > - vmdjinn >> > >> > nice - i like the "djinn" meme - so also throw >> > >> > ? ?djynn - which VM do you want to generate today? >> > >> >> I like PICT - Python Interpreter Compiler Toolchain. >> >> There is already a PICT (microcontrollers I think) so what about: >> >> PyCT: Python Compiler Toolchain. > > For the Translator tool chain i suggest to avoid a "Py" prefix and > also avoid the "python compiler" association. Here's why: > > * I'd like to encourage VM develop??ers who identify with other languages > ?to consider using the "xxx" tool chain instead of C/JVM/NET to > ?implement their VM. > > * "Compiling Python" easily stirs the misconception that the > ?focus is on statically compiling Python apps. We could just call it "rpython", since that's what it is. -- Regards, Benjamin From anto.cuni at gmail.com Tue Oct 20 16:17:05 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Tue, 20 Oct 2009 16:17:05 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091020094242.GC29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> <4ADD8089.4090406@openend.se> <20091020094242.GC29141@trillke.net> Message-ID: <58e316a40910200717t6ea152cbk69ba4fd4bbdbc464@mail.gmail.com> On Tue, Oct 20, 2009 at 11:42 AM, holger krekel wrote: >> - vmdjinn > > nice - i like the "djinn" meme - so also throw > > ? ?djynn - which VM do you want to generate today? I think that both vmdjinn and djynn are almost impossible to pronunciate. Btw, I think I miss what they mean and/or refer to. Are they acronyms? From anto.cuni at gmail.com Tue Oct 20 16:41:33 2009 From: anto.cuni at gmail.com (Antonio Cuni) Date: Tue, 20 Oct 2009 16:41:33 +0200 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> <4ADD8089.4090406@openend.se> <20091020094242.GC29141@trillke.net> <58e316a40910200717t6ea152cbk69ba4fd4bbdbc464@mail.gmail.com> Message-ID: <4ADDCC1D.2030802@gmail.com> R. David Murray wrote: > http://en.wikipedia.org/wiki/Djinn > > Once you know how to pronounce the reference, the proposed names become > easier to pronounce. ahah, now everything it's much clearer, thanks! And yes, I like it :-) From rdmurray at bitdance.com Tue Oct 20 16:34:00 2009 From: rdmurray at bitdance.com (R. David Murray) Date: Tue, 20 Oct 2009 10:34:00 -0400 (EDT) Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <58e316a40910200717t6ea152cbk69ba4fd4bbdbc464@mail.gmail.com> References: <200910191308.26255.victor.stinner@haypocalc.com> <0542BA64-8617-4B59-9D93-1E711C61E007@gmail.com> <4ADC640B.2040705@gmx.de> <20091019132133.GQ29141@trillke.net> <4ADC6AD1.5030101@gmail.com> <4ADC84B2.7070609@gmx.de> <20091019171225.GX29141@trillke.net> <4ADD8089.4090406@openend.se> <20091020094242.GC29141@trillke.net> <58e316a40910200717t6ea152cbk69ba4fd4bbdbc464@mail.gmail.com> Message-ID: On Tue, 20 Oct 2009 at 16:17, Antonio Cuni wrote: > On Tue, Oct 20, 2009 at 11:42 AM, holger krekel wrote: > >>> - vmdjinn >> >> nice - i like the "djinn" meme - so also throw >> >> ? ?djynn - which VM do you want to generate today? > > I think that both vmdjinn and djynn are almost impossible to > pronunciate. Btw, I think I miss what they mean and/or refer to. Are > they acronyms? http://en.wikipedia.org/wiki/Djinn Once you know how to pronounce the reference, the proposed names become easier to pronounce. --David (RDM) From holger at merlinux.eu Wed Oct 21 15:14:25 2009 From: holger at merlinux.eu (holger krekel) Date: Wed, 21 Oct 2009 15:14:25 +0200 Subject: [pypy-dev] virtualization migration Message-ID: <20091021131424.GO29141@trillke.net> Hi all, i am currently setting up a new Ubuntu host with KVM virtualization. The first VM runs speed.pypy.org for Miquel's work. I'd like to migrate over codespeak.net which is running Gentoo in a XEN domain. If you can answer possibly related questions or are interested you are welcome to hang around #codespeak on freenode IRC. holger From van.lindberg at gmail.com Thu Oct 22 00:32:51 2009 From: van.lindberg at gmail.com (VanL) Date: Wed, 21 Oct 2009 17:32:51 -0500 Subject: [pypy-dev] Why isn't the PyPy logo Ouroboros(Snake biting its tail)? In-Reply-To: <20091019133420.GS29141@trillke.net> References: <200910191308.26255.victor.stinner@haypocalc.com> <20091019133420.GS29141@trillke.net> Message-ID: <4ADF8C13.7000601@gmail.com> holger krekel wrote: > it's even more than two parts: > > - PyPy the Python Interpreter > - XXX the rpython-to-whatever translator and jit-generator Thinking about this more, why not PyPy the Python Interpreter and Ouroborus the rpython-to-whatever translator and jit-generator? Having the interpreter class in both would be representative of the snake devouring itself. Thanks, Van From victor.stinner at haypocalc.com Thu Oct 22 01:43:07 2009 From: victor.stinner at haypocalc.com (Victor Stinner) Date: Thu, 22 Oct 2009 01:43:07 +0200 Subject: [pypy-dev] JIT Benchmark on my project Hachoir Message-ID: <200910220143.07843.victor.stinner@haypocalc.com> Hi, I tried PyPy with JIT on my project Hachoir: extract metadata from MP3, FLAC, PNG, ... files. Results (lowest time on 5 runs): - CPython 2.5.4: 311 ms - CPython trunk (rev 75588, 2.7a0): 282 ms - PyPy JIT (rev 68646): 817 ms I tried PyPy (without JIT) some months ago and the result were similar. I'm using Debain Sid on a Pentium4 @ 3.0 GHz with 2 GB of memory. --- If you would like to reproduce the benchmark, download Hachoir (http://bitbucket.org/haypo/hachoir/) and run: hachoir-metadata --bench ~/testcase/{usa_railroad.jpg,logo-kubuntu.png, 08lechat_hq_fr.mp3,hotel_california.flac,matrix_ping_pong.wmv}" Files come from http://hachoir.tuxfamily.org/testcase/ -- Victor Stinner http://www.haypocalc.com/ From jsmiller at seas.upenn.edu Mon Oct 26 16:07:28 2009 From: jsmiller at seas.upenn.edu (Jordan Miller) Date: Mon, 26 Oct 2009 11:07:28 -0400 Subject: [pypy-dev] problems compiling on os x snow leopard Message-ID: Hi, I've previously used psyco (pypy's ancestor) with great success, but had trouble building it on OS X snow leopard. So I'm trying to build PyPy instead, but getting lots of build errors (see below). Please advise on what I should try next (maybe PyPy 1.1 instead of compiling from the subversion repo?). Thanks! I noticed on: http://morepypy.blogspot.com/ that people have gotten it to compile on os x before. Could anyone post the pypy-c binary somewhere for me to test/use? Very much appreciated. Jordan % python translate.py --opt=3 targetpypystandalone.py [translation:info] Translating target as defined by targetpypystandalone [platform:msg] Setting platform to 'host' cc=None [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_0.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_0.o [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/module_cache/module_0.c -o /var/folders/q1/ q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ module_0.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_0.o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/module_0.o -mmacosx- version-min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/ usession-dist-6/platcheck_0 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_1.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_1.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_1.o -lssl -lcrypto -mmacosx-version- min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession- dist-6/platcheck_1 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_2.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_2.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_2.o -lssl -lcrypto -mmacosx-version- min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession- dist-6/platcheck_2 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_3.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_3.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_3.o -lexpat -mmacosx-version-min=10.4 - o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_3 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_4.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_4.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_4.o -lexpat -mmacosx-version-min=10.4 - o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_4 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_5.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_5.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_5.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_5 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_6.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_6.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_6.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_6 [platform:ERROR] Undefined symbols: [platform:ERROR] "_mremap", referenced from: [platform:ERROR] _main in platcheck_6.o [platform:ERROR] ld: symbol(s) not found [platform:ERROR] collect2: ld returned 1 exit status [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic -I/usr/include/ffi /var/folders/q1/ q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_7.c -o / var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_7.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_7.o -lffi -ldl -mmacosx-version- min=10.4 -I/usr/include/ffi -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ +Tg/-Tmp-/usession-dist-6/platcheck_7 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_8.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_8.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_8.o -lz -mmacosx-version-min=10.4 -o / var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_8 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_9.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_9.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_9.o -lz -mmacosx-version-min=10.4 -o / var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_9 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_10.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_10.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_10.o -lz -mmacosx-version-min=10.4 -o / var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_10 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_11.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_11.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_11.o -lbz2 -mmacosx-version-min=10.4 - o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_11 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_12.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_12.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_12.o -lbz2 -mmacosx-version-min=10.4 - o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_12 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_13.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_13.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_13.o -lbz2 -mmacosx-version-min=10.4 - o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_13 [translation] PyPy config object: [translation] [objspace] [translation] compiler = ast [translation] nofaking = True [translation] [opcodes] [translation] CALL_LIKELY_BUILTIN = True [translation] CALL_METHOD = True [translation] [std] [translation] builtinshortcut = True [translation] getattributeshortcut = True [translation] optimized_list_getitem = True [translation] withmethodcache = True [translation] withmultidict = True [translation] withprebuiltchar = True [translation] withrangelist = True [translation] withshadowtracking = True [translation] withtypeversion = True [translation] [usemodules] [translation] __pypy__ = True [translation] _codecs = True [translation] _lsprof = True [translation] _minimal_curses = True [translation] _pickle_support = True [translation] _random = True [translation] _rawffi = True [translation] _socket = True [translation] _sre = True [translation] _ssl = True [translation] _weakref = True [translation] bz2 = True [translation] cStringIO = True [translation] crypt = True [translation] dyngram = True [translation] errno = True [translation] fcntl = True [translation] gc = True [translation] itertools = True [translation] marshal = True [translation] math = True [translation] md5 = True [translation] mmap = True [translation] operator = True [translation] posix = True [translation] pyexpat = True [translation] rctime = True [translation] recparser = True [translation] select = True [translation] sha = True [translation] signal = True [translation] struct = True [translation] symbol = True [translation] termios = True [translation] thread = True [translation] time = True [translation] unicodedata = True [translation] zipimport = True [translation] zlib = True [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_14.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_14.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_14.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_14 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_15.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_15.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_15.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_15 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_24.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_24.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_24.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_24 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -I/Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/translator/ c /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ module_cache/module_1.c -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ +Tg/-Tmp-/usession-dist-6/module_cache/module_1.o [platform:execute] gcc -bundle -undefined dynamic_lookup /var/folders/ q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ module_1.o -mmacosx-version-min=10.4 -I/Users/jmil/G3_Documents/ MakerBot/pypy-dist/pypy/translator/c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/externmod.so [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -I/Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/translator/ c /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ module_cache/module_2.c -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ +Tg/-Tmp-/usession-dist-6/module_cache/module_2.o [platform:execute] gcc -bundle -undefined dynamic_lookup /var/folders/ q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ module_2.o -mmacosx-version-min=10.4 -I/Users/jmil/G3_Documents/ MakerBot/pypy-dist/pypy/translator/c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/externmod_0.so [geninterp:WARNING] skipped classmethod: > [translation] translate.py configuration: [translation] [translate] [translation] opt = 3 [translation] targetspec = targetpypystandalone [translation] translation configuration: [translation] [translation] [translation] [backendopt] [translation] remove_asserts = True [translation] gc = hybrid [translation] gctransformer = framework [translation] list_comprehension_operations = True [translation] profopt = -c 'from richards import main;main(); from test import pystone; pystone.main()' [translation] rweakref = True [translation] stackless = False [translation] thread = True [translation] withsmallfuncsets = 5 [translation:info] Annotating&simplifying... [translation:info] with policy: pypy.translator.goal.ann_override.PyPyAnnotatorPolicy [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_25.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_25.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_25.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_25 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_26.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_26.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_26.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_26 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_27.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_27.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_27.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_27 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_28.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_28.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_28.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_28 ........................++++++++++++++++++++++++++++*********%%%%#%## %*************** [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_29.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_29.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_29.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_29 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_30.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_30.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_30.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_30 [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_31.c -o /var/folders/q1/q1uKPhBvEnq2q6- CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_31.o [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- Tmp-/usession-dist-6/platcheck_31.o -mmacosx-version-min=10.4 -o /var/ folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ platcheck_31 ........................++++++++++++++++++++++++++++*********%%%%#%## %*******************++++++++ ..................++++++++++++++++++++++++++++**********%%%%%%%%####%%% %%**********************++ .............++++++++++++++++************************%%%%%#%########### %%%%%********************* .........+++++++++++++*****************************%%%%%% %##############%%%%%%******************* ......++++++++++*********************************%%%%%%% %################%%%%%%******%*********** ...+++++++++******************%%%%%%%%%%%%%%%####### %########################%%%%%%%%##%********* .++++++++**************%%%%%%%%%%%%%%%%%%%%% %#########################################%%%******** +++++++***********%%%%%%%%%%%%%%%%%%%%%%%%#% %#########################################%%%%%%%**** +++++*********%%%%%%%%%%%%%%%%%%%%%%%%%%% %############################################%%%%%%%%%** +++*********%%%%#%%%%%%%%#%%%%%#####%% %####################################################%%%%%% ++********%%%%%%%% %#####################################################################% %%%%%%%% +********%%%%%%% %#########################################################################%%%%%%% *******%%#% %############################################################################%%%%%%%%% %*****%% %#############################################################################%%%%%%%%%%% ######################################################################################%%%%%%%%%%% %*****%% %#############################################################################%%%%%%%%%%% *******%%#% %############################################################################%%%%%%%%% +********%%%%%%% %#########################################################################%%%%%%% ++********%%%%%%%% %#####################################################################% %%%%%%%% +++*********%%%%#%%%%%%%%#%%%%%#####%% %####################################################%%%%%% +++++*********%%%%%%%%%%%%%%%%%%%%%%%%%%% %############################################%%%%%%%%%** +++++++***********%%%%%%%%%%%%%%%%%%%%%%%%#% %#########################################%%%%%%%**** .++++++++**************%%%%%%%%%%%%%%%%%%%%% %#########################################%%%******** ...+++++++++******************%%%%%%%%%%%%%%%####### %########################%%%%%%%%##%********* ......++++++++++*********************************%%%%%%% %################%%%%%%******%*********** .........+++++++++++++*****************************%%%%%% %##############%%%%%%******************* .............++++++++++++++++************************%%%%%#%########### %%%%%********************* ..................++++++++++++++++++++++++++++**********%%%%%%%%####%%% %%**********************++ +++++++++++***************************************++++++++++.#%**** +............................. ++++++++*********************************************++++++++*%%#%%** +...+++++.%.**.............. +++++***********************%%%%%%%%%%%%%%**************++++**%%##%%**+ +**%%%%%%%*#%+............ +++*******************%%%%%%%%%%%%%%%%%%%%%%%%%***********+++**%*%%*+ +***%#%##%**+............... +******************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%************++**%%%* %********+................ *****************%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%*****%%%%%%*#%** %****+++++++................ ***************%%%%%%%%%%%%%%%##############%%%%%%%%%%***%%####%#*++** %##%*%******+++............ *******%*******%%%%%%%%%%%%%##################%%###%%%%%#**%%%***++ +*****%%%%%%%%%**++........... ********%%%***%%%%%%%%%%%%%####################%%%%%%%%**%****++++ +*****%%%#####%%%**++*......... *************#%%%#%%%%%###%%###################%%%%%%%#*******++++ +*****%%%%%##%%%*%*+%*++....... %%%%%%****%##%*%%%%%%%%###%%%#################%%%%%%%%%*******++++++ +**************++*#+++....... %%%%%%%%%%#****%%%%%%%%%%%%%%%%############%%%%%%%%%%%********+++++++++ ++++++++++++**%##*+....... ######%%%%%%*****%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%*********+++++++... +++++........++++#%....... #######%%%%%*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**********++++++ +....................%......... ######%%%%%***********%%%%%%%%%%%%%%%%%%%%%%%%%***********+++++++ +............................... %%%%%%%%%%*****************%%%%%%%%%%%%%%%**************+++++++ +................................. %%%%%%************************************************++++++++ +.................................. ***************************************************+++++++++ +.................................... ******++++++***********************************+++++++++++ +...................................... ++++++++++++++++++***********************+++++++++++++++ +........................................ *++*****++++++++++++++++++++++++++++++++++++++++++++++ +.......................................... ****************+++++++++++++++++++++++++++++++++++ +............................................. *%*%*%%************+++++++++++++++++++++++++++++++++ +............................................ *%%%%%%%%%%%%%%******+++++++++++++++++++++++++++++++++++ +........................................ %%%%#%%%%%%%%%%%%********************++++++++++++++++++++++ +..................................... %%%%##########%%%%***************************++++++++++++++++ +................................... %%%%##########%%%%%********%##*******************++++++++++++++ +................................. %%%%%%######%%%%%%*******%#%*************************++++++++++++ +............................... .........+*%#%*+.#.....................................++++++++++++++++ ++++++++++++++++++++++++++ ........+++***%***+++++...........................+++++++++++++++++++++ ++++++++++++++++++++++++++ ......++***%%%%#%%****++++....................+++++++++++++++++++++++++ ++++++++++++++++*+++++++++ .....++***%%#####%%%***++++..............++++++++++++++++++++++++++++++ ++++++++++++++++#+++++++++ .....++***%%%%##%%%%***++++..........++++++++++++++++++++++++++++++++++ +++++++++++++++++*%#*+%+++ .....+++*****%%%%*****+++++.......+++++++++++++++++++++++++++++++++++++ +++++++++++++**%##%%**++++ ....%%++%*%#%%******++++++....+++++++++++++++++++++++++++++++++++++++++ ++++++++++++*%%%%%%******* ..........+**%###%%***++...++++++++++++++++++++++++++++++++++++++++++++ ++++++++++**%%%%********** ..........++*%%%%%%**+++++++++++++++++++++++++#*#%+++++++++++++++++++++ ++++********%#%*********** ............+++%%%%#%*+++++++++++++++++++++++++*++++++++++++++++++++ +****************%%**%%%#*%** .................+**#%#*++*%*###%%%**%%****+++**#%++++++++++++ +****************************%%%%%# ...............++++++++++++++****%%%###%%%%*%%###% %****************************************%%#### ............++++++++++++++++++**%%%#######%%%##%%%%****** %*********************************%%%%%% ..........++++++++++++++++++++**#%%%%%%%%%%%%#%%%%%%%%%%%%%#%%%% %**********************%%%%%%%%## .......++++++++++++++++++++++++******%%%%%%%%%######%%%%%#%%#%%%%%%%%% %*%#*********%%%%%%##%##### .....++++++++++++++++++++++++*********%#%%##################%%%%%%%%%%% %%%%#%***%%%%%%%%%%####### ...++++++++++++++++++++++++********%%%%%%%%###################%%%%%%%%% %%%%######%%%%%%%%######## .++++++++++++++++++++++++********%%%%%%#%%#######################%%%%# %#%%%########%############# ++++++++++++++++++++++++***%##**%%%%##%%###########################%%% %########################## +++++++++++++++++++++++*******%%%%%%%%%%% %####################################################### ++++++++++++++++++++++********%%%%%%%%%% %######################################################## +++++++++++++++++++++*********%%%%%%%%%%% %####################################################### ++++++++++++++++**************%%%%%%%%%%%%% %##################################################### ++++%+++*********************%%#%%%%%%%%%%##% %################################################### +******%#%****************%**%%%%% %############################################################## *********%%%%**********%##%%%%%%%%% %############################################################# *****************%####%%%%% %##################################################################### *******************### %########################################################################## ....+%+.%.....................................+*+. +.............................................. .+*%#%*+.....................................+ +****.............................................. ++%%***+++++++++++#+++++++...................+*#%%* +............................................. *+%%*******************+++++++.......++++++****+***** +........................................... ++*%##%***%%%%%%%%%%*******++++++.++*+****%%%%%%%%**++ +.............................%+........... +*****%%%%%%%%%%%%%%%%%******+++++++****%%%#####%%%***+ +............................*%........... *****%%%%%#########%%%%%%******++++****%%%%%####%%%***++ +.....................%*%%#%%............ *****%%%%%##########%%%%%**#****+++#***%%%%%%%%%%%****+++++++++++++++++ ++++%**%*+%+++++++........ *****%%%%%%%#####%%%%%#%%%%#%%#**+++**%###%%*********++++++++++++++++++ ++%***++++++++++++++++++++ ******%%%%%%%%%%%%%%%%%#%####%%%***+*##%%*********+++++++++++++++++++++ ++++#+*+++++++++++++++++++ ++*******%%%%%%%%%%%%***%%%%%%%%#%%%#++++++++++++++++++%+*+++++++++++++ ++++++*%++++++++++++++++++ #**%%*%************************%*++**%#%%%************%******* [Timer] Timings: [Timer] annotate --- 352.3 s [Timer] ========================================== [Timer] Total: --- 352.3 s [translation:ERROR] Error: [translation:ERROR] Traceback (most recent call last): [translation:ERROR] File "translate.py", line 273, in main [translation:ERROR] drv.proceed(goals) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/translator/driver.py", line 704, in proceed [translation:ERROR] return self._execute(goals, task_skip = self._maybe_skip()) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/translator/tool/taskengine.py", line 116, in _execute [translation:ERROR] res = self._do(goal, taskcallable, *args, **kwds) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/translator/driver.py", line 267, in _do [translation:ERROR] res = func() [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/translator/driver.py", line 294, in task_annotate [translation:ERROR] s = annotator.build_types(self.entry_point, self.inputtypes) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/annotation/annrpython.py", line 99, in build_types [translation:ERROR] return self.build_graph_types(flowgraph, inputcells, complete_now=complete_now) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/annotation/annrpython.py", line 190, in build_graph_types [translation:ERROR] self.complete() [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/annotation/annrpython.py", line 246, in complete [translation:ERROR] self.processblock(graph, block) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/annotation/annrpython.py", line 471, in processblock [translation:ERROR] self.flowin(graph, block) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/annotation/annrpython.py", line 531, in flowin [translation:ERROR] self.consider_op(block.operations[i]) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/annotation/annrpython.py", line 735, in consider_op [translation:ERROR] raise_nicer_exception(op, str(graph)) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/annotation/annrpython.py", line 732, in consider_op [translation:ERROR] resultcell = consider_meth(*argcells) [translation:ERROR] File "", line 3, in consider_op_setattr [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/annotation/unaryop.py", line 732, in setattr [translation:ERROR] setattr(example, s_attr.const, v_lltype._defl()) [translation:ERROR] File "/Users/jmil/G3_Documents/MakerBot/pypy- dist/pypy/rpython/lltypesystem/lltype.py", line 1027, in __setattr__ [translation:ERROR] " got %r" % (self._T, field_name, T1, T2)) [translation:ERROR] TypeError': instance field 'c_tv_usec': [translation:ERROR] expects [translation:ERROR] got [translation:ERROR] .. v724 = setattr(v722, ('c_tv_usec'), v723) [translation:ERROR] .. '(pypy.rlib.rpoll:75)select' [translation:ERROR] Processing block: [translation:ERROR] block at 421 is a [translation:ERROR] in (pypy.rlib.rpoll:75)select [translation:ERROR] containing the following operations: [translation:ERROR] v722 = call_args((function malloc), ((1, ('flavor',), False, False)), (Struct timeval), ('raw')) [translation:ERROR] v725 = simple_call ((builtin_function_or_method fmod), timeout_0, (1.0)) [translation:ERROR] v726 = simple_call((type int), timeout_0) [translation:ERROR] v727 = setattr(v722, ('c_tv_sec'), v726) [translation:ERROR] v728 = simple_call((type int), timeout_0) [translation:ERROR] v729 = sub(timeout_0, v728) [translation:ERROR] v730 = mul(v729, (1000000.0)) [translation:ERROR] v723 = simple_call((type int), v730) [translation:ERROR] v724 = setattr(v722, ('c_tv_usec'), v723) [translation:ERROR] --end-- [translation] start debugger... > /Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/rpython/ lltypesystem/lltype.py(1027)__setattr__() -> " got %r" % (self._T, field_name, T1, T2)) (Pdb+) (Pdb+) exit() From glavoie at gmail.com Tue Oct 27 18:45:50 2009 From: glavoie at gmail.com (Gabriel Lavoie) Date: Tue, 27 Oct 2009 13:45:50 -0400 Subject: [pypy-dev] problems compiling on os x snow leopard In-Reply-To: References: Message-ID: Hello Jordan, are you trying to build the trunk? I submitted recently a patch to solve build problems with Snow Leopard (64 bits related). fijal is supposed to have commited it to the trunk. Gabriel 2009/10/26 Jordan Miller : > Hi, > > I've previously used psyco (pypy's ancestor) with great success, but > had trouble building it on OS X snow leopard. So I'm trying to build > PyPy instead, but getting lots of build errors (see below). Please > advise on what I should try next (maybe PyPy 1.1 instead of compiling > from the subversion repo?). Thanks! > > I noticed on: http://morepypy.blogspot.com/ that people have gotten it > to compile on os x before. Could anyone post the pypy-c binary > somewhere for me to test/use? Very much appreciated. > > Jordan > > > > % python translate.py --opt=3 targetpypystandalone.py > > [translation:info] Translating target as defined by targetpypystandalone > [platform:msg] Setting platform to 'host' cc=None > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_0.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_0.o > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/module_cache/module_0.c -o /var/folders/q1/ > q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ > module_0.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_0.o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/module_0.o -mmacosx- > version-min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/ > usession-dist-6/platcheck_0 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_1.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_1.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_1.o -lssl -lcrypto -mmacosx-version- > min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession- > dist-6/platcheck_1 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_2.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_2.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_2.o -lssl -lcrypto -mmacosx-version- > min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession- > dist-6/platcheck_2 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_3.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_3.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_3.o -lexpat -mmacosx-version-min=10.4 - > o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_3 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_4.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_4.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_4.o -lexpat -mmacosx-version-min=10.4 - > o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_4 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_5.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_5.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_5.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_5 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_6.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_6.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_6.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_6 > [platform:ERROR] Undefined symbols: > [platform:ERROR] ? "_mremap", referenced from: > [platform:ERROR] ? ? ? _main in platcheck_6.o > [platform:ERROR] ld: symbol(s) not found > [platform:ERROR] collect2: ld returned 1 exit status > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic -I/usr/include/ffi /var/folders/q1/ > q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_7.c -o / > var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_7.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_7.o -lffi -ldl -mmacosx-version- > min=10.4 -I/usr/include/ffi -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ > +Tg/-Tmp-/usession-dist-6/platcheck_7 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_8.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_8.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_8.o -lz -mmacosx-version-min=10.4 -o / > var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_8 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_9.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_9.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_9.o -lz -mmacosx-version-min=10.4 -o / > var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_9 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_10.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_10.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_10.o -lz -mmacosx-version-min=10.4 -o / > var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_10 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_11.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_11.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_11.o -lbz2 -mmacosx-version-min=10.4 - > o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_11 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_12.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_12.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_12.o -lbz2 -mmacosx-version-min=10.4 - > o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_12 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_13.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_13.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_13.o -lbz2 -mmacosx-version-min=10.4 - > o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_13 > [translation] PyPy config object: > [translation] [objspace] > [translation] ? ? compiler = ast > [translation] ? ? nofaking = True > [translation] ? ? [opcodes] > [translation] ? ? ? ? CALL_LIKELY_BUILTIN = True > [translation] ? ? ? ? CALL_METHOD = True > [translation] ? ? [std] > [translation] ? ? ? ? builtinshortcut = True > [translation] ? ? ? ? getattributeshortcut = True > [translation] ? ? ? ? optimized_list_getitem = True > [translation] ? ? ? ? withmethodcache = True > [translation] ? ? ? ? withmultidict = True > [translation] ? ? ? ? withprebuiltchar = True > [translation] ? ? ? ? withrangelist = True > [translation] ? ? ? ? withshadowtracking = True > [translation] ? ? ? ? withtypeversion = True > [translation] ? ? [usemodules] > [translation] ? ? ? ? __pypy__ = True > [translation] ? ? ? ? _codecs = True > [translation] ? ? ? ? _lsprof = True > [translation] ? ? ? ? _minimal_curses = True > [translation] ? ? ? ? _pickle_support = True > [translation] ? ? ? ? _random = True > [translation] ? ? ? ? _rawffi = True > [translation] ? ? ? ? _socket = True > [translation] ? ? ? ? _sre = True > [translation] ? ? ? ? _ssl = True > [translation] ? ? ? ? _weakref = True > [translation] ? ? ? ? bz2 = True > [translation] ? ? ? ? cStringIO = True > [translation] ? ? ? ? crypt = True > [translation] ? ? ? ? dyngram = True > [translation] ? ? ? ? errno = True > [translation] ? ? ? ? fcntl = True > [translation] ? ? ? ? gc = True > [translation] ? ? ? ? itertools = True > [translation] ? ? ? ? marshal = True > [translation] ? ? ? ? math = True > [translation] ? ? ? ? md5 = True > [translation] ? ? ? ? mmap = True > [translation] ? ? ? ? operator = True > [translation] ? ? ? ? posix = True > [translation] ? ? ? ? pyexpat = True > [translation] ? ? ? ? rctime = True > [translation] ? ? ? ? recparser = True > [translation] ? ? ? ? select = True > [translation] ? ? ? ? sha = True > [translation] ? ? ? ? signal = True > [translation] ? ? ? ? struct = True > [translation] ? ? ? ? symbol = True > [translation] ? ? ? ? termios = True > [translation] ? ? ? ? thread = True > [translation] ? ? ? ? time = True > [translation] ? ? ? ? unicodedata = True > [translation] ? ? ? ? zipimport = True > [translation] ? ? ? ? zlib = True > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_14.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_14.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_14.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_14 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_15.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_15.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_15.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_15 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_24.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_24.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_24.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_24 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -I/Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/translator/ > c /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > module_cache/module_1.c -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ > +Tg/-Tmp-/usession-dist-6/module_cache/module_1.o > [platform:execute] gcc -bundle -undefined dynamic_lookup /var/folders/ > q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ > module_1.o -mmacosx-version-min=10.4 -I/Users/jmil/G3_Documents/ > MakerBot/pypy-dist/pypy/translator/c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/externmod.so > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -I/Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/translator/ > c /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > module_cache/module_2.c -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ > +Tg/-Tmp-/usession-dist-6/module_cache/module_2.o > [platform:execute] gcc -bundle -undefined dynamic_lookup /var/folders/ > q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ > module_2.o -mmacosx-version-min=10.4 -I/Users/jmil/G3_Documents/ > MakerBot/pypy-dist/pypy/translator/c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/externmod_0.so > [geninterp:WARNING] skipped classmethod: classobj.fromkeys of > > [translation] translate.py configuration: > [translation] [translate] > [translation] ? ? opt = 3 > [translation] ? ? targetspec = targetpypystandalone > [translation] translation configuration: > [translation] [translation] > [translation] ? ? [backendopt] > [translation] ? ? ? ? remove_asserts = True > [translation] ? ? gc = hybrid > [translation] ? ? gctransformer = framework > [translation] ? ? list_comprehension_operations = True > [translation] ? ? profopt = -c 'from richards import main;main(); from > test import pystone; pystone.main()' > [translation] ? ? rweakref = True > [translation] ? ? stackless = False > [translation] ? ? thread = True > [translation] ? ? withsmallfuncsets = 5 > [translation:info] Annotating&simplifying... > [translation:info] with policy: > pypy.translator.goal.ann_override.PyPyAnnotatorPolicy > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_25.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_25.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_25.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_25 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_26.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_26.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_26.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_26 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_27.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_27.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_27.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_27 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_28.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_28.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_28.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_28 > ........................++++++++++++++++++++++++++++*********%%%%#%## > %*************** > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_29.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_29.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_29.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_29 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_30.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_30.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_30.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_30 > [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- > min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_31.c -o /var/folders/q1/q1uKPhBvEnq2q6- > CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_31.o > [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- > Tmp-/usession-dist-6/platcheck_31.o -mmacosx-version-min=10.4 -o /var/ > folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ > platcheck_31 > ........................++++++++++++++++++++++++++++*********%%%%#%## > %*******************++++++++ > ..................++++++++++++++++++++++++++++**********%%%%%%%%####%%% > %%**********************++ > .............++++++++++++++++************************%%%%%#%########### > %%%%%********************* > .........+++++++++++++*****************************%%%%%% > %##############%%%%%%******************* > ......++++++++++*********************************%%%%%%% > %################%%%%%%******%*********** > ...+++++++++******************%%%%%%%%%%%%%%%####### > %########################%%%%%%%%##%********* > .++++++++**************%%%%%%%%%%%%%%%%%%%%% > %#########################################%%%******** > +++++++***********%%%%%%%%%%%%%%%%%%%%%%%%#% > %#########################################%%%%%%%**** > +++++*********%%%%%%%%%%%%%%%%%%%%%%%%%%% > %############################################%%%%%%%%%** > +++*********%%%%#%%%%%%%%#%%%%%#####%% > %####################################################%%%%%% > ++********%%%%%%%% > %#####################################################################% > %%%%%%%% > +********%%%%%%% > %#########################################################################%%%%%%% > *******%%#% > %############################################################################%%%%%%%%% > %*****%% > %#############################################################################%%%%%%%%%%% > ######################################################################################%%%%%%%%%%% > %*****%% > %#############################################################################%%%%%%%%%%% > *******%%#% > %############################################################################%%%%%%%%% > +********%%%%%%% > %#########################################################################%%%%%%% > ++********%%%%%%%% > %#####################################################################% > %%%%%%%% > +++*********%%%%#%%%%%%%%#%%%%%#####%% > %####################################################%%%%%% > +++++*********%%%%%%%%%%%%%%%%%%%%%%%%%%% > %############################################%%%%%%%%%** > +++++++***********%%%%%%%%%%%%%%%%%%%%%%%%#% > %#########################################%%%%%%%**** > .++++++++**************%%%%%%%%%%%%%%%%%%%%% > %#########################################%%%******** > ...+++++++++******************%%%%%%%%%%%%%%%####### > %########################%%%%%%%%##%********* > ......++++++++++*********************************%%%%%%% > %################%%%%%%******%*********** > .........+++++++++++++*****************************%%%%%% > %##############%%%%%%******************* > .............++++++++++++++++************************%%%%%#%########### > %%%%%********************* > ..................++++++++++++++++++++++++++++**********%%%%%%%%####%%% > %%**********************++ > > +++++++++++***************************************++++++++++.#%**** > +............................. > ++++++++*********************************************++++++++*%%#%%** > +...+++++.%.**.............. > +++++***********************%%%%%%%%%%%%%%**************++++**%%##%%**+ > +**%%%%%%%*#%+............ > +++*******************%%%%%%%%%%%%%%%%%%%%%%%%%***********+++**%*%%*+ > +***%#%##%**+............... > +******************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%************++**%%%* > %********+................ > *****************%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%*****%%%%%%*#%** > %****+++++++................ > ***************%%%%%%%%%%%%%%%##############%%%%%%%%%%***%%####%#*++** > %##%*%******+++............ > *******%*******%%%%%%%%%%%%%##################%%###%%%%%#**%%%***++ > +*****%%%%%%%%%**++........... > ********%%%***%%%%%%%%%%%%%####################%%%%%%%%**%****++++ > +*****%%%#####%%%**++*......... > *************#%%%#%%%%%###%%###################%%%%%%%#*******++++ > +*****%%%%%##%%%*%*+%*++....... > %%%%%%****%##%*%%%%%%%%###%%%#################%%%%%%%%%*******++++++ > +**************++*#+++....... > %%%%%%%%%%#****%%%%%%%%%%%%%%%%############%%%%%%%%%%%********+++++++++ > ++++++++++++**%##*+....... > ######%%%%%%*****%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%*********+++++++... > +++++........++++#%....... > #######%%%%%*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**********++++++ > +....................%......... > ######%%%%%***********%%%%%%%%%%%%%%%%%%%%%%%%%***********+++++++ > +............................... > %%%%%%%%%%*****************%%%%%%%%%%%%%%%**************+++++++ > +................................. > %%%%%%************************************************++++++++ > +.................................. > ***************************************************+++++++++ > +.................................... > ******++++++***********************************+++++++++++ > +...................................... > ++++++++++++++++++***********************+++++++++++++++ > +........................................ > *++*****++++++++++++++++++++++++++++++++++++++++++++++ > +.......................................... > ****************+++++++++++++++++++++++++++++++++++ > +............................................. > *%*%*%%************+++++++++++++++++++++++++++++++++ > +............................................ > *%%%%%%%%%%%%%%******+++++++++++++++++++++++++++++++++++ > +........................................ > %%%%#%%%%%%%%%%%%********************++++++++++++++++++++++ > +..................................... > %%%%##########%%%%***************************++++++++++++++++ > +................................... > %%%%##########%%%%%********%##*******************++++++++++++++ > +................................. > %%%%%%######%%%%%%*******%#%*************************++++++++++++ > +............................... > > .........+*%#%*+.#.....................................++++++++++++++++ > ++++++++++++++++++++++++++ > ........+++***%***+++++...........................+++++++++++++++++++++ > ++++++++++++++++++++++++++ > ......++***%%%%#%%****++++....................+++++++++++++++++++++++++ > ++++++++++++++++*+++++++++ > .....++***%%#####%%%***++++..............++++++++++++++++++++++++++++++ > ++++++++++++++++#+++++++++ > .....++***%%%%##%%%%***++++..........++++++++++++++++++++++++++++++++++ > +++++++++++++++++*%#*+%+++ > .....+++*****%%%%*****+++++.......+++++++++++++++++++++++++++++++++++++ > +++++++++++++**%##%%**++++ > ....%%++%*%#%%******++++++....+++++++++++++++++++++++++++++++++++++++++ > ++++++++++++*%%%%%%******* > ..........+**%###%%***++...++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++**%%%%********** > ..........++*%%%%%%**+++++++++++++++++++++++++#*#%+++++++++++++++++++++ > ++++********%#%*********** > ............+++%%%%#%*+++++++++++++++++++++++++*++++++++++++++++++++ > +****************%%**%%%#*%** > .................+**#%#*++*%*###%%%**%%****+++**#%++++++++++++ > +****************************%%%%%# > ...............++++++++++++++****%%%###%%%%*%%###% > %****************************************%%#### > ............++++++++++++++++++**%%%#######%%%##%%%%****** > %*********************************%%%%%% > ..........++++++++++++++++++++**#%%%%%%%%%%%%#%%%%%%%%%%%%%#%%%% > %**********************%%%%%%%%## > .......++++++++++++++++++++++++******%%%%%%%%%######%%%%%#%%#%%%%%%%%% > %*%#*********%%%%%%##%##### > .....++++++++++++++++++++++++*********%#%%##################%%%%%%%%%%% > %%%%#%***%%%%%%%%%%####### > ...++++++++++++++++++++++++********%%%%%%%%###################%%%%%%%%% > %%%%######%%%%%%%%######## > .++++++++++++++++++++++++********%%%%%%#%%#######################%%%%# > %#%%%########%############# > ++++++++++++++++++++++++***%##**%%%%##%%###########################%%% > %########################## > +++++++++++++++++++++++*******%%%%%%%%%%% > %####################################################### > ++++++++++++++++++++++********%%%%%%%%%% > %######################################################## > +++++++++++++++++++++*********%%%%%%%%%%% > %####################################################### > ++++++++++++++++**************%%%%%%%%%%%%% > %##################################################### > ++++%+++*********************%%#%%%%%%%%%%##% > %################################################### > +******%#%****************%**%%%%% > %############################################################## > *********%%%%**********%##%%%%%%%%% > %############################################################# > *****************%####%%%%% > %##################################################################### > *******************### > %########################################################################## > > ....+%+.%.....................................+*+. > +.............................................. > .+*%#%*+.....................................+ > +****.............................................. > ++%%***+++++++++++#+++++++...................+*#%%* > +............................................. > *+%%*******************+++++++.......++++++****+***** > +........................................... > ++*%##%***%%%%%%%%%%*******++++++.++*+****%%%%%%%%**++ > +.............................%+........... > +*****%%%%%%%%%%%%%%%%%******+++++++****%%%#####%%%***+ > +............................*%........... > *****%%%%%#########%%%%%%******++++****%%%%%####%%%***++ > +.....................%*%%#%%............ > *****%%%%%##########%%%%%**#****+++#***%%%%%%%%%%%****+++++++++++++++++ > ++++%**%*+%+++++++........ > *****%%%%%%%#####%%%%%#%%%%#%%#**+++**%###%%*********++++++++++++++++++ > ++%***++++++++++++++++++++ > ******%%%%%%%%%%%%%%%%%#%####%%%***+*##%%*********+++++++++++++++++++++ > ++++#+*+++++++++++++++++++ > ++*******%%%%%%%%%%%%***%%%%%%%%#%%%#++++++++++++++++++%+*+++++++++++++ > ++++++*%++++++++++++++++++ > #**%%*%************************%*++**%#%%%************%******* > [Timer] Timings: > [Timer] annotate ? ? ? ? ? ? ? ? ? ? ? --- 352.3 s > [Timer] ========================================== > [Timer] Total: ? ? ? ? ? ? ? ? ? ? ? ? --- 352.3 s > [translation:ERROR] Error: > [translation:ERROR] ?Traceback (most recent call last): > [translation:ERROR] ? ?File "translate.py", line 273, in main > [translation:ERROR] ? ? drv.proceed(goals) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/translator/driver.py", line 704, in proceed > [translation:ERROR] ? ? return self._execute(goals, task_skip = > self._maybe_skip()) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/translator/tool/taskengine.py", line 116, in _execute > [translation:ERROR] ? ? res = self._do(goal, taskcallable, *args, > **kwds) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/translator/driver.py", line 267, in _do > [translation:ERROR] ? ? res = func() > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/translator/driver.py", line 294, in task_annotate > [translation:ERROR] ? ? s = annotator.build_types(self.entry_point, > self.inputtypes) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/annotation/annrpython.py", line 99, in build_types > [translation:ERROR] ? ? return self.build_graph_types(flowgraph, > inputcells, complete_now=complete_now) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/annotation/annrpython.py", line 190, in build_graph_types > [translation:ERROR] ? ? self.complete() > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/annotation/annrpython.py", line 246, in complete > [translation:ERROR] ? ? self.processblock(graph, block) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/annotation/annrpython.py", line 471, in processblock > [translation:ERROR] ? ? self.flowin(graph, block) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/annotation/annrpython.py", line 531, in flowin > [translation:ERROR] ? ? self.consider_op(block.operations[i]) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/annotation/annrpython.py", line 735, in consider_op > [translation:ERROR] ? ? raise_nicer_exception(op, str(graph)) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/annotation/annrpython.py", line 732, in consider_op > [translation:ERROR] ? ? resultcell = consider_meth(*argcells) > [translation:ERROR] ? ?File "", line 3, in consider_op_setattr > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/annotation/unaryop.py", line 732, in setattr > [translation:ERROR] ? ? setattr(example, s_attr.const, v_lltype._defl()) > [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- > dist/pypy/rpython/lltypesystem/lltype.py", line 1027, in __setattr__ > [translation:ERROR] ? ? " ? ?got %r" % (self._T, field_name, T1, T2)) > [translation:ERROR] ?TypeError': c_tv_usec, c__pad0, c__pad1, c__pad2, c__pad3 }> instance field > 'c_tv_usec': > [translation:ERROR] expects > [translation:ERROR] ? ? got > [translation:ERROR] ? ? .. v724 = setattr(v722, ('c_tv_usec'), v723) > [translation:ERROR] ? ? .. '(pypy.rlib.rpoll:75)select' > [translation:ERROR] Processing block: > [translation:ERROR] ?block at 421 is a 'pypy.objspace.flow.flowcontext.SpamBlock'> > [translation:ERROR] ?in (pypy.rlib.rpoll:75)select > [translation:ERROR] ?containing the following operations: > [translation:ERROR] ? ? ? ?v722 = call_args((function malloc), ((1, > ('flavor',), False, False)), (Struct timeval), ('raw')) > [translation:ERROR] ? ? ? ?v725 = simple_call > ((builtin_function_or_method fmod), timeout_0, (1.0)) > [translation:ERROR] ? ? ? ?v726 = simple_call((type int), timeout_0) > [translation:ERROR] ? ? ? ?v727 = setattr(v722, ('c_tv_sec'), v726) > [translation:ERROR] ? ? ? ?v728 = simple_call((type int), timeout_0) > [translation:ERROR] ? ? ? ?v729 = sub(timeout_0, v728) > [translation:ERROR] ? ? ? ?v730 = mul(v729, (1000000.0)) > [translation:ERROR] ? ? ? ?v723 = simple_call((type int), v730) > [translation:ERROR] ? ? ? ?v724 = setattr(v722, ('c_tv_usec'), v723) > [translation:ERROR] ?--end-- > [translation] start debugger... > ?> /Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/rpython/ > lltypesystem/lltype.py(1027)__setattr__() > -> " ? ?got %r" % (self._T, field_name, T1, T2)) > (Pdb+) > (Pdb+) exit() > > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev > -- Gabriel Lavoie glavoie at gmail.com From fijall at gmail.com Tue Oct 27 18:57:34 2009 From: fijall at gmail.com (Maciej Fijalkowski) Date: Tue, 27 Oct 2009 18:57:34 +0100 Subject: [pypy-dev] problems compiling on os x snow leopard In-Reply-To: References: Message-ID: <693bc9ab0910271057r5d808c8dv9fdf8d506cde663b@mail.gmail.com> I did commit it. However, we don't have a 64bit OS X buildslave, so it might break from time to time. Please also note that pypy is not yet a viable replacement for psyco. Also, both pypy's jit and psyco does not work on 64 bit (although psyco more by design and pypy because we did not implement it yet). Cheers, fijal On Tue, Oct 27, 2009 at 6:45 PM, Gabriel Lavoie wrote: > Hello Jordan, > ? ? are you trying to build the trunk? I submitted recently a patch > to solve build problems with Snow Leopard (64 bits related). fijal is > supposed to have commited it to the trunk. > > Gabriel > > 2009/10/26 Jordan Miller : >> Hi, >> >> I've previously used psyco (pypy's ancestor) with great success, but >> had trouble building it on OS X snow leopard. So I'm trying to build >> PyPy instead, but getting lots of build errors (see below). Please >> advise on what I should try next (maybe PyPy 1.1 instead of compiling >> from the subversion repo?). Thanks! >> >> I noticed on: http://morepypy.blogspot.com/ that people have gotten it >> to compile on os x before. Could anyone post the pypy-c binary >> somewhere for me to test/use? Very much appreciated. >> >> Jordan >> >> >> >> % python translate.py --opt=3 targetpypystandalone.py >> >> [translation:info] Translating target as defined by targetpypystandalone >> [platform:msg] Setting platform to 'host' cc=None >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_0.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_0.o >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/module_cache/module_0.c -o /var/folders/q1/ >> q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ >> module_0.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_0.o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/module_0.o -mmacosx- >> version-min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/ >> usession-dist-6/platcheck_0 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_1.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_1.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_1.o -lssl -lcrypto -mmacosx-version- >> min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession- >> dist-6/platcheck_1 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_2.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_2.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_2.o -lssl -lcrypto -mmacosx-version- >> min=10.4 -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession- >> dist-6/platcheck_2 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_3.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_3.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_3.o -lexpat -mmacosx-version-min=10.4 - >> o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_3 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_4.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_4.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_4.o -lexpat -mmacosx-version-min=10.4 - >> o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_4 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_5.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_5.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_5.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_5 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_6.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_6.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_6.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_6 >> [platform:ERROR] Undefined symbols: >> [platform:ERROR] ? "_mremap", referenced from: >> [platform:ERROR] ? ? ? _main in platcheck_6.o >> [platform:ERROR] ld: symbol(s) not found >> [platform:ERROR] collect2: ld returned 1 exit status >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic -I/usr/include/ffi /var/folders/q1/ >> q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_7.c -o / >> var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_7.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_7.o -lffi -ldl -mmacosx-version- >> min=10.4 -I/usr/include/ffi -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ >> +Tg/-Tmp-/usession-dist-6/platcheck_7 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_8.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_8.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_8.o -lz -mmacosx-version-min=10.4 -o / >> var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_8 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_9.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_9.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_9.o -lz -mmacosx-version-min=10.4 -o / >> var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_9 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_10.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_10.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_10.o -lz -mmacosx-version-min=10.4 -o / >> var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_10 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_11.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_11.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_11.o -lbz2 -mmacosx-version-min=10.4 - >> o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_11 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_12.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_12.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_12.o -lbz2 -mmacosx-version-min=10.4 - >> o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_12 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_13.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_13.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_13.o -lbz2 -mmacosx-version-min=10.4 - >> o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_13 >> [translation] PyPy config object: >> [translation] [objspace] >> [translation] ? ? compiler = ast >> [translation] ? ? nofaking = True >> [translation] ? ? [opcodes] >> [translation] ? ? ? ? CALL_LIKELY_BUILTIN = True >> [translation] ? ? ? ? CALL_METHOD = True >> [translation] ? ? [std] >> [translation] ? ? ? ? builtinshortcut = True >> [translation] ? ? ? ? getattributeshortcut = True >> [translation] ? ? ? ? optimized_list_getitem = True >> [translation] ? ? ? ? withmethodcache = True >> [translation] ? ? ? ? withmultidict = True >> [translation] ? ? ? ? withprebuiltchar = True >> [translation] ? ? ? ? withrangelist = True >> [translation] ? ? ? ? withshadowtracking = True >> [translation] ? ? ? ? withtypeversion = True >> [translation] ? ? [usemodules] >> [translation] ? ? ? ? __pypy__ = True >> [translation] ? ? ? ? _codecs = True >> [translation] ? ? ? ? _lsprof = True >> [translation] ? ? ? ? _minimal_curses = True >> [translation] ? ? ? ? _pickle_support = True >> [translation] ? ? ? ? _random = True >> [translation] ? ? ? ? _rawffi = True >> [translation] ? ? ? ? _socket = True >> [translation] ? ? ? ? _sre = True >> [translation] ? ? ? ? _ssl = True >> [translation] ? ? ? ? _weakref = True >> [translation] ? ? ? ? bz2 = True >> [translation] ? ? ? ? cStringIO = True >> [translation] ? ? ? ? crypt = True >> [translation] ? ? ? ? dyngram = True >> [translation] ? ? ? ? errno = True >> [translation] ? ? ? ? fcntl = True >> [translation] ? ? ? ? gc = True >> [translation] ? ? ? ? itertools = True >> [translation] ? ? ? ? marshal = True >> [translation] ? ? ? ? math = True >> [translation] ? ? ? ? md5 = True >> [translation] ? ? ? ? mmap = True >> [translation] ? ? ? ? operator = True >> [translation] ? ? ? ? posix = True >> [translation] ? ? ? ? pyexpat = True >> [translation] ? ? ? ? rctime = True >> [translation] ? ? ? ? recparser = True >> [translation] ? ? ? ? select = True >> [translation] ? ? ? ? sha = True >> [translation] ? ? ? ? signal = True >> [translation] ? ? ? ? struct = True >> [translation] ? ? ? ? symbol = True >> [translation] ? ? ? ? termios = True >> [translation] ? ? ? ? thread = True >> [translation] ? ? ? ? time = True >> [translation] ? ? ? ? unicodedata = True >> [translation] ? ? ? ? zipimport = True >> [translation] ? ? ? ? zlib = True >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_14.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_14.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_14.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_14 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_15.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_15.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_15.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_15 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_24.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_24.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_24.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_24 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -I/Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/translator/ >> c /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> module_cache/module_1.c -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ >> +Tg/-Tmp-/usession-dist-6/module_cache/module_1.o >> [platform:execute] gcc -bundle -undefined dynamic_lookup /var/folders/ >> q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ >> module_1.o -mmacosx-version-min=10.4 -I/Users/jmil/G3_Documents/ >> MakerBot/pypy-dist/pypy/translator/c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/externmod.so >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -I/Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/translator/ >> c /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> module_cache/module_2.c -o /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU++ >> +Tg/-Tmp-/usession-dist-6/module_cache/module_2.o >> [platform:execute] gcc -bundle -undefined dynamic_lookup /var/folders/ >> q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/ >> module_2.o -mmacosx-version-min=10.4 -I/Users/jmil/G3_Documents/ >> MakerBot/pypy-dist/pypy/translator/c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/module_cache/externmod_0.so >> [geninterp:WARNING] skipped classmethod: > classobj.fromkeys of > >> [translation] translate.py configuration: >> [translation] [translate] >> [translation] ? ? opt = 3 >> [translation] ? ? targetspec = targetpypystandalone >> [translation] translation configuration: >> [translation] [translation] >> [translation] ? ? [backendopt] >> [translation] ? ? ? ? remove_asserts = True >> [translation] ? ? gc = hybrid >> [translation] ? ? gctransformer = framework >> [translation] ? ? list_comprehension_operations = True >> [translation] ? ? profopt = -c 'from richards import main;main(); from >> test import pystone; pystone.main()' >> [translation] ? ? rweakref = True >> [translation] ? ? stackless = False >> [translation] ? ? thread = True >> [translation] ? ? withsmallfuncsets = 5 >> [translation:info] Annotating&simplifying... >> [translation:info] with policy: >> pypy.translator.goal.ann_override.PyPyAnnotatorPolicy >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_25.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_25.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_25.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_25 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_26.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_26.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_26.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_26 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_27.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_27.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_27.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_27 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_28.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_28.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_28.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_28 >> ........................++++++++++++++++++++++++++++*********%%%%#%## >> %*************** >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_29.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_29.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_29.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_29 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_30.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_30.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_30.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_30 >> [platform:execute] gcc -c -O3 -fomit-frame-pointer -mmacosx-version- >> min=10.4 -mdynamic-no-pic /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_31.c -o /var/folders/q1/q1uKPhBvEnq2q6- >> CY3rgeU+++Tg/-Tmp-/usession-dist-6/platcheck_31.o >> [platform:execute] gcc /var/folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/- >> Tmp-/usession-dist-6/platcheck_31.o -mmacosx-version-min=10.4 -o /var/ >> folders/q1/q1uKPhBvEnq2q6-CY3rgeU+++Tg/-Tmp-/usession-dist-6/ >> platcheck_31 >> ........................++++++++++++++++++++++++++++*********%%%%#%## >> %*******************++++++++ >> ..................++++++++++++++++++++++++++++**********%%%%%%%%####%%% >> %%**********************++ >> .............++++++++++++++++************************%%%%%#%########### >> %%%%%********************* >> .........+++++++++++++*****************************%%%%%% >> %##############%%%%%%******************* >> ......++++++++++*********************************%%%%%%% >> %################%%%%%%******%*********** >> ...+++++++++******************%%%%%%%%%%%%%%%####### >> %########################%%%%%%%%##%********* >> .++++++++**************%%%%%%%%%%%%%%%%%%%%% >> %#########################################%%%******** >> +++++++***********%%%%%%%%%%%%%%%%%%%%%%%%#% >> %#########################################%%%%%%%**** >> +++++*********%%%%%%%%%%%%%%%%%%%%%%%%%%% >> %############################################%%%%%%%%%** >> +++*********%%%%#%%%%%%%%#%%%%%#####%% >> %####################################################%%%%%% >> ++********%%%%%%%% >> %#####################################################################% >> %%%%%%%% >> +********%%%%%%% >> %#########################################################################%%%%%%% >> *******%%#% >> %############################################################################%%%%%%%%% >> %*****%% >> %#############################################################################%%%%%%%%%%% >> ######################################################################################%%%%%%%%%%% >> %*****%% >> %#############################################################################%%%%%%%%%%% >> *******%%#% >> %############################################################################%%%%%%%%% >> +********%%%%%%% >> %#########################################################################%%%%%%% >> ++********%%%%%%%% >> %#####################################################################% >> %%%%%%%% >> +++*********%%%%#%%%%%%%%#%%%%%#####%% >> %####################################################%%%%%% >> +++++*********%%%%%%%%%%%%%%%%%%%%%%%%%%% >> %############################################%%%%%%%%%** >> +++++++***********%%%%%%%%%%%%%%%%%%%%%%%%#% >> %#########################################%%%%%%%**** >> .++++++++**************%%%%%%%%%%%%%%%%%%%%% >> %#########################################%%%******** >> ...+++++++++******************%%%%%%%%%%%%%%%####### >> %########################%%%%%%%%##%********* >> ......++++++++++*********************************%%%%%%% >> %################%%%%%%******%*********** >> .........+++++++++++++*****************************%%%%%% >> %##############%%%%%%******************* >> .............++++++++++++++++************************%%%%%#%########### >> %%%%%********************* >> ..................++++++++++++++++++++++++++++**********%%%%%%%%####%%% >> %%**********************++ >> >> +++++++++++***************************************++++++++++.#%**** >> +............................. >> ++++++++*********************************************++++++++*%%#%%** >> +...+++++.%.**.............. >> +++++***********************%%%%%%%%%%%%%%**************++++**%%##%%**+ >> +**%%%%%%%*#%+............ >> +++*******************%%%%%%%%%%%%%%%%%%%%%%%%%***********+++**%*%%*+ >> +***%#%##%**+............... >> +******************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%************++**%%%* >> %********+................ >> *****************%%%%%%%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%*****%%%%%%*#%** >> %****+++++++................ >> ***************%%%%%%%%%%%%%%%##############%%%%%%%%%%***%%####%#*++** >> %##%*%******+++............ >> *******%*******%%%%%%%%%%%%%##################%%###%%%%%#**%%%***++ >> +*****%%%%%%%%%**++........... >> ********%%%***%%%%%%%%%%%%%####################%%%%%%%%**%****++++ >> +*****%%%#####%%%**++*......... >> *************#%%%#%%%%%###%%###################%%%%%%%#*******++++ >> +*****%%%%%##%%%*%*+%*++....... >> %%%%%%****%##%*%%%%%%%%###%%%#################%%%%%%%%%*******++++++ >> +**************++*#+++....... >> %%%%%%%%%%#****%%%%%%%%%%%%%%%%############%%%%%%%%%%%********+++++++++ >> ++++++++++++**%##*+....... >> ######%%%%%%*****%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%%%%%*********+++++++... >> +++++........++++#%....... >> #######%%%%%*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**********++++++ >> +....................%......... >> ######%%%%%***********%%%%%%%%%%%%%%%%%%%%%%%%%***********+++++++ >> +............................... >> %%%%%%%%%%*****************%%%%%%%%%%%%%%%**************+++++++ >> +................................. >> %%%%%%************************************************++++++++ >> +.................................. >> ***************************************************+++++++++ >> +.................................... >> ******++++++***********************************+++++++++++ >> +...................................... >> ++++++++++++++++++***********************+++++++++++++++ >> +........................................ >> *++*****++++++++++++++++++++++++++++++++++++++++++++++ >> +.......................................... >> ****************+++++++++++++++++++++++++++++++++++ >> +............................................. >> *%*%*%%************+++++++++++++++++++++++++++++++++ >> +............................................ >> *%%%%%%%%%%%%%%******+++++++++++++++++++++++++++++++++++ >> +........................................ >> %%%%#%%%%%%%%%%%%********************++++++++++++++++++++++ >> +..................................... >> %%%%##########%%%%***************************++++++++++++++++ >> +................................... >> %%%%##########%%%%%********%##*******************++++++++++++++ >> +................................. >> %%%%%%######%%%%%%*******%#%*************************++++++++++++ >> +............................... >> >> .........+*%#%*+.#.....................................++++++++++++++++ >> ++++++++++++++++++++++++++ >> ........+++***%***+++++...........................+++++++++++++++++++++ >> ++++++++++++++++++++++++++ >> ......++***%%%%#%%****++++....................+++++++++++++++++++++++++ >> ++++++++++++++++*+++++++++ >> .....++***%%#####%%%***++++..............++++++++++++++++++++++++++++++ >> ++++++++++++++++#+++++++++ >> .....++***%%%%##%%%%***++++..........++++++++++++++++++++++++++++++++++ >> +++++++++++++++++*%#*+%+++ >> .....+++*****%%%%*****+++++.......+++++++++++++++++++++++++++++++++++++ >> +++++++++++++**%##%%**++++ >> ....%%++%*%#%%******++++++....+++++++++++++++++++++++++++++++++++++++++ >> ++++++++++++*%%%%%%******* >> ..........+**%###%%***++...++++++++++++++++++++++++++++++++++++++++++++ >> ++++++++++**%%%%********** >> ..........++*%%%%%%**+++++++++++++++++++++++++#*#%+++++++++++++++++++++ >> ++++********%#%*********** >> ............+++%%%%#%*+++++++++++++++++++++++++*++++++++++++++++++++ >> +****************%%**%%%#*%** >> .................+**#%#*++*%*###%%%**%%****+++**#%++++++++++++ >> +****************************%%%%%# >> ...............++++++++++++++****%%%###%%%%*%%###% >> %****************************************%%#### >> ............++++++++++++++++++**%%%#######%%%##%%%%****** >> %*********************************%%%%%% >> ..........++++++++++++++++++++**#%%%%%%%%%%%%#%%%%%%%%%%%%%#%%%% >> %**********************%%%%%%%%## >> .......++++++++++++++++++++++++******%%%%%%%%%######%%%%%#%%#%%%%%%%%% >> %*%#*********%%%%%%##%##### >> .....++++++++++++++++++++++++*********%#%%##################%%%%%%%%%%% >> %%%%#%***%%%%%%%%%%####### >> ...++++++++++++++++++++++++********%%%%%%%%###################%%%%%%%%% >> %%%%######%%%%%%%%######## >> .++++++++++++++++++++++++********%%%%%%#%%#######################%%%%# >> %#%%%########%############# >> ++++++++++++++++++++++++***%##**%%%%##%%###########################%%% >> %########################## >> +++++++++++++++++++++++*******%%%%%%%%%%% >> %####################################################### >> ++++++++++++++++++++++********%%%%%%%%%% >> %######################################################## >> +++++++++++++++++++++*********%%%%%%%%%%% >> %####################################################### >> ++++++++++++++++**************%%%%%%%%%%%%% >> %##################################################### >> ++++%+++*********************%%#%%%%%%%%%%##% >> %################################################### >> +******%#%****************%**%%%%% >> %############################################################## >> *********%%%%**********%##%%%%%%%%% >> %############################################################# >> *****************%####%%%%% >> %##################################################################### >> *******************### >> %########################################################################## >> >> ....+%+.%.....................................+*+. >> +.............................................. >> .+*%#%*+.....................................+ >> +****.............................................. >> ++%%***+++++++++++#+++++++...................+*#%%* >> +............................................. >> *+%%*******************+++++++.......++++++****+***** >> +........................................... >> ++*%##%***%%%%%%%%%%*******++++++.++*+****%%%%%%%%**++ >> +.............................%+........... >> +*****%%%%%%%%%%%%%%%%%******+++++++****%%%#####%%%***+ >> +............................*%........... >> *****%%%%%#########%%%%%%******++++****%%%%%####%%%***++ >> +.....................%*%%#%%............ >> *****%%%%%##########%%%%%**#****+++#***%%%%%%%%%%%****+++++++++++++++++ >> ++++%**%*+%+++++++........ >> *****%%%%%%%#####%%%%%#%%%%#%%#**+++**%###%%*********++++++++++++++++++ >> ++%***++++++++++++++++++++ >> ******%%%%%%%%%%%%%%%%%#%####%%%***+*##%%*********+++++++++++++++++++++ >> ++++#+*+++++++++++++++++++ >> ++*******%%%%%%%%%%%%***%%%%%%%%#%%%#++++++++++++++++++%+*+++++++++++++ >> ++++++*%++++++++++++++++++ >> #**%%*%************************%*++**%#%%%************%******* >> [Timer] Timings: >> [Timer] annotate ? ? ? ? ? ? ? ? ? ? ? --- 352.3 s >> [Timer] ========================================== >> [Timer] Total: ? ? ? ? ? ? ? ? ? ? ? ? --- 352.3 s >> [translation:ERROR] Error: >> [translation:ERROR] ?Traceback (most recent call last): >> [translation:ERROR] ? ?File "translate.py", line 273, in main >> [translation:ERROR] ? ? drv.proceed(goals) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/translator/driver.py", line 704, in proceed >> [translation:ERROR] ? ? return self._execute(goals, task_skip = >> self._maybe_skip()) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/translator/tool/taskengine.py", line 116, in _execute >> [translation:ERROR] ? ? res = self._do(goal, taskcallable, *args, >> **kwds) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/translator/driver.py", line 267, in _do >> [translation:ERROR] ? ? res = func() >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/translator/driver.py", line 294, in task_annotate >> [translation:ERROR] ? ? s = annotator.build_types(self.entry_point, >> self.inputtypes) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/annotation/annrpython.py", line 99, in build_types >> [translation:ERROR] ? ? return self.build_graph_types(flowgraph, >> inputcells, complete_now=complete_now) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/annotation/annrpython.py", line 190, in build_graph_types >> [translation:ERROR] ? ? self.complete() >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/annotation/annrpython.py", line 246, in complete >> [translation:ERROR] ? ? self.processblock(graph, block) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/annotation/annrpython.py", line 471, in processblock >> [translation:ERROR] ? ? self.flowin(graph, block) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/annotation/annrpython.py", line 531, in flowin >> [translation:ERROR] ? ? self.consider_op(block.operations[i]) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/annotation/annrpython.py", line 735, in consider_op >> [translation:ERROR] ? ? raise_nicer_exception(op, str(graph)) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/annotation/annrpython.py", line 732, in consider_op >> [translation:ERROR] ? ? resultcell = consider_meth(*argcells) >> [translation:ERROR] ? ?File "", line 3, in consider_op_setattr >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/annotation/unaryop.py", line 732, in setattr >> [translation:ERROR] ? ? setattr(example, s_attr.const, v_lltype._defl()) >> [translation:ERROR] ? ?File "/Users/jmil/G3_Documents/MakerBot/pypy- >> dist/pypy/rpython/lltypesystem/lltype.py", line 1027, in __setattr__ >> [translation:ERROR] ? ? " ? ?got %r" % (self._T, field_name, T1, T2)) >> [translation:ERROR] ?TypeError': > c_tv_usec, c__pad0, c__pad1, c__pad2, c__pad3 }> instance field >> 'c_tv_usec': >> [translation:ERROR] expects >> [translation:ERROR] ? ? got >> [translation:ERROR] ? ? .. v724 = setattr(v722, ('c_tv_usec'), v723) >> [translation:ERROR] ? ? .. '(pypy.rlib.rpoll:75)select' >> [translation:ERROR] Processing block: >> [translation:ERROR] ?block at 421 is a > 'pypy.objspace.flow.flowcontext.SpamBlock'> >> [translation:ERROR] ?in (pypy.rlib.rpoll:75)select >> [translation:ERROR] ?containing the following operations: >> [translation:ERROR] ? ? ? ?v722 = call_args((function malloc), ((1, >> ('flavor',), False, False)), (Struct timeval), ('raw')) >> [translation:ERROR] ? ? ? ?v725 = simple_call >> ((builtin_function_or_method fmod), timeout_0, (1.0)) >> [translation:ERROR] ? ? ? ?v726 = simple_call((type int), timeout_0) >> [translation:ERROR] ? ? ? ?v727 = setattr(v722, ('c_tv_sec'), v726) >> [translation:ERROR] ? ? ? ?v728 = simple_call((type int), timeout_0) >> [translation:ERROR] ? ? ? ?v729 = sub(timeout_0, v728) >> [translation:ERROR] ? ? ? ?v730 = mul(v729, (1000000.0)) >> [translation:ERROR] ? ? ? ?v723 = simple_call((type int), v730) >> [translation:ERROR] ? ? ? ?v724 = setattr(v722, ('c_tv_usec'), v723) >> [translation:ERROR] ?--end-- >> [translation] start debugger... >> ?> /Users/jmil/G3_Documents/MakerBot/pypy-dist/pypy/rpython/ >> lltypesystem/lltype.py(1027)__setattr__() >> -> " ? ?got %r" % (self._T, field_name, T1, T2)) >> (Pdb+) >> (Pdb+) exit() >> >> _______________________________________________ >> pypy-dev at codespeak.net >> http://codespeak.net/mailman/listinfo/pypy-dev >> > > > > -- > Gabriel Lavoie > glavoie at gmail.com > _______________________________________________ > pypy-dev at codespeak.net > http://codespeak.net/mailman/listinfo/pypy-dev From andrewfr_ice at yahoo.com Fri Oct 30 18:36:54 2009 From: andrewfr_ice at yahoo.com (Andrew Francis) Date: Fri, 30 Oct 2009 10:36:54 -0700 (PDT) Subject: [pypy-dev] Problem with pypy-c and stacklesssocket.py Message-ID: <462481.61824.qm@web112404.mail.gq1.yahoo.com> Hi Folks: I was testing a simple echoserver with stackless python 2.5.2 and pypy-c. I am running Ubuntu 9.04 and I compiled pypy-c with --stackless and optimization level 1. Under stackless python, the echoserver executes correctly. Under pypy-c, the server runs a while before I get: _scheduler_switch(curr, task) File "/home/andrew/lab/pypy-dist/pypy/lib/stackless.py", line 156, in _scheduler_switch next.switch() File "/home/andrew/lab/pypy-dist/pypy/lib/stackless.py", line 452, in _func func(*argl, **argd) File "/home/andrew/lab/pypy-dist/lib-python/2.5.2/stacklesssocket.py", line 77, in ManageSockets asyncore.poll(0.05) File "/home/andrew/lab/pypy-dist/lib-python/2.5.2/asyncore.py", line 109, in poll is_r = obj.readable() ReferenceError: weakly referenced object no longer exists I am using the stacklesssocket.py from http://stacklessexamples.googlecode.com/svn/trunk/examples/networking/stacklesssocket.py I have also enclosed the echoserver.py and a small test driver.py written with Twisted. I believe one can also use the drivers that come with the Beazley talk: http://www.dabeaz.com/coroutines/blaster.py Meanwhile I am looking over stacklesssocket.py to understand the logic. That said, any suggestions would be appreciated. Cheers, Andrew -------------- next part -------------- A non-text attachment was scrubbed... Name: echoserver.py Type: text/x-python Size: 761 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: driver.py Type: text/x-python Size: 1502 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: problems Type: application/octet-stream Size: 3004 bytes Desc: not available URL: From andrewfr_ice at yahoo.com Sat Oct 31 04:27:38 2009 From: andrewfr_ice at yahoo.com (Andrew Francis) Date: Fri, 30 Oct 2009 20:27:38 -0700 (PDT) Subject: [pypy-dev] Pickling example using Sieve of Eratosthenes Message-ID: <595048.10018.qm@web112407.mail.gq1.yahoo.com> Hi Folks: I recently did a talk at the Montreal Python user's group. To illustrate the power of Stackless, I adapted Robert Pike's prime number sieve written in Newsqueak for Stackless Python (I was inspired by the Gregario PyCSP example). Like my previous talk, I got requests from people to see pickling examples (it seems to be an eye opener). So I wrote a version of the sieve that can be pickled and resumed. In this fashion, hundred of thousands of primes can be generated at one's leisure. I have executed the programme in both pypy-c and Stackless Python. I would appreciate comments before putting it in the Stackless repository (however I do that). Cheers, Andrew -------------- next part -------------- A non-text attachment was scrubbed... Name: pickled-sieve.py Type: text/x-python Size: 2807 bytes Desc: not available URL: