Windows2000 DBD::Oracle link problem
by Brad Howerter other posts by this author
Oct 19 2000 4:03PM messages near this date
RE: cross platform code (DBI newbie)
|
RE: Oracle database usergroup or mailing list reqd.
I can't link DBD::Oracle in windows 2000. I'll include the information
asked for in the README.
Some possibly pertinent info:
I'd already installed ActiveState's perl, but I don't think it's
conflicting.
I had to change my OCI directory name from oci to oci80. This is Oracle
8.1.5.
I also tried linking STATIC, but that failed in a different way.
Any help you can give me would be greatly appreciated.
**********************************************************************
C:\bperl\DBD-Oracle-1.06> perl makefile.pl -v
Multiple copies of Driver.xst found in:
c:/Perl/site/5.6.0/lib/MSWin32-x86/auto/
DBI c:/Perl/site/lib/auto/DBI at makefile.pl line 37
Using DBI 1.14 installed in c:/Perl/site/5.6.0/lib/MSWin32-x86/auto/DBI
Configuring DBD::Oracle ...
> >> Remember to actually *READ* the README file!
Especially if you have any problems.
Using Oracle in C:/ORANT
Found OCI80 directory
Using OCI directory 'OCI80'
Found OCI80/lib/MSVC/OCI.LIB library
Found OCI80/lib/MSVC/OCIW32.LIB library
Using OCI80/lib/MSVC/OCI.lib
System: perl5.006
Compiler: cl -Od -MD -DNDEBUG -Od -MD -DNDEBUG -DWIN32 -D_CONSOLE
-DNO_STRICT
-DPERL_MSVCRT_READFIX
Linker: <ld not found>
MakeMaker (v5.45)
Checking if your kit is complete...
Looks good
ABSTRACT_FROM => q[Oracle.pm]
AUTHOR => q[Tim Bunce (dbi-users@isc.org)]
DEFINE => q[]
DIR => []
EXE_FILES => [q[ora_explain]]
INC => q[-IC:/ORANT/OCI80/include -IC:/ORANT/rdbms/demo
-Ic:/Perl/site/5
.6.0/lib/MSWin32-x86/auto/DBI]
LIBS => [q[-LC:/ORANT/OCI80/LIB/MSVC OCI]]
NAME => q[DBD::Oracle]
OBJECT => q[$(O_FILES)]
PREREQ_PM => { DBI=>q[0] }
VERSION_FROM => q[Oracle.pm]
clean => { FILES=>q[Oracle.xsi dll.base dll.exp sqlnet.log
libOracle.def
ora_explain] }
dist => { DIST_DEFAULT=>q[clean distcheck disttest ci tardist],
PREOP=> q
[$(MAKE) -f Makefile.old distdir], COMPRESS=> q[gzip -v9], SUFFIX=>q[gz] }
Using PERL=C:\Perl\5.6.0\bin\MSWin32-x86\perl.exe
Potential libraries are '-LC:/ORANT/OCI80/LIB/MSVC OCI oldnames.lib
kernel32.l
ib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib
ole3
2.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib
version
.lib odbc32.lib odbccp32.lib msvcrt.lib':
'OCI' found as 'C:/ORANT/OCI80/LIB/MSVC\OCI.lib'
'oldnames.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\oldnames.lib'
'oldnames.lib' not found as '/lib\oldnames.lib'
'oldnames.lib' not found as
'c:\perl\5.6.0\lib\MSWin32-x86/CORE\oldnames.lib'
Note (probably harmless): No library found for 'oldnames.lib'
'kernel32.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\kernel32.lib'
'kernel32.lib' not found as '/lib\kernel32.lib'
'kernel32.lib' not found as
'c:\perl\5.6.0\lib\MSWin32-x86/CORE\kernel32.lib'
Note (probably harmless): No library found for 'kernel32.lib'
'user32.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\user32.lib'
'user32.lib' not found as '/lib\user32.lib'
'user32.lib' not found as 'c:\perl\5.6.0\lib\MSWin32-x86/CORE\user32.lib'
Note (probably harmless): No library found for 'user32.lib'
'gdi32.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\gdi32.lib'
'gdi32.lib' not found as '/lib\gdi32.lib'
'gdi32.lib' not found as 'c:\perl\5.6.0\lib\MSWin32-x86/CORE\gdi32.lib'
Note (probably harmless): No library found for 'gdi32.lib'
'winspool.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\winspool.lib'
'winspool.lib' not found as '/lib\winspool.lib'
'winspool.lib' not found as
'c:\perl\5.6.0\lib\MSWin32-x86/CORE\winspool.lib'
Note (probably harmless): No library found for 'winspool.lib'
'comdlg32.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\comdlg32.lib'
'comdlg32.lib' not found as '/lib\comdlg32.lib'
'comdlg32.lib' not found as
'c:\perl\5.6.0\lib\MSWin32-x86/CORE\comdlg32.lib'
Note (probably harmless): No library found for 'comdlg32.lib'
'advapi32.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\advapi32.lib'
'advapi32.lib' not found as '/lib\advapi32.lib'
'advapi32.lib' not found as
'c:\perl\5.6.0\lib\MSWin32-x86/CORE\advapi32.lib'
Note (probably harmless): No library found for 'advapi32.lib'
'shell32.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\shell32.lib'
'shell32.lib' not found as '/lib\shell32.lib'
'shell32.lib' not found as 'c:\perl\5.6.0\lib\MSWin32-x86/CORE\shell32.lib'
Note (probably harmless): No library found for 'shell32.lib'
'ole32.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\ole32.lib'
'ole32.lib' not found as '/lib\ole32.lib'
'ole32.lib' not found as 'c:\perl\5.6.0\lib\MSWin32-x86/CORE\ole32.lib'
Note (probably harmless): No library found for 'ole32.lib'
'oleaut32.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\oleaut32.lib'
'oleaut32.lib' not found as '/lib\oleaut32.lib'
'oleaut32.lib' not found as
'c:\perl\5.6.0\lib\MSWin32-x86/CORE\oleaut32.lib'
Note (probably harmless): No library found for 'oleaut32.lib'
'netapi32.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\netapi32.lib'
'netapi32.lib' not found as '/lib\netapi32.lib'
'netapi32.lib' not found as
'c:\perl\5.6.0\lib\MSWin32-x86/CORE\netapi32.lib'
Note (probably harmless): No library found for 'netapi32.lib'
'uuid.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\uuid.lib'
'uuid.lib' not found as '/lib\uuid.lib'
'uuid.lib' not found as 'c:\perl\5.6.0\lib\MSWin32-x86/CORE\uuid.lib'
Note (probably harmless): No library found for 'uuid.lib'
'wsock32.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\wsock32.lib'
'wsock32.lib' not found as '/lib\wsock32.lib'
'wsock32.lib' not found as 'c:\perl\5.6.0\lib\MSWin32-x86/CORE\wsock32.lib'
Note (probably harmless): No library found for 'wsock32.lib'
'mpr.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\mpr.lib'
'mpr.lib' not found as '/lib\mpr.lib'
'mpr.lib' not found as 'c:\perl\5.6.0\lib\MSWin32-x86/CORE\mpr.lib'
Note (probably harmless): No library found for 'mpr.lib'
'winmm.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\winmm.lib'
'winmm.lib' not found as '/lib\winmm.lib'
'winmm.lib' not found as 'c:\perl\5.6.0\lib\MSWin32-x86/CORE\winmm.lib'
Note (probably harmless): No library found for 'winmm.lib'
'version.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\version.lib'
'version.lib' not found as '/lib\version.lib'
'version.lib' not found as 'c:\perl\5.6.0\lib\MSWin32-x86/CORE\version.lib'
Note (probably harmless): No library found for 'version.lib'
'odbc32.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\odbc32.lib'
'odbc32.lib' not found as '/lib\odbc32.lib'
'odbc32.lib' not found as 'c:\perl\5.6.0\lib\MSWin32-x86/CORE\odbc32.lib'
Note (probably harmless): No library found for 'odbc32.lib'
'odbccp32.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\odbccp32.lib'
'odbccp32.lib' not found as '/lib\odbccp32.lib'
'odbccp32.lib' not found as
'c:\perl\5.6.0\lib\MSWin32-x86/CORE\odbccp32.lib'
Note (probably harmless): No library found for 'odbccp32.lib'
'msvcrt.lib' not found as 'C:/ORANT/OCI80/LIB/MSVC\msvcrt.lib'
'msvcrt.lib' not found as '/lib\msvcrt.lib'
'msvcrt.lib' not found as 'c:\perl\5.6.0\lib\MSWin32-x86/CORE\msvcrt.lib'
Note (probably harmless): No library found for 'msvcrt.lib'
Result: C:\ORANT\OCI80\LIB\MSVC\OCI.lib
Warning: By default new modules are installed into your 'site_lib'
directories. Since site_lib directories come after the normal library
directories you must delete any old DBD::Oracle files and directories from
your 'privlib' and 'archlib' directories and their auto subdirectories.
Using DBD::Oracle 1.06.
Multiple copies of Driver.xst found in:
c:/Perl/site/5.6.0/lib/MSWin32-x86/auto/
DBI c:/Perl/site/lib/auto/DBI at makefile.pl line 600
Using DBI 1.14 installed in c:/Perl/site/5.6.0/lib/MSWin32-x86/auto/DBI
Writing Makefile for DBD::Oracle
*** If you have problems, read the README and README.help files ***
(Of course, you have read README by now anyway, haven't you?)
C:\bperl\DBD-Oracle-1.06>
****************************************************************************
*
C:\bperl\DBD-Oracle-1.06> nmake
Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
mkdir blib
mkdir blib\lib
mkdir blib\lib\DBD
mkdir blib\arch
mkdir blib\arch\auto
mkdir blib\arch\auto\DBD
mkdir blib\arch\auto\DBD\Oracle
mkdir blib\lib\auto
mkdir blib\lib\auto\DBD
mkdir blib\lib\auto\DBD\Oracle
mkdir blib\man1
mkdir blib\man3
cp oraperl.ph blib\lib/oraperl.ph
cp Oracle.pm blib\lib\DBD\Oracle.pm
cp Oraperl.pm blib\lib/Oraperl.pm
C:\Perl\5.6.0\bin\MSWin32-x86\perl.exe -p -e "s/~DRIVER~/Oracle/g" <
c:/
Perl/site/5.6.0/lib/MSWin32-x86/auto/DBI/Driver.xst > Oracle.xsi
C:\Perl\5.6.0\bin\MSWin32-x86\perl.exe
-Ic:\perl\5.6.0\lib\MSWin32-x86 -
Ic:\perl\5.6.0\lib C:\perl\5.6.0\lib\ExtUtils/xsubpp -typemap
C:\perl\5.6.0\lib
\ExtUtils\typemap Oracle.xs > Oracle.xsc &&
C:\Perl\5.6.0\bin\MSWin32-x86\perl.e
xe -Ic:\perl\5.6.0\lib\MSWin32-x86 -Ic:\perl\5.6.0\lib -MExtUtils::Command
-e mv
Oracle.xsc Oracle.c
cl -c -IC:/ORANT/OCI80/include -IC:/ORANT/rdbms/demo
-Ic:/Perl/site/5.6.
0/lib/MSWin32-x86/auto/DBI -Od -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT
-DPER
L_MSVCRT_READFIX -Od -MD -DNDEBUG -DVERSION=\"1.06\"
-DXS_VERSION=\"1.06\"
-IC:\perl\5.6.0\lib\MSWin32-x86\CORE Oracle.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
Oracle.c
C:\PROGRA~1\MICROS~4\VC98\INCLUDE\stddef.h(78) : warning C4005: 'errno' :
macro
redefinition
C:\perl\5.6.0\lib\MSWin32-x86\CORE\win32iop.h(188) : see previous
defini
tion of 'errno'
cl -c -IC:/ORANT/OCI80/include -IC:/ORANT/rdbms/demo
-Ic:/Perl/site/5.6.
0/lib/MSWin32-x86/auto/DBI -Od -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT
-DPER
L_MSVCRT_READFIX -Od -MD -DNDEBUG -DVERSION=\"1.06\"
-DXS_VERSION=\"1.06\"
-IC:\perl\5.6.0\lib\MSWin32-x86\CORE dbdimp.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
dbdimp.c
C:\PROGRA~1\MICROS~4\VC98\INCLUDE\stddef.h(78) : warning C4005: 'errno' :
macro
redefinition
C:\perl\5.6.0\lib\MSWin32-x86\CORE\win32iop.h(188) : see previous
defini
tion of 'errno'
cl -c -IC:/ORANT/OCI80/include -IC:/ORANT/rdbms/demo
-Ic:/Perl/site/5.6.
0/lib/MSWin32-x86/auto/DBI -Od -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT
-DPER
L_MSVCRT_READFIX -Od -MD -DNDEBUG -DVERSION=\"1.06\"
-DXS_VERSION=\"1.06\"
-IC:\perl\5.6.0\lib\MSWin32-x86\CORE oci7.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
oci7.c
C:\PROGRA~1\MICROS~4\VC98\INCLUDE\stddef.h(78) : warning C4005: 'errno' :
macro
redefinition
C:\perl\5.6.0\lib\MSWin32-x86\CORE\win32iop.h(188) : see previous
defini
tion of 'errno'
cl -c -IC:/ORANT/OCI80/include -IC:/ORANT/rdbms/demo
-Ic:/Perl/site/5.6.
0/lib/MSWin32-x86/auto/DBI -Od -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT
-DPER
L_MSVCRT_READFIX -Od -MD -DNDEBUG -DVERSION=\"1.06\"
-DXS_VERSION=\"1.06\"
-IC:\perl\5.6.0\lib\MSWin32-x86\CORE oci8.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
oci8.c
C:\PROGRA~1\MICROS~4\VC98\INCLUDE\stddef.h(78) : warning C4005: 'errno' :
macro
redefinition
C:\perl\5.6.0\lib\MSWin32-x86\CORE\win32iop.h(188) : see previous
defini
tion of 'errno'
"Running Mkbootstrap for DBD::Oracle ()"
C:\Perl\5.6.0\bin\MSWin32-x86\perl.exe
-Ic:\perl\5.6.0\lib\MSWin32-x86 -
Ic:\perl\5.6.0\lib -MExtUtils::Command -e chmod 644 Oracle.bs
C:\Perl\5.6.0\bin\MSWin32-x86\perl.exe
"-Ic:\perl\5.6.0\lib\MSWin32-x86"
"-Ic:\perl\5.6.0\lib" -MExtUtils::Mksymlists -e "Mksymlists('NAME' =>
'DBD::Or
acle', 'DLBASE' => 'Oracle', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS'
=>
{ }, 'DL_VARS' => []);"
link -out:blib\arch\auto\DBD\Oracle\Oracle.dll -dll -nologo
-nodefaultli
b -release -libpath:"c:\perl\5.6.0\lib\MSWin32-x86\CORE" -machine:x86
Oracle.o
bj dbdimp.obj oci7.obj oci8.obj
C:\perl\5.6.0\lib\MSWin32-x86\CORE\perl56.l
ib C:\ORANT\OCI80\LIB\MSVC\OCI.lib -def:Oracle.def
Creating library blib\arch\auto\DBD\Oracle\Oracle.lib and object
blib\arch\au
to\DBD\Oracle\Oracle.exp
Oracle.obj : error LNK2001: unresolved external symbol _strcmp # ERRORS
ERRORS ERRORS
dbdimp.obj : error LNK2001: unresolved external symbol _strcmp
Oracle.obj : error LNK2001: unresolved external symbol __fltused
dbdimp.obj : error LNK2001: unresolved external symbol __fltused
dbdimp.obj : error LNK2001: unresolved external symbol __imp__atoi
oci8.obj : error LNK2001: unresolved external symbol __imp__atoi
dbdimp.obj : error LNK2001: unresolved external symbol _memset
oci8.obj : error LNK2001: unresolved external symbol _memset
dbdimp.obj : error LNK2001: unresolved external symbol _strlen
oci8.obj : error LNK2001: unresolved external symbol _strlen
dbdimp.obj : error LNK2001: unresolved external symbol _strcpy
dbdimp.obj : error LNK2001: unresolved external symbol __imp__sprintf
oci8.obj : error LNK2001: unresolved external symbol __imp__sprintf
oci8.obj : error LNK2001: unresolved external symbol __imp__strchr
oci8.obj : error LNK2001: unresolved external symbol __imp__strncpy
LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@12
blib\arch\auto\DBD\Oracle\Oracle.dll : fatal error LNK1120: 10 unresolved
extern
als
NMAKE : fatal error U1077: 'link' : return code '0x460'
Stop.
C:\bperl\DBD-Oracle-1.06>
****************************************************************************
****
C:\bperl\DBD-Oracle-1.06> perl -V
Summary of my perl5 (revision 5 version 6 subversion 0) configuration:
Platform:
osname=MSWin32, osvers=4.0, archname=MSWin32-x86
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=unde
f
useperlio=undef d_sfio=undef uselargefiles=undef
use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
Compiler:
cc='cl', optimize='-Od -MD -DNDEBUG', gccversion=
cppflags='-DWIN32'
ccflags ='-Od -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT
-DPERL_MSVCRT_RE
ADFIX'
stdchar='char', d_stdstdio=define, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize
=4
alignbytes=8, usemymalloc=n, prototype=define
Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -release
-libpath:"c:\perl\5.6.0
\lib\MSWin32-x86\CORE" -machine:x86'
libpth=\lib
libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32
.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib
wsoc
k32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib
libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl56.lib
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release
-libpath:"c:
\perl\5.6.0\lib\MSWin32-x86\CORE" -machine:x86'
Characteristics of this binary (from libperl):
Compile-time options:
Built under MSWin32
Compiled at Oct 19 2000 13:44:15
@INC:
c:/Perl/5.6.0/lib/MSWin32-x86
c:/Perl/5.6.0/lib
c:/Perl/site/5.6.0/lib/MSWin32-x86
c:/Perl/site/5.6.0/lib
c:/Perl/site/lib
.
C:\bperl\DBD-Oracle-1.06>
------------------------------------------------------------------------------
DBI HOME PAGE AND ARCHIVES: http://www.symbolstone.org/technology/perl/DBI/
To unsubscribe from this list, please visit: http://www.isc.org/dbi-lists.html
If you are without web access, or if you are having trouble with the web page,
please send mail to dbi-users-request@[...].org with the subject line of:
'unsubscribe'.
------------------------------------------------------------------------------
|