For the past few days, we’ve been struggling with getting Sybase’s ASE DBMS to start on our new Linux PowerPC (a virtual machine running on top of AIX). We were able to install the software with no problems. We weren’t able to get past the __gxx_personality_v0 error:
symbol lookup error: /opt/ibmcmp/lib64/libibmc++.so.1: undefined symbol: __gxx_personality_v0
The error is a linking issue with IBM’s Visual Age runtime (a c/c++ runtime). I was able to confirm with Sybase that ASE will NOT run with Visual Age 8.x or 9.x and that it requires the 7.0 runtime. I downloaded the 7.0 runtime from IBM’s website but still received the same error.
ASE’s linking looked okay however:
[sybase@sybase ASE-12_5]$ ldd -v bin/dataserver
libbtsymbols.so => /sybase/ASE-12_5/lib/libbtsymbols.so (0×0000008000002000)
librt.so.1 => /lib64/tls/librt.so.1 (0×0000008000647000)
libm.so.6 => /lib64/tls/libm.so.6 (0×0000008081560000)
libnsl.so.1 => /lib64/libnsl.so.1 (0×0000008000674000)
libdl.so.2 => /lib64/libdl.so.2 (0×0000008081510000)
libibmc++.so.1 => /opt/ibmcmp/lib64/libibmc++.so.1 (0x00000080006a4000)
libpam.so.0 => /lib64/libpam.so.0 (0x00000080006b7000)
libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x00000080006d3000)
libaio.so.1 => /lib/libaio.so.1 (0x00000080006ff000)
libc.so.6 => /lib64/tls/libc.so.6 (0x00000080812f0000)
/lib64/ld64.so.1 (0x00000080812b0000)
libaudit.so.0 => /lib64/libaudit.so.0 (0×0000008000711000)
I worked with Sybase & IBM to track down the cause but it was IBM’s Brian Shen that was able to identify the culprit. We need to preload the libstdc++.so.5 library:
export LD_PRELOAD=/usr/lib64/libstdc++.so.5
Once we did that, we verified that the library was being picked up:
[sybase@sybase install]$ ldd $SYBASE/$SYBASE_ASE/bin/dataserver
/usr/lib64/libstdc++.so.5 (0×0000008000002000)
libbtsymbols.so => /sybase/ASE-12_5/lib/libbtsymbols.so (0×0000008000146000)
librt.so.1 => /lib64/tls/librt.so.1 (0x000000800078c000)
libm.so.6 => /lib64/tls/libm.so.6 (0×0000008081560000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00000080ef740000)
libdl.so.2 => /lib64/libdl.so.2 (0×0000008081510000)
libibmc++.so.1 => /opt/ibmcmp/lib64/libibmc++.so.1 (0x00000080007ba000)
libpam.so.0 => /lib64/libpam.so.0 (0x00000080ef6a0000)
libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x00000080007cd000)
libaio.so.1 => /lib/libaio.so.1 (0x00000080007fa000)
libc.so.6 => /lib64/tls/libc.so.6 (0x00000080812f0000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x000000800080b000)
/lib64/ld64.so.1 (0x00000080812b0000)
libaudit.so.0 => /lib64/libaudit.so.0 (0x00000080ef6c0000)
If you receive the following error, you can safely ignore it:
ERROR: ld.so: object ‘/usr/lib64/libstdc++.so.5′ from LD_PRELOAD cannot be preloaded: ignored
Don’t forget to set up your environment to include the IBM Visual Age runtime:
export LD_LIBRARY_PATH=/opt/ibmcmp/lib64:${LD_LIBRARY_PATH}
export PATH=$PATH:/opt/ibmcmp/lib64
« 35383: DBD::Sybase calls the broken sp_tables stored procedure WordPress, MySQL and a bit of corruption caused the tags & categories to disappear »




Have you tried:
export LD_PRELOAD64=/usr/lib64/libstdc++.so.5
Yup, we actually do that but we still get the error message. The good thing is that ASE 12.5.4 starts.