[update apr 2009]:
also works on Debian Lenny. Eric Gerlach mentions the following : If you’re running the amd64 port of Debian or Ubuntu, you have to install ia32-libs and ia32-libs-gtk for the installer to work.


[update dec 2008]: also works on Intrepid Ibex!

Recently I reinstalled my computer at work and missed my Oracle Calendar. Here is a small howto to setup the calendar client.

Download the latest client from the Oracle website. Currently client version is cal_linux_1012.tar.gz (39,732,486 bytes)

Extract the client…

  1. tar xvzf cal_linux_1012.tar.gz

After extraction you find a directory OracleCalendar_inst/ go there and do the following..

  1. ./text_install.sh
  2. Preparing to install
  3. Extracting the JRE from the installer archive…
  4. Unpacking the JRE…
  5. Extracting the installation resources from the installer archive…
  6. Configuring the installer for this system's environment…
  7. nawk: error while loading shared libraries: libm.so.6: cannot open shared object file: No such file or directory
  8. dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
  9. /bin/ls: error while loading shared libraries: librt.so.1: cannot open shared object file: No such file or directory
  10. basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
  11. dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
  12. basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
  13. Launching installer…
  14. grep: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
  15. /tmp/install.dir.25009/Linux/resource/jre/bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory

As you can see the installer produces some errors. That’s because it assumes your kernel version is the one it is set in the install script. So what we need to do is to disable the assumption. First let’s see what the script does…

  1. cat cal_linux | grep LD_ASSUME_KERNEL
  2.  
  3. linux_LD_ASSUME_KERNEL_hack=0;
  4.                                                                 linux_LD_ASSUME_KERNEL_hack=1
  5. # LD_ASSUME_KERNEL for Native POSIX Threading Library on some Linux distros
  6.                 export LD_ASSUME_KERNEL=2.2.5
  7.                 # unset the LD_ASSUME_KERNEL in cause we don't need it
  8.                 unset LD_ASSUME_KERNEL
  9.                 # check our rules for setting LD_ASSUME_KERNEL
  10.                         linux_LD_ASSUME_KERNEL_hack=1
  11. if [ $linux_LD_ASSUME_KERNEL_hack -eq 1 ]; then
  12.         LD_ASSUME_KERNEL=2.2.5
  13.         export LD_ASSUME_KERNEL

As you can see the kernel version that is assumed is version 2.2.5. Doing a `uname -r’ it shows me on a Ubuntu Heron that I’m currently running 2.6.24-19-generic kernel version.
So what we need to do is fool the script so it can not export the variable LD_ASSUME_KERNEL

Run the following to backup / modify / and cleanup the mess you made ;-)

  1. cp cal_linux cal_linux.save
  2. cat cal_linux.save | sed "s/export LD_ASSUME_KERNEL/#xport LD_ASSUME_KERNEL/" > cal_linux
  3. rm cal_linux.save

Just run `cat cal_linux | grep LD_ASSUME_KERNEL’ again to see what changes you made.

Rerun the installer to give it another try…

  1. ./text_install.sh

There is just one more thing we need to do. If you finished the installation you can find `ocal’ in the default directory ~/OracleCalendar/bin. Running this produces another error…

  1. /OracleCalendar/bin$ ./ocal
  2. Starting Oracle Calendar for Linux
  3. /home/raymond/OracleCalendar/bin/Ocal: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

This is because Oracle Calendar depends on the older version of libstd that is installed on Heron. You can fix this by doing…

  1. sudo apt-get install libstdc++5
  2. The following NEW packages will be installed:
  3.   gcc-3.3-base libstdc++5

That’s it, now you can start the calendar

  1. ~/OracleCalendar/bin/ocal

Cheers,
Raymond