-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Sun, Apr 29, 2007 at 01:40:16PM -0700, Mark Pauley wrote:
Not sure about linux, but I know that for darwin linking of 32 bit binaries to 64 bit binaries is impossible. In the best case, you will have to do all sorts of tricks at the kernel level to allow 64 bit code (with pointers possibly way way up in the address space) to run in 32 bit mode.
Your particular seg-fault issue may be related to an invalid alignment problem. If your OBJ_MEMBER_DATA macro evaluates to a value that isn't a multiple of the unsigned long size (8 bytes), then OBJ_MEMBER_UINT could effectively be causing an invalid instruction to be generated.
You could add a check to make sure that the value OBJ_MEMBER_DATA returns in OBJ_MEMBER_UINT is a multiple of 8.
Instead, I'm going to build libjack and its dependencies (libFLAC and libsoundfile) as a bi-arch, installing the 32-bit versions in /usr/lib32 and the 64-bit versions in /usr/lib64, per the Debian standard. Then I'll try building ChucK with -m32 and it should link properly (I hope) and run correctly (again, I hope). I'll be back after I've done that, to report success or to ask for further help if needed. Probably looking at next week by the time I get that far. - -ken -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFGNlTie8HF+6xeOIcRAu+MAJ0WdqgKcT8Cc1HrGD4FD2mWHAeaKACg5XLd vGLb1qCRwkQHyiDgk5GLAc4= =xY3J -----END PGP SIGNATURE-----