Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: DBD::Sybase with Sybase 15.0

by mpeppler (Vicar)
on Nov 06, 2007 at 07:26 UTC ( #649160=note: print w/replies, xml ) Need Help??


in reply to DBD::Sybase with Sybase 15.0

The sigset_t declaration was inadvertently left in when 1.08 was released, and the "set" variable isn't used anywhere.

You can comment out line 746 of dbdimp.c and rebuild and things should normally work better.

Michael

Replies are listed 'Best First'.
Re^2: DBD::Sybase with Sybase 15.0
by Anonymous Monk on Nov 08, 2007 at 21:10 UTC
    This still isn't working. Here is what I did: 0) The libraries for 15.0 changed names:
    c:\DBD-Sybase-1.08>ls %SYBASE%\OCS-15_0\lib libsybblk.lib libsybcs.lib libsybct.lib libsybdb.lib c:\DBD-Sybase-1.08>ls %SYBASE%\OCS-15_0\lib3p defaultmem.dll libplc21.dll nsldapssl32v40.dll libnspr21.dll libplds21.dll sbgse2.dll c:\DBD-Sybase-1.08>ls %SYBASE%\OCS-15_0\dll debug libsybdb.dll libsybintl.dll libsybtcl.dll libsybblk.dll libsybddce.dll libsybsdce.dll libsybunic.dll libsybcomn.dll libsybdldap.dll libsybskrb.dll nondebug libsybcs.dll libsybdreg.dll libsybsmssp.dll libsybct.dll libsybfssl.dll libsybsrv.dll
    1) Modified Makefile.PL to remove the references to the libraries that do not exist:
    if($^O eq 'MSWin32') { # $lib_string = "-L$SYBASE/lib -llibct.lib -llibcs.lib -llibtcl.lib + -llibcomn.lib -llibintl.lib -llibblk.lib $attr{EXTRA_LIBS} -lm"; $lib_string = "-L$SYBASE/lib -llibsybct.lib -llibsybcs.lib $attr{E +XTRA_LIBS}";
    Note that some of the previous libraries are now dll's. 2) Run perl Makefile.PL
    Multiple copies of Driver.xst found in: C:/Perl/site/lib/auto/DBI/ C:/ +Perl/lib/auto/DBI/ at Makefile.PL line 64 Using DBI 1.57 (for perl 5.008008 on MSWin32-x86-multi-thread) install +ed in C:/Perl/site/lib/auto/DBI/ Writing Makefile for DBD::Sybase
    3) Now run nmake: This is just the last bit....
    dbdimp.c(5634) : warning C4996: 'strtok' was declared deprecated C:\msvs8\VC\INCLUDE\string.h(164) : see declaration of 'strtok' Message: 'This function or variable may be unsafe. Consider us +ing strtok _s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See +online hel p for details.' dbdimp.c(5637) : warning C4996: 'strncpy' was declared deprecated C:\msvs8\VC\INCLUDE\string.h(156) : see declaration of 'strncp +y' Message: 'This function or variable may be unsafe. Consider us +ing strncp y_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See + online he lp for details.' Running Mkbootstrap for DBD::Sybase () C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 Sybase.b +s link -out:blib\arch\auto\DBD\Sybase\Sybase.dll -LC:\sybase70/O +CS-15_0/li b -dll -nologo -nodefaultlib -debug -opt:ref,icf -libpath:"C:\Perl\li +b\CORE" - machine:x86 Sybase.obj dbdimp.obj C:\Perl\lib\CORE\perl58.lib C:\sy +base70\OCS -15_0\lib\libsybct.lib C:\sybase70\OCS-15_0\lib\libsybcs.lib C:\msvs8\ +VC\LIB\old names.lib C:\msvs8\VC\LIB\kernel32.lib C:\mssdk\Lib\user32.lib C:\mssd +k\Lib\gdi3 2.lib C:\mssdk\Lib\winspool.lib C:\mssdk\Lib\comdlg32.lib C:\mssdk\Lib +\advapi32. lib C:\mssdk\Lib\shell32.lib C:\mssdk\Lib\ole32.lib C:\mssdk\Lib\oleau +t32.lib C: \mssdk\Lib\netapi32.lib C:\mssdk\Lib\uuid.lib C:\mssdk\Lib\ws2_32.lib +C:\mssdk\L ib\mpr.lib C:\mssdk\Lib\winmm.lib C:\mssdk\Lib\version.lib C:\mssdk\Li +b\odbc32.l ib C:\mssdk\Lib\odbccp32.lib C:\msvs8\VC\LIB\msvcrt.lib -def:Sybase.de +f LINK : warning LNK4044: unrecognized option '/LC:\sybase70/OCS-15_0/li +b'; ignore d Creating library blib\arch\auto\DBD\Sybase\Sybase.lib and object bl +ib\arch\au to\DBD\Sybase\Sybase.exp dbdimp.obj : error LNK2019: unresolved external symbol _blk_done@12 re +ferenced i n function _syb_blk_done dbdimp.obj : error LNK2019: unresolved external symbol _blk_rowxfer@4 +referenced in function _syb_blk_execute dbdimp.obj : error LNK2019: unresolved external symbol _blk_bind@24 re +ferenced i n function _syb_blk_execute dbdimp.obj : error LNK2019: unresolved external symbol _blk_drop@4 ref +erenced in function _blkCleanUp dbdimp.obj : error LNK2019: unresolved external symbol _blk_describe@1 +2 referenc ed in function _syb_blk_init dbdimp.obj : error LNK2019: unresolved external symbol _blk_init@16 re +ferenced i n function _syb_blk_init dbdimp.obj : error LNK2019: unresolved external symbol _blk_props@24 r +eferenced in function _syb_blk_init dbdimp.obj : error LNK2019: unresolved external symbol _blk_alloc@12 r +eferenced in function _syb_blk_init blib\arch\auto\DBD\Sybase\Sybase.dll : fatal error LNK1120: 8 unresolv +ed externa ls NMAKE : fatal error U1077: 'C:\msvs8\VC\BIN\link.EXE' : return code '0 +x460' Stop.
    I have been through the archives at http://www.peppler.org/cgi-bin/searcharc.cgi. I do not find any reference to anyone compiling this for Sybase 15 on Windows. The ppd module located at http://www.peppler.org/downloads/ActiveState/ still is looking for the libraries pre-Sybase 15.0. I did comment out the set line in dbimp.c. So, I'm guessing I'm not changing the library line correctly? Is there something else I need to do? Thank you
      You need to add -lsybblk.lib to that $lib_string line.

      Michael

        So close, yet so far ..... I actually get the program to compile, just doesn't work.
        Can't load 'C:/Perl/site/lib/auto/DBD/Sybase/Sybase.dll' for module DB +D::Sybase: load_file:A dynamic link library (DLL) initialization routine failed +at /<C:\Pr
        Here's where I'm at: 1) Make the library changes as noted above (thank you, that was a duh moment on my part) 2) ran nmake:
        bdimp.c(5637) : warning C4996: 'strncpy' was declared deprecated C:\msvs8\VC\INCLUDE\string.h(156) : see declaration of 'strncp +y' Message: 'This function or variable may be unsafe. Consider us +ing strncp y_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See + online he lp for details.' Running Mkbootstrap for DBD::Sybase () C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 Sybase.b +s C:\Perl\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists('N +AME'=>\"DB D::Sybase\", 'DLBASE' => 'Sybase', 'DL_FUNCS' => { }, 'FUNCLIST' => [ +], 'IMPORT S' => { }, 'DL_VARS' => []);" link -out:blib\arch\auto\DBD\Sybase\Sybase.dll -LC:\sybase70/O +CS-15_0/li b -dll -nologo -nodefaultlib -debug -opt:ref,icf -libpath:"C:\Perl\li +b\CORE" - machine:x86 Sybase.obj dbdimp.obj C:\Perl\lib\CORE\perl58.lib C:\sy +base70\OCS -15_0\lib\libsybct.lib C:\sybase70\OCS-15_0\lib\libsybcs.lib C:\sybase +70\OCS-15_ 0\lib\libsybblk.lib C:\msvs8\VC\LIB\oldnames.lib C:\msvs8\VC\LIB\kerne +l32.lib C: \mssdk\Lib\user32.lib C:\mssdk\Lib\gdi32.lib C:\mssdk\Lib\winspool.lib + C:\mssdk\ Lib\comdlg32.lib C:\mssdk\Lib\advapi32.lib C:\mssdk\Lib\shell32.lib C: +\mssdk\Lib \ole32.lib C:\mssdk\Lib\oleaut32.lib C:\mssdk\Lib\netapi32.lib C:\mssd +k\Lib\uuid .lib C:\mssdk\Lib\ws2_32.lib C:\mssdk\Lib\mpr.lib C:\mssdk\Lib\winmm.l +ib C:\mssd k\Lib\version.lib C:\mssdk\Lib\odbc32.lib C:\mssdk\Lib\odbccp32.lib C: +\msvs8\VC\ LIB\msvcrt.lib -def:Sybase.def LINK : warning LNK4044: unrecognized option '/LC:\sybase70/OCS-15_0/li +b'; ignore d Creating library blib\arch\auto\DBD\Sybase\Sybase.lib and object bl +ib\arch\auto\DBD\Sybase\Sybase.exp C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 755 blib\arc +h\auto\DBD\Sybase\Sybase.dll C:\Perl\bin\perl.exe -MExtUtils::Command -e cp Sybase.bs blib\ +arch\auto\DBD\Sybase\Sybase.bs C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 blib\arc +h\auto\DBD\Sybase\Sybase.bs
        The only error I really see is the unrecognized option '/LC:....' error. In the makefile, this is what I see:
        LDDLFLAGS = -LC:\sybase70/OCS-15_0/lib -dll -nologo -nodefaultlib -deb +ug -opt:ref,icf -libpath:"C:\Perl\lib\CORE" -machine:x86

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://649160]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2020-12-06 00:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    How often do you use taint mode?





    Results (65 votes). Check out past polls.

    Notices?