problems building debian packages (and 64-bit tidbits)

Jiann-Ming Su js290 at bellsouth.net
Wed Jul 7 13:28:03 UTC 2004


Just as reference, this is what I got back from the alpha lists:

>From jeff DOT donsbach on hp.com  Tue Jul  6 23:14:45 2004

  I don't believe there is a gcc option for that.

  You'd have to convert all "long" data type usage to "int". But that
  wouldn't really help here since time_t is in a system header file.

  "long" is always 64 bit on Alpha (and IA64 too). Pointers are always 64
  bit. No straightforward way around it. The platform paradigm is LP64.

  Better to fix the app to make it more portable.



>From rm DOT riches on verizon.net  Tue Jul  6 23:43:42 2004

  IIRC, Alpha normally compiles 'int' as 32 bits, but time_t
  is eventually defined as a 64-bit long, which causes time_t
  and int to be different width, which differs from X86.

  Other than that, I can't help with that question, but I have
  a couple of other tips that might be useful:

    - There is a -taso option, though you might have to
      pass it through the -bw or whatever it's called
      option to treat pointers as 32-bits wide.

    - There is a Linux library call (or system call),
      personality() that you can set to 32-bit-Linux if
      needed.

  If the program you're compiling has trouble with specific
  sizes, it just might commit the common crime of stuffing
  pointers into 32-bit int variables.  After getting the right
  combination of -taso and personality(32-bit-linux) I got the
  Squeak smalltalk implementation to compile on Alpha a few
  years ago.  If I can get that monster to compile on Alpha,
  you should be able to get your program to compile if you
  work at it a while.

Looks like Squeak can be compiled on the alpha with some effort.
Jiann-Ming Su
"Yeah, Lois, that'll be about as much fun as a lecture on
 				   ontological empiricism."  --Peter Griffin




More information about the Squeak-dev mailing list