[EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > What you describe makes perfect sense to me. If python is a 64 bit > program, it can only link to 64 bit libraries. If you compiled your > library in 32-bit mode, then the library headers will indicate this, > and linux's library loading code will ignore it when loading libraries > for 64-bit programs.
32 bit and 64 bit are completely different architectures - you can't mix and match them in one executable. The python solution is to use distutils and build a setup.py then you can compile for each platform easily. > I think there' might be a trick that lets you compile ELF files > with both 64-bit and 32-bit code, but actually doing so is outside > of my expertise. I don't think so. You can choose which you compile with. On 32 bit you'll compile 32 bit by default. If you want 64 bit choose -m64, eg echo <<'#END' >z.c #include <stdio.h> int main(void) { printf("Hello\n"); return 0; } #END gcc -c -m32 -o z32.o z.c gcc -c -m64 -o z64.o z.c file z*.o gives z32.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped z64.o: ELF 64-bit LSB relocatable, AMD x86-64, version 1 (SYSV), not stripped -- Nick Craig-Wood <[EMAIL PROTECTED]> -- http://www.craig-wood.com/nick -- http://mail.python.org/mailman/listinfo/python-list