Re: [Info-ingres] Building DBD::Ingres for ActiveState Perl

This is a discussion on Re: [Info-ingres] Building DBD::Ingres for ActiveState Perl within the Ingres Database forums in Other Databases category; HI Grant, Sisyphus and all others: BINGO! Ok got it done and working. Afetr an abortive attempt to use MinGW and Msys, which probably failed because I did not know what I was doing, I ended up downloading: - nmake from http://download.microsoft.com/downlo...us/nmake15.exe (so I had a make) - the C++ compiler from http://msdn.microsoft.com/visualc/vctoolkit2003/ (this gave me the cl compiler) - the microsoft platform SDK for windows server 2003 (that might have been the wrong thing, in hindsight) from http://www.microsoft.com/downloads/d...displaylang=en (This gave me all the ...

Go Back   Database Forum > Other Databases > Ingres Database

Database Forums

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 08-05-2005, 03:07 AM
Default Re: [Info-ingres] Building DBD::Ingres for ActiveState Perl

HI Grant, Sisyphus and all others:

BINGO!

Ok got it done and working.


Afetr an abortive attempt to use MinGW and Msys, which probably failed
because I did not know what I was doing, I ended up downloading:

- nmake from
http://download.microsoft.com/downlo...us/nmake15.exe
(so I had a make)

- the C++ compiler from http://msdn.microsoft.com/visualc/vctoolkit2003/
(this gave me the cl compiler)

- the microsoft platform SDK for windows server 2003 (that might have
been the wrong thing, in hindsight) from
http://www.microsoft.com/downloads/d...displaylang=en
(This gave me all the needed libs except for msvcrt.lib for 32 bit)

- the .NET Framework redistributable package from
http://msdn.microsoft.com/netframewo...work1_1redist/

- the .NET FRamework SDK 1.1 from a link off the previous page
(Which gave me the 32 bit msvcsrt.lib)
Then:

Copy the vcvars32.bat script from the C++ distribution to the
DBD::Ingres directory (just to make it easier to run), and the
msvcrt.lib library from the .NET distribution to the lib directory of
the Platform SDK distribution (to save messing with paths).

So, Crank up the Platform SDK command line environment - RETAIL (vs DEBUG).
Go to the DBD folder
Run vcvars32.bat (adds in the PATHS for cl etc)

Bog standard install from there. No changes to Makefile.pl.
- perl Makefile.pl
- nmake
- set DBI_DBNAME=testdb
- nmake test
- nmake install


The one thing I now need to do is work out what the minimal set of all
the above is...I suspect I could get away with nmake, the C++ compiler,
and copying all the libs somewhere into the C++ compiler hierarchy, to
make a minimal install environment, but I need to try that. (Ideas and
comments on that idea welcomed).

This was painful - anyone got a better strategy?

Dump of the install process below.

Thanks to all who helped...hope this tale will help others.

Roger

C:\Data\Downloads\DBD-Ingres-0.51>perl makefile.pl

Configuring DBD::Ingres ...

Try 'perl Makefile.PL -v'
if you have any problems.


Using Ingres in C:\Program Files\CA\Ingres [II]

Writing Makefile for DBD::Ingres

C:\Data\Downloads\DBD-Ingres-0.51>nmake

Microsoft (R) Program Maintenance Utility Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.

cl -c -IC:\Perl\site\lib/auto/DBI -nologo -Gf -W3 -MD -Zi
-DNDEBUG -O1
-DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT
-DBUILT_BY_ACTIVESTATE -DNO_HA
SH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
-DUSE_PE
RLIO -DPERL_MSVCRT_READFIX -g -DVERSION=\"0.51\"
-DXS_VERSION=\"0.51\" "-IC
:\Perl\lib\CORE" Ingres.c
cl : Command line warning D4002 : ignoring unknown option '-g'
Ingres.c
c1 : warning C4349: /Gf is deprecated and will not be supported in
future versio
ns of Visual C++; remove /Gf or use /GF instead
Ingres.xs(30) : warning C4013: 'dbd_db_do' undefined; assuming extern
returning
int
cl -c -IC:\Perl\site\lib/auto/DBI -nologo -Gf -W3 -MD -Zi
-DNDEBUG -O1
-DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT
-DBUILT_BY_ACTIVESTATE -DNO_HA
SH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
-DUSE_PE
RLIO -DPERL_MSVCRT_READFIX -g -DVERSION=\"0.51\"
-DXS_VERSION=\"0.51\" "-IC
:\Perl\lib\CORE" dbdimp.c
cl : Command line warning D4002 : ignoring unknown option '-g'
dbdimp.c
c1 : warning C4349: /Gf is deprecated and will not be supported in
future versio
ns of Visual C++; remove /Gf or use /GF instead
dbdimp.sc(583) : warning C4101: 'i' : unreferenced local variable
dbdimp.sc(769) : warning C4018: '>' : signed/unsigned mismatch
dbdimp.sc(1315) : warning C4101: 'ch' : unreferenced local variable
Running Mkbootstrap for DBD::Ingres ()
C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 Ingres.bs
link -out:blib\arch\auto\DBD\Ingres\Ingres.dll -dll -nologo
-nodefaultli
b -debug -opt:ref,icf -libpath:"C:\Perl\lib\CORE" -machine:x86
Ingres.obj dbdi
mp.obj libingres.lib shell32.lib msvcrt.lib libc.lib kernel32.lib
user32.lib mpr
..lib advapi32.lib netapi32.lib libcmt.lib C:\Perl\lib\CORE\perl58.lib
"C:\Prog
ram Files\CA\Ingres [II]\ingres\lib\libingres.lib" "C:\Program
Files\Microsoft P
latform SDK\Lib\shell32.lib" "C:\Program Files\Microsoft Platform
SDK\Lib\msvcrt
..lib" "C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib\libc.lib"
"C:\Prog
ram Files\Microsoft Visual C++ Toolkit 2003\lib\kernel32.lib"
"C:\Program Files\
Microsoft Platform SDK\Lib\user32.lib" "C:\Program Files\Microsoft
Platform SDK\
Lib\mpr.lib" "C:\Program Files\Microsoft Platform SDK\Lib\advapi32.lib"
"C:\Prog
ram Files\Microsoft Platform SDK\Lib\netapi32.lib" "C:\Program
Files\Microsoft V
isual C++ Toolkit 2003\lib\libcmt.lib" "C:\Program Files\Microsoft
Visual C++ To
olkit 2003\lib\oldnames.lib" "C:\Program Files\Microsoft Visual C++
Toolkit 2003
\lib\kernel32.lib" "C:\Program Files\Microsoft Platform
SDK\Lib\user32.lib" "C:\
Program Files\Microsoft Platform SDK\Lib\gdi32.lib" "C:\Program
Files\Microsoft
Platform SDK\Lib\winspool.lib" "C:\Program Files\Microsoft Platform
SDK\Lib\comd
lg32.lib" "C:\Program Files\Microsoft Platform SDK\Lib\advapi32.lib"
"C:\Program
Files\Microsoft Platform SDK\Lib\shell32.lib" "C:\Program
Files\Microsoft Platf
orm SDK\Lib\ole32.lib" "C:\Program Files\Microsoft Platform
SDK\Lib\oleaut32.lib
" "C:\Program Files\Microsoft Platform SDK\Lib\netapi32.lib" "C:\Program
Files\M
icrosoft Platform SDK\Lib\uuid.lib" "C:\Program Files\Microsoft Platform
SDK\Lib
\ws2_32.lib" "C:\Program Files\Microsoft Platform SDK\Lib\mpr.lib"
"C:\Program F
iles\Microsoft Platform SDK\Lib\winmm.lib" "C:\Program Files\Microsoft
Platform
SDK\Lib\version.lib" "C:\Program Files\Microsoft Platform
SDK\Lib\odbc32.lib" "C
:\Program Files\Microsoft Platform SDK\Lib\odbccp32.lib" "C:\Program
Files\Micro
soft Platform SDK\Lib\msvcrt.lib" -def:Ingres.def
Creating library blib\arch\auto\DBD\Ingres\Ingres.lib and object
blib\arch\au
to\DBD\Ingres\Ingres.exp
C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 755
blib\arch\auto\DBD
\Ingres\Ingres.dll
C:\Perl\bin\perl.exe -MExtUtils::Command -e cp Ingres.bs
blib\arch\auto\
DBD\Ingres\Ingres.bs
C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644
blib\arch\auto\DBD
\Ingres\Ingres.bs

C:\Data\Downloads\DBD-Ingres-0.51>DBI_DSN=testdb nmake test
'DBI_DSN' is not recognized as an internal or external command,
operable program or batch file.

C:\Data\Downloads\DBD-Ingres-0.51>set DBI_DBNAME=testdb

C:\Data\Downloads\DBD-Ingres-0.51>nmake test

Microsoft (R) Program Maintenance Utility Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.

C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'bl
ib\lib', 'blib\arch')" t\datatypes.t t\dbi.t t\event.t t\exec.t
t\datatypes....ok
t\dbi..........ok
t\event........ok
t\exec.........skipped
all skipped: no reason given
All tests successful, 1 test skipped.
Files=4, Tests=364, 18 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00 CPU)

C:\Data\Downloads\DBD-Ingres-0.51>nmake install

Microsoft (R) Program Maintenance Utility Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.

Installing C:\Perl\site\lib\auto\DBD\Ingres\Ingres.dll
Installing C:\Perl\site\lib\auto\DBD\Ingres\Ingres.exp
Installing C:\Perl\site\lib\auto\DBD\Ingres\Ingres.lib
Installing C:\Perl\site\lib\auto\DBD\Ingres\Ingres.pdb
Files found in blib\arch: installing files in blib\lib into architecture
depende
nt library tree
Appending installation info to C:\Perl\lib/perllocal.pod

C:\Data\Downloads\DBD-Ingres-0.51>
End Dump-----------------------------

>>Roger Hill writes:
>>
>>
>>>The question is - has anyone got DBD::Ingres working on Windows with
>>>Active State Perl? If so, pointers would be appreciated.

>>
>>Please - to me also!
>>

>
>
> It is possible to build the DBI using Active State's perl - however I
> have only done it with Microsoft's Visual C++ compiler. If you don't
> have the compiler you can download it from
> http://msdn.microsoft.com/visualc/vctoolkit2003/. Note this is just the
> command line stuff no pretty gui for debugging.
>
> After testing and installing DBI I did the following within the
> DBD::Ingres source area:
>
> - set LIB to include %II_SYSTEM%\ingres\lib otherwise the next step
> fails to find libingres.lib
> - perl Makefile.pl
> - nmake
> - set DBI_DBNAME=iidbdb
> - nmake test
> - nmake install
>
> Output posted below:
>
> perl Makefile.pl
>
> Configuring DBD::Ingres ...
>
> Try 'perl Makefile.PL -v'
> if you have any problems.
>
>
> Using Ingres in C:\IngresGC
>
> Checking if your kit is complete...
> Looks good
> Writing Makefile for DBD::Ingres
>
> nmake
>
> cp Ingres.pm blib\lib\DBD\Ingres.pm
> cp ingtest.pl blib\lib\DBD\ingtest.pl
> cp ingperl.pl blib\lib/ingperl.pl
> cp Ingperl.pm blib\lib/Ingperl.pm
> C:\ASPerl\bin\perl.exe -p -e "s!/\*64\*!!" dbdimp.psc >
> dbdimp.sc
> C:\IngresGC\ingres\bin\esqlc.exe -o.h -w -p dbdimp.sc
> ESQL dbdimp.sc:
> C:\ASPerl\bin\perl.exe -p -e "s/~DRIVER~/Ingres/g"
> Ingres.xsi
> C:\ASPerl\bin\perl.exe C:\ASPerl\lib\ExtUtils/xsubpp -typemap
> C:\ASPerl\lib\ExtUtils\typemap Ingres.xs > Ingres.xsc &&
> C:\ASPerl\bin\perl.exe -MExtUtils::Command -e mv Ingres.xsc Ingres.c
> cl -c -IC:\ASPerl\site\lib/auto/DBI -nologo -Gf -W3 -MD -Zi
> -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT
> -DBUILT_BY_ACTIVESTATE -DNO_HASH_SEED -DUSE_SITECUSTOMIZE
> -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO
> -DPERL_MSVCRT_READFIX -g -DVERSION=\"0.51\" -DXS_VERSION=\"0.51\"
> "-IC:\ASPerl\lib\CORE" Ingres.c
> Ingres.c
> c1 : warning C4349: /Gf is deprecated and will not be supported in
> future versions of Visual C++; remove /Gf or use /GF instead
> Ingres.xs(30) : warning C4013: 'dbd_db_do' undefined; assuming extern
> returning int
> C:\IngresGC\ingres\bin\esqlc.exe -o.h -w -p dbdimp.sc
> ESQL dbdimp.sc:
> cl -c -IC:\ASPerl\site\lib/auto/DBI -nologo -Gf -W3 -MD -Zi
> -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT
> -DBUILT_BY_ACTIVESTATE -DNO_HASH_SEED -DUSE_SITECUSTOMIZE
> -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO
> -DPERL_MSVCRT_READFIX -g -DVERSION=\"0.51\" -DXS_VERSION=\"0.51\"
> "-IC:\ASPerl\lib\CORE" dbdimp.c
> dbdimp.c
> c1 : warning C4349: /Gf is deprecated and will not be supported in
> future versions of Visual C++; remove /Gf or use /GF instead
> dbdimp.sc(583) : warning C4101: 'i' : unreferenced local variable
> dbdimp.sc(769) : warning C4018: '>' : signed/unsigned mismatch
> dbdimp.sc(1315) : warning C4101: 'ch' : unreferenced local variable
> Running Mkbootstrap for DBD::Ingres ()
> C:\ASPerl\bin\perl.exe -MExtUtils::Command -e chmod 644
> Ingres.bs
> C:\ASPerl\bin\perl.exe -MExtUtils::Mksymlists -e
> "Mksymlists('NAME'=>\"DBD::Ingres\", 'DLBASE' => 'Ingres', 'DL_FUNCS' =>
> { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
> link -out:blib\arch\auto\DBD\Ingres\Ingres.dll -dll -nologo
> -nodefaultlib -debug -opt:ref,icf -libpath:"C:\ASPerl\lib\CORE"
> -machine:x86 Ingres.obj dbdimp.obj libingres.lib shell32.lib msvcrt.lib
> libc.lib kernel32.lib user32.lib mpr.lib advapi32.lib netapi32.lib
> libcmt.lib C:\ASPerl\lib\CORE\perl58.lib
> C:\IngresGC\ingres\lib\libingres.lib "C:\Program Files\Microsoft Visual
> Studio .NET 2003\VC7\PlatformSDK\lib\shell32.lib" "C:\Program
> Files\Microsoft Visual Studio .NET 2003\VC7\LIB\msvcrt.lib" "C:\Program
> Files\Microsoft Visual Studio .NET 2003\VC7\LIB\libc.lib" "C:\Program
> Files\Microsoft Visual Studio .NET 2003\VC7\LIB\kernel32.lib"
> "C:\Program Files\Microsoft Visual Studio .NET
> 2003\VC7\PlatformSDK\lib\user32.lib" "C:\Program Files\Microsoft Visual
> Studio .NET 2003\VC7\PlatformSDK\lib\mpr.lib" "C:\Program
> Files\Microsoft Visual Studio .NET
> 2003\VC7\PlatformSDK\lib\advapi32.lib" "C:\Program Files\Microsoft
> Visual Studio .NET 2003\VC7\PlatformSDK\lib\netapi32.lib" "C:\Program
> Files\Microsoft Visual Studio .NET 2003\VC7\LIB\libcmt.lib" "C:\Program
> Files\Microsoft Visual Studio .NET 2003\VC7\LIB\oldnames.lib"
> "C:\Program Files\Microsoft Visual Studio .NET
> 2003\VC7\LIB\kernel32.lib" "C:\Program Files\Microsoft Visual Studio
> .NET 2003\VC7\PlatformSDK\lib\user32.lib" "C:\Program Files\Microsoft
> Visual Studio .NET 2003\VC7\PlatformSDK\lib\gdi32.lib" "C:\Program
> Files\Microsoft Visual Studio .NET
> 2003\VC7\PlatformSDK\lib\winspool.lib" "C:\Program Files\Microsoft
> Visual Studio .NET 2003\VC7\PlatformSDK\lib\comdlg32.lib" "C:\Program
> Files\Microsoft Visual Studio .NET
> 2003\VC7\PlatformSDK\lib\advapi32.lib" "C:\Program Files\Microsoft
> Visual Studio .NET 2003\VC7\PlatformSDK\lib\shell32.lib" "C:\Program
> Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\ole32.lib"
> "C:\Program Files\Microsoft Visual Studio .NET
> 2003\VC7\PlatformSDK\lib\oleaut32.lib" "C:\Program Files\Microsoft
> Visual Studio .NET 2003\VC7\PlatformSDK\lib\netapi32.lib" "C:\Program
> Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\uuid.lib"
> "C:\Program Files\Microsoft Visual Studio .NET
> 2003\VC7\PlatformSDK\lib\ws2_32.lib" "C:\Program Files\Microsoft Visual
> Studio .NET 2003\VC7\PlatformSDK\lib\mpr.lib" "C:\Program
> Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib\winmm.lib"
> "C:\Program Files\Microsoft Visual Studio .NET
> 2003\VC7\PlatformSDK\lib\version.lib" "C:\Program Files\Microsoft Visual
> Studio .NET 2003\VC7\PlatformSDK\lib\odbc32.lib" "C:\Program
> Files\Microsoft Visual Studio .NET
> 2003\VC7\PlatformSDK\lib\odbccp32.lib" "C:\Program Files\Microsoft
> Visual Studio .NET 2003\VC7\LIB\msvcrt.lib" -def:Ingres.def
> Creating library blib\arch\auto\DBD\Ingres\Ingres.lib and object
> blib\arch\auto\DBD\Ingres\Ingres.exp
> C:\ASPerl\bin\perl.exe -MExtUtils::Command -e chmod 755
> blib\arch\auto\DBD\Ingres\Ingres.dll
> C:\ASPerl\bin\perl.exe -MExtUtils::Command -e cp Ingres.bs
> blib\arch\auto\DBD\Ingres\Ingres.bs
> C:\ASPerl\bin\perl.exe -MExtUtils::Command -e chmod 644
> blib\arch\auto\DBD\Ingres\Ingres.bs
>
> set DBI_DBNAME=iidbdb
> nmake test
>
> C:\ASPerl\bin\perl.exe "-MExtUtils::Command::MM" "-e"
> "test_harness(0, 'blib\lib', 'blib\arch')" t\datatypes.t t\dbi.t
> t\event.t t\exec.t
> t\datatypes....ok
> t\dbi..........ok
> t\event........ok
> t\exec.........skipped
> all skipped: no reason given
> All tests successful, 1 test skipped.
> Files=4, Tests=364, 13 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00
> CPU)
>
> nmake install
>
> Installing C:\ASPerl\site\lib\auto\DBD\Ingres\Ingres.dll
> Installing C:\ASPerl\site\lib\auto\DBD\Ingres\Ingres.exp
> Installing C:\ASPerl\site\lib\auto\DBD\Ingres\Ingres.lib
> Installing C:\ASPerl\site\lib\auto\DBD\Ingres\Ingres.pdb
> Files found in blib\arch: installing files in blib\lib into architecture
> dependent library tree
> Appending installation info to C:\ASPerl\lib/perllocal.pod
>
>
> _______________________________________________
> Info-ingres mailing list
> Info-ingres-at-cariboulake.com
> http://mailman.cariboulake.com/mailm...py/info-ingres
>

Reply With Quote
Reply


Thread Tools
Display Modes



All times are GMT -4. The time now is 09:46 PM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Integrated by bbpixel2009 :: jvbPlugin R1013.368.1

Search Engine Friendly URLs by vBSEO 3.1.0
vB Ad Management by =RedTyger=
In an effort to better serve ads to our visitors, cookies are used on Mydatabasesupport.com. For more information, check out our Privacy Policy.