I have a machine with a 64-bit processor but running a 32-bit Windows OS. That Windows OS hosts a Virtual Box VM running a 32-bit version of Oracle Linux 6.1.
My problem is that when I install Solaris Studio (12.3) the executables in the OIC installation are 64-bit executables. Not surprisingly the 32-bit Linux cannot run them. This is despite the installer I used being called '...-x86-...'. Other executables in the installation (e.g. the C compiler) are 32-bit executables.
It seems that the OIC installer is automatically choosing to install 64-bit executables. I looked at the installer and did not see any way to force the OIC installer to install 32-bit executables, but did not see anything.
Is there are way to have the installer install the correct executables for the OS?
Alternatively, can I take a the OIC directory tree from another machine (one with a 32-bit processor) and replace the incorrect one on this VM?
Could you please provide more details about the installation that you tried?
There are 2 ways to install Oracle Solaris Studio 12.3 on Linux:
- using RPM installer
- using TAR file
Which of them did you try?
If you had a problem with RPM installer, you can try to extract the installation image from the TAR file.
You can download SolarisStudio12.3-linux-x86-bin.tar.bz2 file from this page:
There might be two separate issue here: OIC and Studio 12.3.
You will have to check the OIC documentation, or ask in an Oracle Database forum about support for OIC on 32-bit versions of Linux. OIC is not connected in any way to Oracle Solaris Studio.
Studio 12.3 was not intended to be used on 32-bit systems. (But 32-bit programs can be created, debugged and analyzed.) I see that the System Requirements document says that 32-bit x86 OS versions are supported. That statement seems to have been left over from earlier releases that did support 32-bit systems. The document should say that Studio can be used only on 64-bit systems. We'll get the document corrected.
Since the compilers are 32-bit programs, you might find that you can use Studio 12.3 anyway, but no support is available if you run into problems.
Another option is to download Studio 12.2, which is supported on 32-bit OS versions.
I was using 12.3 because of the advertised Pro*C support in that version.
Does 12.2 have the same Pro*C support?
Previously I had Solaris Studio 12.3beta installed without OIC. The VM also has the standard Oracle Client installed. The 32-bit standard Oracle client works perfectly well, including Proc*C. The problem seems to be that the Solaris Studio is hard coded to only use the Pro*C from OIC, which as we have discussed does not work because only 64-bit OIC executables/libraries are installed.
Is it possible to re-configure Solaris Studio to use the standard Oracle Client instead of OIC?
Alternatively, do you think it will be possible replace all the executables/libraries in the OIC directory tree with 32-bit ones from the standard Oracle Client?
I have never tried to use OIC, but your configuration is not supported anyway ;-),
so it seems a good idea to replace all the executables/libraries in the OIC directory
tree with 32-bit ones from the standard Oracle Client, because 64-bit binaries will not
work for you. Please, let us know how this replacement works.
Solaris Studio 12.3 was not tested for 32-bit Linux systems, and it is not supported on 32-bit Linux systems. Nonetheless, it might work on a 32-bit Linux system. You could try downloading the tarfile and installing from it. It might work, it might not.
I thought I would report back on the Solaris Studio on 32-bit Oracle Linux issue.
It does work. This how I did it:
1) Install Solaris Studio, including OIC. This installs an OIC that has 64-bit executables with 64-bit libraries (and 32-bit libraries in the arch32 sub-dir).
2) Download and extract the 32-bit OIC from the Oracle site.
3) Replace the 64-bit OIC installed in step 1 with the 32-bit one downloaded in step 2.
4) Copy the arch32 sub-dir. from the 64-bit installed in step 1 into the new 32-bit one. The build process requires this folder to exist.
This set up creates working 32-bit executables.
I started using a 32-bit Oracle Linux installation because I had one already. This was somewhat misdirected activity. The eventual installation will be on a 64-bit processor and will (probably) use 64-bit Oracle Linux. I am now using a 64-bit Oracle Linux instead.
However, I still need to link the eventual executables as 32-bits. This is because I need to use some legacy libraries that are only available in 32-bit versions.
Is there a canonically correct way to configure Solaris Studio to produce 32-bit executables?