[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: OOo and CUPS on AMD64



On Tue, May 10, 2005 at 03:15:01PM +0100, A J Stiles wrote:
> I think you would need to have a 32-bit cupsys-client running in the chroot 
> and a 64-bit cupsys server.  But all this mucking around with a 32-bit chroot 
> just sounds like teaching a cat to bark .....  the real solution would be a 
> 64-bit version of OpenOffice.  According to the OO.org team, it's been done 
> already; but I can't find the necessary files for love nor money.
> 
> Has anyone had any luck getting the OpenOffice.org sources to compile cleanly 
> under 64-bit Debian?  I tried pulling the latest CVS, and had a partial 
> success after doing some hacking.  But unfortunately, I got sidetracked; and 
> now I can't get it to work at all .....
> 
> Just what tricks did they pull to make OpenOffice.org so flaky anyway?!  I 
> thought the whole idea of using C and C++ was that it shouldn't care if it's 
> running on a 32-bit processor, a 64-bit processor or a 4-bit processor .....

But C and C++ allow casting things (both implicitly and explicitly)
between values and pointers and other stupid things, and that doesn
cause problems when you used the wrong type and move to 64bit.  So many
things have used int to store memory addresses when void* would have
been the right thing instead, and they will fail to work on 64bit
systems.

Also something mix pointer types back and forth and happen to work
because of the size of those types, and on 64bit systems they are often
different (ie int is 32bit on both 32 and 64bit linux systems in
general, while long is 32bit on 32bit systems and 64bit on 64bit
systems).

Well written and carefully written C/C++ code should just recompile and
work.  Sloppy code on the other hand (and there is quite a bit of that)
breaks.  If you are lucky the compiler can warn you about the problem,
but sometimes it has no idea what the programmer was trying to do.

Len Sorensen



Reply to: