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
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.