|Operating System||Redhat Enterprise Linux 3.0|
|Sybase Products||Open Client/Server, ESQL/C for Linux Redhat 7.2|
|Version of Sybase Products||12.5.1|
|Certification result (pass/fail)||Pass with restrictions|
|Certification date||December 05, 2003|
|Compiler||gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-20)|
|Kernel||2.4.21-4.0.1.ELsmp #1 SMP Thu Oct 23 01:27:36 EDT 2003 i686 i686 i386 GNU/Linux|
|Glibc||Version 2.3.2, Release 95.6. Build date: Fri 07 Nov 2003 11:36:14 AM PST|
RestrictionsThe code samples provided with the release (dblibrary, ctlibrary, srvlibrary and so on) for Red Hat Enterprise 3.0 can only be relinked with the OC/S shared libraries (.so). The header file ctype.h against which the OC/S libraries are compiled on Red Hat 7.2 is incompatible with the header file on Red Hat Enterprise 3.0. Attempts to link the samples with the static OC/S libraries (.a) will result in linking errors like the following:
/sybase/OCS_125/lib/libsybdb.a(dbcursut.o)(.text+0x133): In function
: undefined reference to `__ctype_tolower'
/sybase/OCS_125/lib/libsybdb.a(intnent.o)(.text+0xd2): In function
: undefined reference to `__ctype_b'
Red Hat is tracking this issue under bug 91290 for Red Hat 9.0 (Red
Hat Enterprise 3.0 is at the same glibc level (2.3.2) as Red Hat 9.0).
Details are available from Red Hat at
Also see Red Hat's bug report concerning bug 86465 on Red Hat 8.0. Comment #10 of bug 86465 explains Red Hat's position regarding the compatibility of shared and static libraries between major releases:
"On RHL9 this is not a bug. There is no binary compatibility for .a libraries or .o files between distribution major releases (glibc only ensures binary compatibility for programs and shared libraries using symbol versioning, for static libraries this cannot work)."Notes:
- Samples built on Red Hat 7.2 have been successfully tested using the 'old' Linux threaded libraries (/lib/i686), and also using the new Posix threaded libraries (/lib/tls) on Red Hat Enterprise Linux 3.0. The tested samples were built on Red Hat 7.2 using both the static and shared libraries.
The open server sample exfds fails to link on Red Hat Enterprise
3.0 with the error: undefined reference to 'errno'. Adding
'#include <errno.h>' in exfds.c resolves this issue.
Also note that running the sample built on Red Hat 7.2 and executed on Red Hat Enterprise Linux 3.0 raises the message: "Incorrectly built binary which accesses 'errno' or 'h_errno' directly. Needs to be fixed". This issue is being tracked under CR 341437 and is expected to be fixed in 12.5.1 EBF#1. In the meantime, you can download an updated copy from Sybase CodeXchange at the following URL: http://ase.codexchange.sybase.com/servlets/ProjectDocumentList?folderID=475&maxDepth=true