Name: Anonymous 2004-12-28 17:51
I've just taken the 64-bit plunge and put together a new box with an AMD64 CPU (Socket 939 3200+, in a VIA chipset mainboard). I know I'll be running a free UNIX operating system, but I'm not sure whether to stick with tried-and-true 32-bit or to install a 64-bit OS. I apologize in advance for the following questions which probably range from naive to utterly stupid (I'm fairly familiar with UNIX and Linux, but I've never even touched an AMD64 machine until now).
* How does running 32-bit binaries in a 64-bit OS work? Does one have to jump through hoops or does it Just Work? I read something on the intarweb (can't even remember what OS it was about) about needing two sets of shared libraries, lib for 32-bit and lib64 for 64-bit versions. Does this mean every single shared library on the system has two copies installed?
* What about compiling 32-bit binaries (cross-compiling?) Can it be done? Is it straightforward? I'm thinking here of programs like ZSNES which can't be built AMD64-native because major parts of them are written in IA32 assembly language. Not to mention all the C code out there where the programmer naively assumed all over the place that that ints and pointers will be 32-bit until the Sun explodes...
* I hate asking this, but can someone flat-out recommend an OS/distribution? Is there much to choose from in functionality between different 64-bit Linux distributions, or does it just come down to which package management system one prefers? I need support for some 32-bit Linux binary-only software (Flash Player and ePSXe); does this eliminate *BSD (Free, Net, Dragonfly) as a choice or not? I can list my hardware if it's likely to be an issue, but I think it's all pretty standard (the video card, the most common sticking point in these cases, is a low-end Radeon fully supported by XFree86 and DRI)
* How does running 32-bit binaries in a 64-bit OS work? Does one have to jump through hoops or does it Just Work? I read something on the intarweb (can't even remember what OS it was about) about needing two sets of shared libraries, lib for 32-bit and lib64 for 64-bit versions. Does this mean every single shared library on the system has two copies installed?
* What about compiling 32-bit binaries (cross-compiling?) Can it be done? Is it straightforward? I'm thinking here of programs like ZSNES which can't be built AMD64-native because major parts of them are written in IA32 assembly language. Not to mention all the C code out there where the programmer naively assumed all over the place that that ints and pointers will be 32-bit until the Sun explodes...
* I hate asking this, but can someone flat-out recommend an OS/distribution? Is there much to choose from in functionality between different 64-bit Linux distributions, or does it just come down to which package management system one prefers? I need support for some 32-bit Linux binary-only software (Flash Player and ePSXe); does this eliminate *BSD (Free, Net, Dragonfly) as a choice or not? I can list my hardware if it's likely to be an issue, but I think it's all pretty standard (the video card, the most common sticking point in these cases, is a low-end Radeon fully supported by XFree86 and DRI)