Some of the Studio binaries are 32-bit. Irrespective of the compiler binaries (32-bit / 64-bit), the compilers can produce both 32-bit and 64-bit code (-m32, -m64).
To run any 32-bit binaries, including those included in Studio, you need to get the 32-bit version of glibc installed on your system from the Linux distribution. We list out those packages for Oracle Linux / RHEL in the release notes:
Here are the steps for installing Solaris Studio 12.3 on Ubuntu 11.10 (YMMV):
1) Download Tarfile on Linux x86 (368 MB) from http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index.html (be sure to accept the OTN license agreement by selecting the appropriate radio button).
2) Move SolarisStudio12.3-linux-x86-bin.tar.bz2 to a work/scratch directory (this is optional; install it as you like). I'm using ~/Install
3) cd ~/Install; tar jxvf SolarisStudio12.3-linux-x86-bin.tar.bz2
4) Install the 32-bit (libc6, lib32gcc1,lib32stdc++6, etc.) libraries: sudo apt-get install ia32-libs
5) sudo mkdir /opt/oracle
6) sudo mv ~/Install/SolarisStudio12.3-linux-x86-bin/solarisstudio12.3 /opt/oracle/.
7) Add the executables (/opt/oracle/solarisstudio12.3/bin) to your path.
I would just like to add, that I tried to compile the standard "Hello, World" C source code in a terminal and got a lot of errors on Ubuntu 11.10 (64-bit).
The first error line reads:
"/usr/include/features.h", line 323: cannot find include file: <bits/predefs.h>
I located bits/predefs.h in my /usr/include/x86_64-linux-gnu folder and supplying -I/usr/include/x86_64-linux-gnu to my compiler command solved the problem.