<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Question Re: Static library for Sybase CT library (Windows, Linux) in Technology Q&amp;A</title>
    <link>https://community.sap.com/t5/technology-q-a/static-library-for-sybase-ct-library-windows-linux/qaa-p/9394973#M3342345</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As Simon mentions for Linux/UNIX both static and shared libs are provided.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your best bet is to become familiar with the samples. On Linux, for example, check out the $SYBASE/OCS-15_0/sample/ctlibrary directory&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check the sybopts.sh file for sample compile/link lines for various platforms and whether you want threaded or non-threaded. You start out deciding if you want non-threaded or threaded.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Keep in mind I am doing this with the SDK 15.7 x64 version on Linux (32 bit libraries install only with the non threaded static/shared libs, for threaded only the shared libs are included).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, for 64-bit if you want to build static non-threaded:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;setenv SYBPLATFORM linux64&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I modify sybopts.sh:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; linuxamd64 | linux64)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CC="gcc";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CFLAGS="-m64 -g -DSYB_LP64 -Wall -Wformat=2 -Wl,-Bstatic";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BLKLIB="-lsybblk64"; SRVLIB="-lsybsrv64"; CTLIB="-lsybct64";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMLIBS="-lsybtcl64 -lsybcs64 -lsybcomn64 -lsybintl64 -lsybunic64";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SYSLIBS="-Wl,-Bdynamic -ldl -lnsl -lm" ;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then run &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;make firstapp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ldd firstapp&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libdl.so.2 =&amp;gt; /lib64/libdl.so.2 (0x0000003e3ce00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libnsl.so.1 =&amp;gt; /lib64/libnsl.so.1 (0x0000003e40a00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libm.so.6 =&amp;gt; /lib64/libm.so.6 (0x0000003e3ca00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libc.so.6 =&amp;gt; /lib64/libc.so.6 (0x0000003e3c600000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /lib64/ld-linux-x86-64.so.2 (0x0000003e3c200000)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[I leave the system libs as dynamic]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I run the make with modified sybopts.sh (removing -Wl,-Bstatic)&lt;/P&gt;&lt;P&gt;ldd firstapp:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libsybct64.so =&amp;gt; /sybase/ocs/syb157/OCS-15_0/lib/libsybct64.so (0x00002aaaaaaad000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libsybtcl64.so =&amp;gt; /sybase/ocs/syb157/OCS-15_0/lib/libsybtcl64.so (0x00002aaaaad48000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libsybcs64.so =&amp;gt; /sybase/ocs/syb157/OCS-15_0/lib/libsybcs64.so (0x00002aaaaaf6f000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libsybcomn64.so =&amp;gt; /sybase/ocs/syb157/OCS-15_0/lib/libsybcomn64.so (0x00002aaaab183000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libsybintl64.so =&amp;gt; /sybase/ocs/syb157/OCS-15_0/lib/libsybintl64.so (0x00002aaaab441000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libsybunic64.so =&amp;gt; /sybase/ocs/syb157/OCS-15_0/lib/libsybunic64.so (0x00002aaaab64a000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libdl.so.2 =&amp;gt; /lib64/libdl.so.2 (0x0000003e3ce00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libnsl.so.1 =&amp;gt; /lib64/libnsl.so.1 (0x0000003e40a00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libm.so.6 =&amp;gt; /lib64/libm.so.6 (0x0000003e3ca00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libc.so.6 =&amp;gt; /lib64/libc.so.6 (0x0000003e3c600000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /lib64/ld-linux-x86-64.so.2 (0x0000003e3c200000)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On the threaded side, similar deal. I actually make a copy of the section (I think I made additions to accomodate my gcc compiler on the linux machine I use):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nthread_linuxamd64 | nthread_linux64)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CC="cc";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CFLAGS="-m64 -g -DSYB_LP64 -D_REENTRANT -Werror -Wall -Wformat=2";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BLKLIB="-lsybblk_r64"; SRVLIB="-lsybsrv_r64"; CTLIB=-lsybct_r64;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMLIBS="-lsybtcl_r64 -lsybcs_r64 -lsybcomn_r64 -lsybintl_r64 -lsybunic64";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SYSLIBS="-Wl,-Bdynamic -ldl -lpthread -lnsl -lm" ;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I create a new section:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nthread_linuxamd64_static | nthread_linux64_static)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CC="cc";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CFLAGS="-m64 -g -DSYB_LP64 -D_REENTRANT -Werror -Wall -Wformat=2 -Wl,-Bstatic";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BLKLIB="-lsybblk_r64"; SRVLIB="-lsybsrv_r64"; CTLIB=-lsybct_r64;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMLIBS="-lsybtcl_r64 -lsybcs_r64 -lsybcomn_r64 -lsybintl_r64 -lsybunic64";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SYSLIBS="-Wl,-Bdynamic -ldl -lpthread -lnsl -lm" ;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;setenv SYBPLATFORM nthread_linux64_static&lt;/P&gt;&lt;P&gt;make firstapp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ldd firstapp&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libdl.so.2 =&amp;gt; /lib64/libdl.so.2 (0x0000003e3ce00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libpthread.so.0 =&amp;gt; /lib64/libpthread.so.0 (0x0000003e3d200000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libnsl.so.1 =&amp;gt; /lib64/libnsl.so.1 (0x0000003e40a00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libm.so.6 =&amp;gt; /lib64/libm.so.6 (0x0000003e3ca00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libc.so.6 =&amp;gt; /lib64/libc.so.6 (0x0000003e3c600000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /lib64/ld-linux-x86-64.so.2 (0x0000003e3c200000)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't know if it is advantageous to build static other than for deployment reasons, however, if you need to update client library you must rebuild the application to use the new libraries. On dynamic builds an update of client library provides access to the new libraries.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For Windows, I don't think there really is a concept of static libraries since you use DLLs (as Simon points out). You do link to the libsybct.lib, etc in your application project but the application accesses the DLLs during runtime. I don't think we provide a static windows library for client library functions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;-Paul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 06 May 2013 20:04:51 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2013-05-06T20:04:51Z</dc:date>
    <item>
      <title>Static library for Sybase CT library (Windows, Linux)</title>
      <link>https://community.sap.com/t5/technology-q-a/static-library-for-sybase-ct-library-windows-linux/qaq-p/9394971</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Friends,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am upgrading a C++ application to read data from Sybase ASE (15.7) database on Windows and Linux.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After going thru Sybase manuals, I found that open client (CT) library can be used to communicate with ASE DB server.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is this library available for static linking into C++ executable? Or is the CT library source code available for compiling into the executable?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A Sybase page (&lt;A href="http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc35455.1500/html/ocspw95/ocspw9510.htm"&gt;http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc35455.1500/html/ocspw95/ocspw9510.htm&lt;/A&gt;) refers to libsybct.lib, which is an import lib to load corresponding dll, but I did not find more details on static version of this library.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance for your help and time&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Apr 2013 08:58:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/static-library-for-sybase-ct-library-windows-linux/qaq-p/9394971</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-04-24T08:58:48Z</dc:date>
    </item>
    <item>
      <title>Re: Static library for Sybase CT library (Windows, Linux)</title>
      <link>https://community.sap.com/t5/technology-q-a/static-library-for-sybase-ct-library-windows-linux/qaa-p/9394972#M3342344</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We do provide static libraries and shared libraries on Unix\Linux (I think with ASE and SDK), you'll find them in $SYBASE/OCS-15_0/lib.&lt;/P&gt;&lt;P&gt;If you are on Windows though, you need to link dynamically and use the dlls at runtime.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HTH,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Simon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 01 May 2013 10:30:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/static-library-for-sybase-ct-library-windows-linux/qaa-p/9394972#M3342344</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-05-01T10:30:30Z</dc:date>
    </item>
    <item>
      <title>Re: Static library for Sybase CT library (Windows, Linux)</title>
      <link>https://community.sap.com/t5/technology-q-a/static-library-for-sybase-ct-library-windows-linux/qaa-p/9394973#M3342345</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As Simon mentions for Linux/UNIX both static and shared libs are provided.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your best bet is to become familiar with the samples. On Linux, for example, check out the $SYBASE/OCS-15_0/sample/ctlibrary directory&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check the sybopts.sh file for sample compile/link lines for various platforms and whether you want threaded or non-threaded. You start out deciding if you want non-threaded or threaded.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Keep in mind I am doing this with the SDK 15.7 x64 version on Linux (32 bit libraries install only with the non threaded static/shared libs, for threaded only the shared libs are included).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, for 64-bit if you want to build static non-threaded:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;setenv SYBPLATFORM linux64&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I modify sybopts.sh:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; linuxamd64 | linux64)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CC="gcc";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CFLAGS="-m64 -g -DSYB_LP64 -Wall -Wformat=2 -Wl,-Bstatic";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BLKLIB="-lsybblk64"; SRVLIB="-lsybsrv64"; CTLIB="-lsybct64";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMLIBS="-lsybtcl64 -lsybcs64 -lsybcomn64 -lsybintl64 -lsybunic64";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SYSLIBS="-Wl,-Bdynamic -ldl -lnsl -lm" ;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then run &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;make firstapp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ldd firstapp&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libdl.so.2 =&amp;gt; /lib64/libdl.so.2 (0x0000003e3ce00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libnsl.so.1 =&amp;gt; /lib64/libnsl.so.1 (0x0000003e40a00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libm.so.6 =&amp;gt; /lib64/libm.so.6 (0x0000003e3ca00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libc.so.6 =&amp;gt; /lib64/libc.so.6 (0x0000003e3c600000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /lib64/ld-linux-x86-64.so.2 (0x0000003e3c200000)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[I leave the system libs as dynamic]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I run the make with modified sybopts.sh (removing -Wl,-Bstatic)&lt;/P&gt;&lt;P&gt;ldd firstapp:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libsybct64.so =&amp;gt; /sybase/ocs/syb157/OCS-15_0/lib/libsybct64.so (0x00002aaaaaaad000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libsybtcl64.so =&amp;gt; /sybase/ocs/syb157/OCS-15_0/lib/libsybtcl64.so (0x00002aaaaad48000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libsybcs64.so =&amp;gt; /sybase/ocs/syb157/OCS-15_0/lib/libsybcs64.so (0x00002aaaaaf6f000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libsybcomn64.so =&amp;gt; /sybase/ocs/syb157/OCS-15_0/lib/libsybcomn64.so (0x00002aaaab183000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libsybintl64.so =&amp;gt; /sybase/ocs/syb157/OCS-15_0/lib/libsybintl64.so (0x00002aaaab441000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libsybunic64.so =&amp;gt; /sybase/ocs/syb157/OCS-15_0/lib/libsybunic64.so (0x00002aaaab64a000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libdl.so.2 =&amp;gt; /lib64/libdl.so.2 (0x0000003e3ce00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libnsl.so.1 =&amp;gt; /lib64/libnsl.so.1 (0x0000003e40a00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libm.so.6 =&amp;gt; /lib64/libm.so.6 (0x0000003e3ca00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libc.so.6 =&amp;gt; /lib64/libc.so.6 (0x0000003e3c600000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /lib64/ld-linux-x86-64.so.2 (0x0000003e3c200000)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On the threaded side, similar deal. I actually make a copy of the section (I think I made additions to accomodate my gcc compiler on the linux machine I use):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nthread_linuxamd64 | nthread_linux64)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CC="cc";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CFLAGS="-m64 -g -DSYB_LP64 -D_REENTRANT -Werror -Wall -Wformat=2";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BLKLIB="-lsybblk_r64"; SRVLIB="-lsybsrv_r64"; CTLIB=-lsybct_r64;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMLIBS="-lsybtcl_r64 -lsybcs_r64 -lsybcomn_r64 -lsybintl_r64 -lsybunic64";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SYSLIBS="-Wl,-Bdynamic -ldl -lpthread -lnsl -lm" ;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I create a new section:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nthread_linuxamd64_static | nthread_linux64_static)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CC="cc";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CFLAGS="-m64 -g -DSYB_LP64 -D_REENTRANT -Werror -Wall -Wformat=2 -Wl,-Bstatic";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BLKLIB="-lsybblk_r64"; SRVLIB="-lsybsrv_r64"; CTLIB=-lsybct_r64;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COMLIBS="-lsybtcl_r64 -lsybcs_r64 -lsybcomn_r64 -lsybintl_r64 -lsybunic64";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SYSLIBS="-Wl,-Bdynamic -ldl -lpthread -lnsl -lm" ;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;setenv SYBPLATFORM nthread_linux64_static&lt;/P&gt;&lt;P&gt;make firstapp&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ldd firstapp&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libdl.so.2 =&amp;gt; /lib64/libdl.so.2 (0x0000003e3ce00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libpthread.so.0 =&amp;gt; /lib64/libpthread.so.0 (0x0000003e3d200000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libnsl.so.1 =&amp;gt; /lib64/libnsl.so.1 (0x0000003e40a00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libm.so.6 =&amp;gt; /lib64/libm.so.6 (0x0000003e3ca00000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libc.so.6 =&amp;gt; /lib64/libc.so.6 (0x0000003e3c600000)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /lib64/ld-linux-x86-64.so.2 (0x0000003e3c200000)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't know if it is advantageous to build static other than for deployment reasons, however, if you need to update client library you must rebuild the application to use the new libraries. On dynamic builds an update of client library provides access to the new libraries.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For Windows, I don't think there really is a concept of static libraries since you use DLLs (as Simon points out). You do link to the libsybct.lib, etc in your application project but the application accesses the DLLs during runtime. I don't think we provide a static windows library for client library functions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;-Paul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 May 2013 20:04:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/static-library-for-sybase-ct-library-windows-linux/qaa-p/9394973#M3342345</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-05-06T20:04:51Z</dc:date>
    </item>
    <item>
      <title>Re: Static library for Sybase CT library (Windows, Linux)</title>
      <link>https://community.sap.com/t5/technology-q-a/static-library-for-sybase-ct-library-windows-linux/qaa-p/9394974#M3342346</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Friends&lt;/P&gt;&lt;P&gt;Guidelines provided by you are really great and helpful.&lt;/P&gt;&lt;P&gt;After comparing programming with ODBC and Sybase native (CT) libraries, I understood that native libs would require more configuration than ODBC. Also, I already have ODBC framework incorporated for MSSQL in our application.&lt;/P&gt;&lt;P&gt;I have decided to use ODBC for accessing ASE server. &lt;/P&gt;&lt;P&gt;Many thanks for your guidance.&lt;/P&gt;&lt;P&gt;Best Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 May 2013 02:00:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/static-library-for-sybase-ct-library-windows-linux/qaa-p/9394974#M3342346</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-05-08T02:00:32Z</dc:date>
    </item>
    <item>
      <title>Re: Static library for Sybase CT library (Windows, Linux)</title>
      <link>https://community.sap.com/t5/technology-q-a/static-library-for-sybase-ct-library-windows-linux/qaa-p/9394975#M3342347</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ganesh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sounds good.&amp;nbsp; I know a lot about the ASE ODBC Driver. What sort of application? Customer C/C++ or framework on top of ODBC API?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers,&lt;/P&gt;&lt;P&gt;-Paul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 May 2013 21:35:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/static-library-for-sybase-ct-library-windows-linux/qaa-p/9394975#M3342347</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-05-08T21:35:31Z</dc:date>
    </item>
  </channel>
</rss>

