Robert Kern wrote:
> David Cournapeau wrote:
>   
>> Hi,
>>
>>     This is a bit OT, but I wasted quite some time on this time, when 
>> using 64 bits integers and ctypes on ubuntu edgy. As I know other people 
>> use ubuntu with numpy, this may save some headache to others. I found 
>> this behaviour which looks like a bug in ctypes for python2.5 on edgy 
>> ubuntu:
>>
>>     python2.5 -c "from ctypes import sizeof, c_longlong; print 
>> sizeof(c_longlong)"
>>
>>     prints 4 instead of 8, which in my case is problematic for 
>> structures alignement. This affects only python2.5, and does not affect 
>> a python installed from sources. Can anybody else reproduce this ?
>>     
>
> Can you try a similar program in C compiled with the same C compiler that you
> used to build ctypes? sizeof(long long) does not have to be 8 bytes; it just 
> has
> to be at least as large as sizeof(long).
>
>   
I thought that ISO C99 required long long to be at least 64 bits, and 
that gcc followed this by default:

#include <stdio.h>

int main(void)
{
    printf("size of long long is %d\n", sizeof(long long));
    return 0;
}

compiled by gcc with -W -Wall, returns 8. Gcc is edgy ubuntu, that is 
4.1.2. I tried also with gcc 3.3 and 4.0, same result. Also, something I 
didn't say is that c_int64 is not available from ctypes; with python2.4, 
this is fine  (I changed my code to use c_int64 instead: an import error 
is much easier to find than a structure alignement problem when using 
ctypes :) ).

Also, I insist on this point, installing python from sources returns 8, 
as does python2.4 packaged by ubuntu (which is compiled by the exact 
same compiler according to python prompts). I am now trying to see if 
this is coming from configuration options (now, I know what a dual cpu 
is useful for: compiling python with make -j5 is really fast:) ),

cheers,

David

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/numpy-discussion

Reply via email to