In older distributions there was the
ia32-libs meta package, now both Debian and Ubuntu switched to
multilib. I wonder what the differences are and what I'm supposed to do to re-create a 32 bit environment under a 64 bit distribution.
If I understand your question you're asking how one would go about installing 32-bit packages under a 64-bit system. If this is indeed your question then I believe all one has to do is install the necessary packages that correlate to the architecture of the system.
Most packages are available in both architectures, for example:
$ apt-cache search "lib(32|64)"|grep ffi lib32ffi-dev - Foreign Function Interface library (development files, 32bit) lib32ffi6 - Foreign Function Interface library runtime (32bit) lib64ffi-dev - Foreign Function Interface library (development files, 64bit) lib64ffi6 - Foreign Function Interface library runtime (64bit)
So you'd need to install the library + headers (-dev) you want for a particular library. This would entail installing the
What's my bit width
You can confirm your hardware bitness using this command:
$ getconf LONG_BIT 64
And you're OSes bitness using this:
$ uname -m x86_64
See this U&L Q&A where I explain all the methods you can use to do this on various Linuxes, titled: 32-bit, 64-bit CPU op-mode on Linux.
Setting up the build environment
Take a look at this article on the Ubuntu website which discusses the gory details of how to setup ones environment for building for different architectures on your main architecture. The topic is titled: InstallingCompilers - Installing the GNU C compiler and GNU C++ compiler.