Because Sybase has yet to address the GLIBC (LD_POINTER_GUARD) issue with any of their products on Linux, we are forced to find alternative ways of getting Sybase software to run on modern Linux distribution. In this situation, we will be using the Ubuntu 8.04 Just Enough OS (Ubuntu JEOS) Linux distribution.
After installing Ubuntu 8.04 Server JEOS on the physical or virtual machine, download the Ubuntu 7.04 Server iso image. Why Ubuntu 7.04? Ubuntu 7.04 is the last Ubuntu release that has an old enough GLIBC that Sybase software will work with.
% sudo debootstrap feisty /home/sybase file:///media/cdrom0
- Change the home directory of the sybase user to be /dbms/sybase by editing the /etc/passwd file
% sudo cp /etc/resolv.conf /home/sybase/etc/resolv.conf
% sudo cp /etc/hosts /home/sybase/etc/hosts
% sudo cp /etc/passwd /home/sybase/etc/passwd
% sudo cp /etc/shadow /home/sybase/etc/shadow
% sudo `cat /etc/apt/sources.list | sed -e ‘s/hardy/feisty/g’ > /home/sybase/etc/apt/sources.list`
% sudo mount –bind /dev /home/sybase/dev
% sudo mount –bind /proc /home/sybase/proc
% sudo mount -t devpts none /home/sybase/dev/pts
% sudo mount –bind /tmp /home/sybase/tmp
% sudo aptitude update
% sudo aptitude upgrade
% sudo aptitude install locales dialog wget debconf devscripts gnupg
% sudo aptitude install libstdc++5 libstdc++6 libaio
- If you’re installing v12.5x software, you will need to install an even older copy of libstdc++ (not needed for v15 or higher software):
% aptitude install libstdc++2.10-glibc2.2
- Install Sybase software into /dbms/sybase (as root in the chroot environment which you should still be in)
% sudo cp /dbms/sybase/SYBASE.sh /dbms/sybase/SYBASE.env
% sudo echo DSQUERY=MYASE >> /dbms/sybase/.SYBASE.env
% sudo echo sa_password > /dbms/sybase/.sapwd
% sudo chmod go-rwx /dbms/sybase/.sapwd
% sudo chmod u-wx /dbms/sybase/.sapwd
% sudo chown -R sybase /dbms/sybase
- Install the sybase_chroot script into /usr/local/bin and make it executable by root
- Install the sybase_ase rc script into /etc/init.d and make it executable by root
- Exit the chroot environment by typing ‘exit’
- create a symbolic link outside of the chroot environment to make /home/sybase/dbms appear as /dbms. This will allow you to access the Sybase software, notably OpenClient, as a normal user outside of the chroot environment.
% sudo ln -s /home/sybase/dbms /dbms
You are now able to start Sybase ASE using sudo /etc/init.d/sybase_ase start and stop Sybase ASE using sudo /etc/init.d/sybase_ase stop. Starting Sybase Replication Server, OpenServer, or similar Sybase software is simply a matter of copying the /etc/init.d/sybase_ase and tweaking the script copy.
If you feel this is way complicated and Sybase should just fix their software, let them know. Please point them to this page and refer to CR455393.
UPDATE: The GLIBC issue is fixed in v15.0.2 esd 4. It doesn’t seem to be working for everyone though. More information is needed about those systems where esd 4 doesn’t resolve the matter. No fix is available for 12.5x from Sybase.
UPDATE: Keep in mind, that the Sybase ASE 15.0.2 esd 4 patch is available only to Sybase customers with a current maintenance contract with Sybase.