||Redhat Enterprise Linux 3.0
||Open Client/Server, ESQL/C for Linux Redhat 7.2
|Version of Sybase Products
|Certification result (pass/fail)
||Pass with restrictions
||December 05, 2003
||gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-20)
||2.4.21-4.0.1.ELsmp #1 SMP Thu Oct 23 01:27:36 EDT 2003 i686 i686 i386
||Version 2.3.2, Release 95.6. Build date: Fri 07 Nov 2003 11:36:14
The 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
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
/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)."
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
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