[pycrypto] python crypto with python 3.0 or 3.1
don at amberfisharts.com
don at amberfisharts.com
Wed Mar 10 06:40:12 CST 2010
Hi Grail,
I just looked at your patch and have some comments.
I haven't tested the patch. I only read it.
1) In AllOrNothing.py you replace:
- except getopt.error, msg:
+ except getopt.error:
At first glance that looks wrong. If msg is used in the exception block
with your patch it would be undefined.
What you probably want to do is:
- except getopt.error, msg:
+ except getopt.error as msg:
2) Is there a reason why you don't use the Py_SIZE and Py_TYPE macros in
the C extension modules?
In various places you do something like this:
- ALGtype.ob_type = &PyType_Type;
+ ALGtype.ob_base.ob_base.ob_type = &PyType_Type;
I would try:
- ALGtype.ob_type = &PyType_Type;
+ Py_TYPE(ALGtype) = &PyType_Type;
and similarly instead of
- size = -p->ob_size;
+ size = -p->ob_base.ob_size;
I would try
- size = -p->ob_size;
+ size = -Py_SIZE(p);
These Macros are defined in pythons source Include/object.h
Note that I didn't try any of this. So you should try this out before you
change anything.
sincerely yours
//Lorenz
On Fri, 15 Jan 2010 09:19:14 +0000, Grail Dane <grail69 at hotmail.com>
wrote:
> Hi All
> So I am going to go on a limb a little and say I have successfully
> compiled pycrypto with python 3.1.1
> The attached patch makes the necessary changes to remove any errors
during
> install.If someone would like to give me a small test script, I am happy
to
> see if my tinkering actually worksor is just allowing it to install??
> I am also aware that some of the changes are probably not the best way
to
> do it, but I am happy to investigatefurther once I have it working :)
> CheersGrail
>
> From: grail69 at hotmail.com
> To: pycrypto at lists.dlitz.net
> Date: Fri, 15 Jan 2010 00:32:04 +0000
> Subject: Re: [pycrypto] python crypto with python 3.0 or 3.1
>
>
>
>
>
>
>
>
> Hi
> Thanks for the speedy reply :)
> I am a little confused though as the doco for 3.1 says:
> PyVarObjectThis is an extension of PyObject that adds the ob_size field.
> This is only used for objects that have some notion of length. This type
> does not often appear in the Python/C API. It corresponds to the fields
> defined by the expansion of the PyObject_VAR_HEAD macro.This appears to
be
> the same as what is written in the doco for 2.6.4 as well, which
pycrypto
> seems to work with.
> Well i will keep looking to see what i can find out.
> CheersGrail
>> Date: Thu, 14 Jan 2010 10:07:36 +0100
>> From: don at amberfisharts.com
>> To: pycrypto at lists.dlitz.net
>> Subject: Re: [pycrypto] python crypto with python 3.0 or 3.1
>>
>> Hi,
>>
>> as far as I know there hasn't been a move to port pyCrypto to python
3.x
>> so simply compiling against python 3.x is bound to fail!
>> If you try to port yourself and during that effort ran into this
>> compiler
>> error then if you look at the documentation [1] or this blog post [2]
>> (it's
>> a bit outdated since the docs have been fixed in the meantime) you will
>> see
>> that the first few lines (besides other things) of a python extension
>> type
>> have
>> changed from
>>
>> PyObject_HEAD_INIT(NULL)
>> 0, /* ob_size */
>> "myTypeName", /* tp_name */
>>
>> to
>>
>> PyVarObject_HEAD_INIT(NULL, 0)
>> "myTypeName", /* tp_name */
>>
>> If I recall correctly, the ob_size has be moved to a different
structure
>> and no longer
>> is a member of PyTypeObject.
>> So to sum it up:
>> * no porting effort exist so far, AFAIK
>> * no, the error is not bogus
>>
>> sincerely yours
>> //Lorenz
>>
>> [1] http://docs.python.org/dev/py3k/extending/newtypes.html
>> [2]
>>
http://rhodesmill.org/brandon/2008/porting-a-c-extension-module-to-python-30/
>>
>>
>>
>> On Thu, 14 Jan 2010 07:52:59 +0000, Grail Dane <grail69 at hotmail.com>
>> wrote:
>> > Hi GuysI am new to the list but have recently run into this issue.Has
>> > there been any movement?Personally I am stuck when gcc tries to
compile
>> > src/_fastmath.cwhich seems to die with an error about 'ob_size'
member
>> not
>> > existing :(This seems to be bogus as I traced back the struct's to
>> include
>> > PyObject_VAR_HEADwhich does have this as member.Any further help on
>> > this
>> > would be appreciated ;)Cheers Grail>On Fri, Dec 04, 2009 at
11:44:00AM
>> > +0100, Tobias Koeck wrote:>>Is it possible to run python crypto with
>> python
>> > 3.0 or 3.1. If not is
>> >>>it planed to adjust?
>> >
>> >>Sure, and it'll happen sooner if somebody volunteers to do it. :-)
>> >
>> >>There will need to be be some strategy for Python 2.x compatibility,
>> >>and
>>
>> >>the contributor(s) need to to meet the PyCrypto Code Submission
>> >>Requirements:
>> >
>> >>http://www.dlitz.net/software/pycrypto/submission-requirements/
>> >
>> >>--
>> >>Dwayne C. Litzenberger <dlitz at dlitz.net>
>> >> Key-signing key - 19E1 1FE8 B3CF F273 ED17 4A24 928C EC13 39C2
>> >> 5CF7
>> >> Annual key (2009) - C805 1746 397B 0202 2758 2821 58E0 894B 81D2
>> >> 582E
>> >>
>> > _________________________________________________________________
>> > View photos of singles in your area! Browse profiles for FREE
>> > http://clk.atdmt.com/NMN/go/150855801/direct/01/
>> _______________________________________________
>> pycrypto mailing list
>> pycrypto at lists.dlitz.net
>> http://lists.dlitz.net/cgi-bin/mailman/listinfo/pycrypto
>
> If It Exists, You'll Find it on SEEK Shopping Trolley Mechanic
> _________________________________________________________________
> Time for a new car? Sell your old one fast!
> http://clk.atdmt.com/NMN/go/157637060/direct/01/
More information about the pycrypto
mailing list