sbouli has asked for the wisdom of the Perl Monks concerning the following question:

Hi,
I try to use the DBI::Sybase connexion, it work on the linux ubuntu production computer but my developpement computer is a windows one with strawberry, and when I try to install

>cpan DBI::Sybase

I got :

Please set SYBASE in CONFIG, or set the $SYBASE environment variable at Makefile.PL line 104, <IN> line 44.


I was about to download the sybase evaluation of 'Adaptive Server Enterprise 15.5' but it's a 600Mo download, so I think I am going the wrong way ....
Can you drive me back in the correct direction ?

Stéphane

Replies are listed 'Best First'.
Re: sybase librairie on windows
by zwon (Abbot) on Jul 19, 2010 at 16:43 UTC

    I suggest you to start with reading README file from the DBD::Sybase distribution. You need Sybase OpenClient libraries or FreeTDS in order to build DBD::Sybase.

Re: sybase librairie on windows
by Corion (Patriarch) on Jul 19, 2010 at 16:43 UTC

    To use Sybase from Perl, you will need to install the Sybase client libraries. I don't know in what package they come, but you will find them on the Sybase website.

      Hi
      I did install the sybase full download and now it start working, but I still got a compilation failure :

      C:\strawberry\cpan\build\DBD-Sybase-1.10-uSmGdz>perl Makefile.PL Unknown Client Library version - assuming FreeTDS. By default DBD::Sybase 1.05 and later use the 'CHAINED' mode (where av +ailable) when 'AutoCommit' is turned off. Versions 1.04 and older instead manag +ed the transactions explicitly with a 'BEGIN TRAN' before the first DML statement. Using the 'CHAINED' mode is preferable as it is the way tha +t Sybase implements AutoCommit handling for both its ODBC and JDBC drive +rs. Use 'CHAINED' mode by default (Y/N) [Y]: The DBD::Sybase module need access to a Sybase server to run the tests +. To clear an entry please enter 'undef' Sybase server to use (default: SYBASE): undef User ID to log in to Sybase (default: sa): Password (default: undef): Sybase database to use on undef (default: undef): * Writing login information, including password, to file PWD. Note (probably harmless): No library found for -llibct.lib Note (probably harmless): No library found for -llibcs.lib Note (probably harmless): No library found for -llibtcl.lib Note (probably harmless): No library found for -llibcomn.lib Note (probably harmless): No library found for -llibintl.lib Note (probably harmless): No library found for -llibblk.lib Using DBI 1.609 (for perl 5.012000 on MSWin32-x86-multi-thread) instal +led in C:/strawberry/perl/vendor/lib/auto/DBI/ Writing Makefile for DBD::Sybase C:\strawberry\cpan\build\DBD-Sybase-1.10-uSmGdz>dmake Skip blib\lib\DBD\dbd-sybase.pod (unchanged) Skip blib\lib\DBD\Sybase.pm (unchanged) gcc -c -IC:\Sybase/OCS-15_0/include -IC:/strawberry/perl/vendor/lib/a +uto/DBI -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL +_IMPLICIT_CONTEXT -DP ERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_REA +DFIX -s -O2 -DVERSION=\"1.10\" -DXS_VERSION=\"1.10\" "-IC +:\strawberry\perl\lib \CORE" Sybase.c gcc -c -IC:\Sybase/OCS-15_0/include -IC:/strawberry/perl/vendor/lib/a +uto/DBI -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL +_IMPLICIT_CONTEXT -DP ERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -DPERL_MSVCRT_REA +DFIX -s -O2 -DVERSION=\"1.10\" -DXS_VERSION=\"1.10\" "-IC +:\strawberry\perl\lib \CORE" dbdimp.c Running Mkbootstrap for DBD::Sybase () C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 +Sybase.bs dlltool --def Sybase.def --output-exp dll.exp g++ -o blib\arch\auto\DBD\Sybase\Sybase.dll -Wl,--base-file -Wl,dll.ba +se -LC:\Sybase/OCS-15_0/lib -mdll -s -L"C:\strawberry\perl\lib\CORE" +-L"C:\strawberry\c\li b" Sybase.o dbdimp.o -Wl,--image-base,0x201c0000 C:\strawberry\pe +rl\lib\CORE\libperl512.a C:\strawberry\c\i686-w64-mingw32\lib\libm.a +C:\strawberry\c\i686- w64-mingw32\lib\libmoldname.a C:\strawberry\c\i686-w64-mingw32\lib\lib +kernel32.a C:\strawberry\c\i686-w64-mingw32\lib\libuser32.a C:\strawb +erry\c\i686-w64-mingw 32\lib\libgdi32.a C:\strawberry\c\i686-w64-mingw32\lib\libwinspool.a C +:\strawberry\c\i686-w64-mingw32\lib\libcomdlg32.a C:\strawberry\c\i68 +6-w64-mingw32\lib\lib advapi32.a C:\strawberry\c\i686-w64-mingw32\lib\libshell32.a C:\strawb +erry\c\i686-w64-mingw32\lib\libole32.a C:\strawberry\c\i686-w64-mingw +32\lib\liboleaut32.a C:\strawberry\c\i686-w64-mingw32\lib\libnetapi32.a C:\strawberry\c\i68 +6-w64-mingw32\lib\libuuid.a C:\strawberry\c\i686-w64-mingw32\lib\libw +s2_32.a C:\strawberry \c\i686-w64-mingw32\lib\libmpr.a C:\strawberry\c\i686-w64-mingw32\lib\ +libwinmm.a C:\strawberry\c\i686-w64-mingw32\lib\libversion.a C:\straw +berry\c\i686-w64-ming w32\lib\libodbc32.a C:\strawberry\c\i686-w64-mingw32\lib\libodbccp32.a + C:\strawberry\c\i686-w64-mingw32\lib\libcomctl32.a dll.exp dbdimp.o:dbdimp.c:(.text+0xd1e): undefined reference to `ct_data_info' dbdimp.o:dbdimp.c:(.text+0xdce): undefined reference to `ct_data_info' dbdimp.o:dbdimp.c:(.text+0xfa9): undefined reference to `ct_send_data' dbdimp.o:dbdimp.c:(.text+0xfd9): undefined reference to `ct_send' dbdimp.o:dbdimp.c:(.text+0x1034): undefined reference to `ct_results' dbdimp.o:dbdimp.c:(.text+0x108e): undefined reference to `ct_describe' dbdimp.o:dbdimp.c:(.text+0x10de): undefined reference to `ct_bind' dbdimp.o:dbdimp.c:(.text+0x1111): undefined reference to `ct_fetch' dbdimp.o:dbdimp.c:(.text+0x1131): undefined reference to `ct_cancel' dbdimp.o:dbdimp.c:(.text+0x1210): undefined reference to `ct_command' dbdimp.o:dbdimp.c:(.text+0x12a6): undefined reference to `ct_get_data' dbdimp.o:dbdimp.c:(.text+0x1456): undefined reference to `ct_cancel' dbdimp.o:dbdimp.c:(.text+0x146a): undefined reference to `ct_close' dbdimp.o:dbdimp.c:(.text+0x14e0): undefined reference to `blk_done' dbdimp.o:dbdimp.c:(.text+0x1633): undefined reference to `blk_drop' dbdimp.o:dbdimp.c:(.text+0x170e): undefined reference to `cs_diag' dbdimp.o:dbdimp.c:(.text+0x180d): undefined reference to `blk_bind' dbdimp.o:dbdimp.c:(.text+0x1a99): undefined reference to `cs_convert' dbdimp.o:dbdimp.c:(.text+0x1bd9): undefined reference to `cs_diag' dbdimp.o:dbdimp.c:(.text+0x1cfb): undefined reference to `cs_diag' dbdimp.o:dbdimp.c:(.text+0x1d2e): undefined reference to `blk_rowxfer' dbdimp.o:dbdimp.c:(.text+0x24dd): undefined reference to `ct_config' dbdimp.o:dbdimp.c:(.text+0x260d): undefined reference to `cs_dt_info' dbdimp.o:dbdimp.c:(.text+0x2dd1): undefined reference to `cs_ctx_alloc +' dbdimp.o:dbdimp.c:(.text+0x2dee): undefined reference to `cs_ctx_alloc +' dbdimp.o:dbdimp.c:(.text+0x2e07): undefined reference to `cs_ctx_alloc +' dbdimp.o:dbdimp.c:(.text+0x2e20): undefined reference to `cs_ctx_alloc +' dbdimp.o:dbdimp.c:(.text+0x2e39): undefined reference to `cs_ctx_alloc +' dbdimp.o:dbdimp.c:(.text+0x2e52): more undefined references to `cs_ctx +_alloc' follow dbdimp.o:dbdimp.c:(.text+0x2e92): undefined reference to `cs_diag' dbdimp.o:dbdimp.c:(.text+0x2ed7): undefined reference to `cs_config' dbdimp.o:dbdimp.c:(.text+0x2eec): undefined reference to `ct_init' dbdimp.o:dbdimp.c:(.text+0x2f22): undefined reference to `ct_callback' dbdimp.o:dbdimp.c:(.text+0x2f58): undefined reference to `ct_callback' dbdimp.o:dbdimp.c:(.text+0x2f95): undefined reference to `ct_config' dbdimp.o:dbdimp.c:(.text+0x2fd4): undefined reference to `ct_config' dbdimp.o:dbdimp.c:(.text+0x30f1): undefined reference to `cs_loc_alloc +' dbdimp.o:dbdimp.c:(.text+0x314b): undefined reference to `cs_locale' dbdimp.o:dbdimp.c:(.text+0x32aa): undefined reference to `cs_dt_info' dbdimp.o:dbdimp.c:(.text+0x32f6): undefined reference to `cs_config' dbdimp.o:dbdimp.c:(.text+0x3340): undefined reference to `cs_ctx_drop' dbdimp.o:dbdimp.c:(.text+0x33c2): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x419a): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x4328): undefined reference to `ct_res_info' dbdimp.o:dbdimp.c:(.text+0x441b): undefined reference to `ct_describe' dbdimp.o:dbdimp.c:(.text+0x4481): undefined reference to `ct_bind' dbdimp.o:dbdimp.c:(.text+0x46f1): undefined reference to `ct_fetch' dbdimp.o:dbdimp.c:(.text+0x48d0): undefined reference to `ct_close' dbdimp.o:dbdimp.c:(.text+0x4c26): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x5529): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x5944): undefined reference to `ct_cancel' dbdimp.o:dbdimp.c:(.text+0x59b9): undefined reference to `ct_options' dbdimp.o:dbdimp.c:(.text+0x5c3e): undefined reference to `cs_dt_info' dbdimp.o:dbdimp.c:(.text+0x640b): undefined reference to `ct_capabilit +y' dbdimp.o:dbdimp.c:(.text+0x66fb): undefined reference to `ct_cmd_alloc +' dbdimp.o:dbdimp.c:(.text+0x67d1): undefined reference to `ct_config' dbdimp.o:dbdimp.c:(.text+0x683d): undefined reference to `cs_loc_alloc +' dbdimp.o:dbdimp.c:(.text+0x6888): undefined reference to `cs_locale' dbdimp.o:dbdimp.c:(.text+0x68f8): undefined reference to `cs_locale' dbdimp.o:dbdimp.c:(.text+0x694a): undefined reference to `cs_dt_info' dbdimp.o:dbdimp.c:(.text+0x6986): undefined reference to `ct_con_alloc +' dbdimp.o:dbdimp.c:(.text+0x69cb): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x6a09): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x6abb): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x6b5a): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x6bac): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x6c1f): undefined reference to `ct_connect' dbdimp.o:dbdimp.c:(.text+0x6cd1): undefined reference to `ct_command' dbdimp.o:dbdimp.c:(.text+0x6ce2): undefined reference to `ct_send' dbdimp.o:dbdimp.c:(.text+0x6d21): undefined reference to `ct_results' dbdimp.o:dbdimp.c:(.text+0x6e20): undefined reference to `ct_config' dbdimp.o:dbdimp.c:(.text+0x6e87): undefined reference to `cs_locale' dbdimp.o:dbdimp.c:(.text+0x6ee9): undefined reference to `ct_config' dbdimp.o:dbdimp.c:(.text+0x6f5f): undefined reference to `ct_config' dbdimp.o:dbdimp.c:(.text+0x6fdd): undefined reference to `ct_config' dbdimp.o:dbdimp.c:(.text+0x7042): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x7085): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x70d8): undefined reference to `ct_config' dbdimp.o:dbdimp.c:(.text+0x7210): undefined reference to `ct_options' dbdimp.o:dbdimp.c:(.text+0x72f5): undefined reference to `ct_cmd_drop' dbdimp.o:dbdimp.c:(.text+0x732f): undefined reference to `ct_close' dbdimp.o:dbdimp.c:(.text+0x733a): undefined reference to `ct_con_drop' dbdimp.o:dbdimp.c:(.text+0x73b2): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x7425): undefined reference to `ct_config' dbdimp.o:dbdimp.c:(.text+0x75c0): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x7627): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x7693): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x76e1): undefined reference to `ct_options' dbdimp.o:dbdimp.c:(.text+0x7735): undefined reference to `ct_options' dbdimp.o:dbdimp.c:(.text+0x77c3): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x7815): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x7865): undefined reference to `ct_con_props +' dbdimp.o:dbdimp.c:(.text+0x7af8): undefined reference to `ct_command' dbdimp.o:dbdimp.c:(.text+0x7b05): undefined reference to `ct_cmd_drop' dbdimp.o:dbdimp.c:(.text+0x7b17): undefined reference to `ct_send' dbdimp.o:dbdimp.c:(.text+0x7b37): undefined reference to `ct_results' dbdimp.o:dbdimp.c:(.text+0x7c07): undefined reference to `ct_cmd_drop' dbdimp.o:dbdimp.c:(.text+0x7d80): undefined reference to `ct_command' dbdimp.o:dbdimp.c:(.text+0x7df4): undefined reference to `ct_send' dbdimp.o:dbdimp.c:(.text+0x7e31): undefined reference to `ct_results' dbdimp.o:dbdimp.c:(.text+0x7e94): undefined reference to `ct_cmd_drop' dbdimp.o:dbdimp.c:(.text+0x7f24): undefined reference to `ct_close' dbdimp.o:dbdimp.c:(.text+0x7f57): undefined reference to `cs_loc_drop' dbdimp.o:dbdimp.c:(.text+0x7f7d): undefined reference to `ct_con_drop' dbdimp.o:dbdimp.c:(.text+0x814f): undefined reference to `ct_command' dbdimp.o:dbdimp.c:(.text+0x81c4): undefined reference to `ct_send' dbdimp.o:dbdimp.c:(.text+0x8201): undefined reference to `ct_results' dbdimp.o:dbdimp.c:(.text+0x8264): undefined reference to `ct_cmd_drop' dbdimp.o:dbdimp.c:(.text+0x85d2): undefined reference to `ct_cmd_drop' dbdimp.o:dbdimp.c:(.text+0x8624): undefined reference to `ct_close' dbdimp.o:dbdimp.c:(.text+0x863f): undefined reference to `ct_con_drop' dbdimp.o:dbdimp.c:(.text+0x8768): undefined reference to `ct_dynamic' dbdimp.o:dbdimp.c:(.text+0x8864): undefined reference to `ct_send' dbdimp.o:dbdimp.c:(.text+0x88ab): undefined reference to `ct_results' dbdimp.o:dbdimp.c:(.text+0x8b06): undefined reference to `blk_alloc' dbdimp.o:dbdimp.c:(.text+0x8b79): undefined reference to `blk_props' dbdimp.o:dbdimp.c:(.text+0x8bd8): undefined reference to `blk_init' dbdimp.o:dbdimp.c:(.text+0x8d53): undefined reference to `blk_describe +' dbdimp.o:dbdimp.c:(.text+0xa434): undefined reference to `ct_capabilit +y' dbdimp.o:dbdimp.c:(.text+0xa4d3): undefined reference to `ct_dynamic' dbdimp.o:dbdimp.c:(.text+0xa4fa): undefined reference to `ct_send' dbdimp.o:dbdimp.c:(.text+0xa531): undefined reference to `ct_results' dbdimp.o:dbdimp.c:(.text+0xa60d): undefined reference to `ct_command' dbdimp.o:dbdimp.c:(.text+0xa7e8): undefined reference to `ct_dynamic' dbdimp.o:dbdimp.c:(.text+0xa808): undefined reference to `ct_send' dbdimp.o:dbdimp.c:(.text+0xa85a): undefined reference to `ct_results' dbdimp.o:dbdimp.c:(.text+0xa8bb): undefined reference to `ct_res_info' dbdimp.o:dbdimp.c:(.text+0xa9a8): undefined reference to `ct_describe' dbdimp.o:dbdimp.c:(.text+0xaa42): undefined reference to `ct_dynamic' dbdimp.o:dbdimp.c:(.text+0xaaf5): undefined reference to `ct_send' dbdimp.o:dbdimp.c:(.text+0xab43): undefined reference to `ct_results' dbdimp.o:dbdimp.c:(.text+0xab8f): undefined reference to `ct_cmd_drop' dbdimp.o:dbdimp.c:(.text+0xaca2): undefined reference to `ct_command' dbdimp.o:dbdimp.c:(.text+0xacb9): undefined reference to `ct_send' dbdimp.o:dbdimp.c:(.text+0xad04): undefined reference to `ct_results' dbdimp.o:dbdimp.c:(.text+0xad5b): undefined reference to `ct_describe' dbdimp.o:dbdimp.c:(.text+0xada1): undefined reference to `ct_bind' dbdimp.o:dbdimp.c:(.text+0xae87): undefined reference to `ct_fetch' dbdimp.o:dbdimp.c:(.text+0xaf8a): undefined reference to `ct_cmd_drop' dbdimp.o:dbdimp.c:(.text+0xb968): undefined reference to `ct_param' dbdimp.o:dbdimp.c:(.text+0xbb31): undefined reference to `ct_dynamic' dbdimp.o:dbdimp.c:(.text+0xbbf4): undefined reference to `ct_command' dbdimp.o:dbdimp.c:(.text+0xbdbc): undefined reference to `cs_convert' dbdimp.o:dbdimp.c:(.text+0xbf87): undefined reference to `cs_convert' dbdimp.o:dbdimp.c:(.text+0xc3d8): undefined reference to `ct_fetch' dbdimp.o:dbdimp.c:(.text+0xc4b6): undefined reference to `ct_cancel' dbdimp.o:dbdimp.c:(.text+0xc4d9): undefined reference to `ct_close' dbdimp.o:dbdimp.c:(.text+0xc98f): undefined reference to `cs_dt_crack' dbdimp.o:dbdimp.c:(.text+0xcdb5): undefined reference to `cs_convert' dbdimp.o:dbdimp.c:(.text+0xd14f): undefined reference to `ct_cancel' dbdimp.o:dbdimp.c:(.text+0xd16a): undefined reference to `ct_close' dbdimp.o:dbdimp.c:(.text+0xd67e): undefined reference to `ct_results' dbdimp.o:dbdimp.c:(.text+0xd6e9): undefined reference to `ct_res_info' dbdimp.o:dbdimp.c:(.text+0xd755): undefined reference to `ct_res_info' dbdimp.o:dbdimp.c:(.text+0xd7de): undefined reference to `ct_fetch' dbdimp.o:dbdimp.c:(.text+0xd843): undefined reference to `ct_fetch' dbdimp.o:dbdimp.c:(.text+0xdacb): undefined reference to `ct_bind' dbdimp.o:dbdimp.c:(.text+0xdb44): undefined reference to `ct_describe' dbdimp.o:dbdimp.c:(.text+0xdc3f): undefined reference to `ct_bind' dbdimp.o:dbdimp.c:(.text+0xdcc5): undefined reference to `ct_bind' dbdimp.o:dbdimp.c:(.text+0xdd2f): undefined reference to `ct_bind' dbdimp.o:dbdimp.c:(.text+0xde72): undefined reference to `ct_compute_i +nfo' dbdimp.o:dbdimp.c:(.text+0xdec7): undefined reference to `ct_compute_i +nfo' dbdimp.o:dbdimp.c:(.text+0xe505): undefined reference to `ct_compute_i +nfo' dbdimp.o:dbdimp.c:(.text+0xe6be): undefined reference to `ct_command' dbdimp.o:dbdimp.c:(.text+0xe6db): undefined reference to `ct_send' collect2: ld returned 1 exit status dmake: Error code 129, while making 'blib\arch\auto\DBD\Sybase\Sybase +.dll' C:\strawberry\cpan\build\DBD-Sybase-1.10-uSmGdz>

      I probably missed something again ...

      Thanks for you help

      Stephane
Re: sybase librairie on windows
by Anonymous Monk on Feb 03, 2016 at 14:04 UTC
    1. Download and install FreeTDS Windows package.
    2. Launch CPAN shell and type 'install DBD::Sybase'.
    3. You will get an error. Close CPAN shell.
    4. Open command prompt and go to Strawberry root directory and then to cpan\build\DBD-Sybase-1.15-xxxxx. For example: 'cd c:\strawberry\cpan\build\DBD-Sybase-1.15-2Rg2y7'.
    5. Set SYBASE variable to your FreeTDS installation directory. For example, if FreeTDS is installed into 'c:\freetds', type 'set SYBASE=c:\freetds'.
    6. Open Makefile.PL in editor, comment out following lines:
      if ($^O =~ /win/i) { @libdir = ( 'dll' ); } <//c> </li><li>Replace line: <c> "-L$SYBASE/lib -llibct.lib -llibcs.lib -llibtcl.lib -llibcomn.lib -lli +bintl.lib -llibblk.lib $attr{EXTRA_LIBS} -lm";
      with:
      "-L$SYBASE/lib -llibct.a -llibeay32.a -lssleay32.a $attr{EXTRA_LIBS} - +lm";
    7. Close Makefile.PL.
    8. Run 'dmake'.
    9. Run 'dmake install'.