Mini How-To: practical method to install ASSP v2.X on Windows x64 using Strawberry Perl v5.12.X x64
2011-06-13 17-51:
See later:
# OpenSSL:
# 1) copy libeay32.a libcrypto.dll.a
# 2) copy libssl32.a libssl.dll.a
# 3) copy libcrypto.dll.a libcrypto.a
# 4) copy libssl.dll.a libssl.a
# 5) Unpack lib\engines\*.dll from package/kmx/tmp-for-victor/out_openssl-1.0.0d(64bit-5.12).zip
2011-06-08 17-58:
See later:
Update strawberry-perl-5.12.3.0-64bit.zip library to kmx/64_libs/5.12/*.zip:
2011-05-31 18-24:
See later:
Upgrade OpenSSL
2011-05-25 18-16:
See later:
==
cpanp i http://strawberryperl.com/package/kmx/perl-modules-patched/
==
2011-05-25 18-07:
Replace:
===
perl Makefile.PL
dmake
dmake test
dmake install
==
to
==
cpanp i .
==
2011-05-25 16-47:
See later:
Win32_IPHelper_64bit.diff
i.e. this fixed
===
!!! Need set DNS Server in assp.cfg
{
# uncheck Use Local DNS (UseLocalDNS)
UseLocalDNS:=
# Use OpenDNS
DNSServers:=208.67.222.222|208.67.220.220
# Or change to Youre local DNS server
}
===
2011-05-25 15-22:
Replace:
cpanplus\5.12.2\build\
to
cpanplus\5.12.3\build\
2011-05-25 15-19:
See later:
==
Install ASSP as service by run:
perl assp.pl c:\assp -i
==
2011-05-23 17-53:
Test by send 1 e-mail -- Ok
2011-05-23:
Strawberry Perl v5.12.3 x64
http://strawberryperl.com/download/5.12.3.0/strawberry-perl-5.12.3.0-64bit.zip
----- Original Message -----
From: "Victor Miasnikov"
To: "Shabalin, Alexander"; "ASSP development mailing list"
Sent: Thursday, May 19, 2011 4:31 PM
Subject: Fixed, see: Mini How-To: practically method to install ASSP v2.X on Windows x64 by Strawberry Perl v5.12.2 x64 Re: [Assp-test] ASSP as a service (service did not respond) 1053
Hi!
----- Original Message -----
From: "Shabalin, Alexander"
To: "ASSP development mailing list"
Sent: Friday, September 11, 2009 9:31 AM
Subject: Re: [Assp-test] ASSP as a service (service did not respond) 1053
> It can be some sort of incompatibility in:
> 1. Windows Server 2008 x64.
> 2. Perl 5.10 x64
> 3. Win32::Daemon
--
Fixed, see:
Mini How-To: practically method to install ASSP v2.X on Windows x64 by Strawberry Perl v5.12.2 x64
. . .
At this moment this is _very_ experimental environment! Be carefully!
==
!!! Need set DNS Server in assp.cfg
need ToDo: Socket6 and SNMP
==
> Has anyone x64 testing environment to check this?
At this moment I simply do not have time to create a complete lab environment:
==
SMTP not tested ( may be yet/at this moment )
==
Who can test it?
Best regards, Victor Miasnikov
--
----------------------
Mini How-To: practical method to install ASSP v2.X on Windows x64 using Strawberry Perl v5.12.X x64
SMTP not tested ( may be yet/at this moment )
need ToDo: Socket6 and SNMP
----
A-la #ifdef:
# {
# Start part of command related only to ASSP_OCR
#
If you not use ASSP_OCR , then you not need this text
#
# End part of command related only to ASSP_OCR
# }
#{
# Upgrade OpenSSL
#
Strawberry Perl v5.12.3 x64 contain "OpenSSL 1.0.0-beta4":
==
C:\strawberry\c\bin>openssl.exe version
WARNING: can't open config file: c:/compile/build/_wrk_libs64__.out/ssl/openssl.cnf
OpenSSL 1.0.0-beta4 10 Nov 2009
==
Current version OpenSSL:
==
C:\openssl\bin>openssl.exe version
OpenSSL 1.0.0d 8 Feb 2011
==
#{
# Upgrade Strawberry Perl v5.12.3.0 x64 library:
#
Upgrade Strawberry Perl v5.12.3.0 x64 ( strawberry-perl-5.12.3.0-64bit.zip) library to kmx/64_libs/5.12/*.zip:
Download:
http://strawberryperl.com/download/5.12.3.0/strawberry-perl-5.12.3.0-64bit.zip
unpack it to
c:\sb\
Save to c:\sb\portableshell.bat :
==
@echo off
set drive=%~dp0
set drivep=%drive%
If $#\#$==$#%drive:~-1%#$ set drivep=%drive:~0,-1%
set PATH=%drivep%\perl\site\bin;%drivep%\perl\bin;%drivep%\c\bin;%PATH%
set TERM=dumb
echo ----------------------------------------------
echo Welcome to Strawberry Perl Portable Edition!
echo * URL - http://www.strawberryperl.com/
echo * see README.portable.TXT for more info
echo ----------------------------------------------
perl -e "printf("""Perl executable: %%s\nPerl version : %%vd\n""", $^X, $^V)" 2>nul
if ERRORLEVEL==1 echo.&echo FATAL ERROR: 'perl' does not work; check if your strawberry pack is complete!
echo.
cmd
==
#{
# Old:
#
Download:
http://strawberryperl.com/download/5.12.3.0/strawberry-perl-5.12.3.0-portable.zip
unpack only portableshell.bat from it to
c:\sb\
#
#
#}
Run:
portableshell.bat
In portableshell.bat shell:
set PERL_MM_USE_DEFAULT=1
cpanp s save system
===
C:\sb>cpanp s save system
Configuration successfully saved to CPANPLUS::Config::System
(C:\sb\perl\lib\CPANPLUS\Config\System.pm)
===
cpanp s edit system
Replace
strawberryperl to sb
==
$conf->set_conf( base => 'C:\\sb\\cpanplus' );
==
If found:
==
$conf->set_conf( signature => 1 );
==
replace to
==
$conf->set_conf( signature => 0 );
==
Save file.
cpanp i IPC::Run
cpanp i Perl::Dist::Strawberry
cpanp i Perl::Dist::WiX::BuildPerl::5123
cpanp i Perl::Dist::Strawberry::BuildPerl::5123
GoTo:
C:\sb\perl\site\lib\Perl\Dist\Strawberry\
rename
Libraries.pm
to
Libraries.pm.Orig
apply patch to Libraries.pm:
===
--- Libraries.pm.Orig Tue Jun 07 15:50:35 2011
+++ Libraries.pm Tue Jun 07 16:35:51 2011
@@ -127,6 +127,9 @@
'freeglut' => '32bit-gcc4/freeglut-2.6.0-bin_20100213.zip',
'libssh2' => '32bit-gcc4/libssh2-1.2.5-bin_20100520.zip',
},
+#{ VVM 2011-06-07 16-35
+#
+#
'64bit-gcc4' => {
'patch' => '64bit-gcc4/patch-2.5.9-7-bin_20100110_20100303.zip',
'mysql589' => undef,
@@ -146,29 +149,34 @@
'pari5121' => undef,
'pari5122' => undef,
'pari5123' => undef,
- 'zlib' => '64bit-gcc4/zlib-1.2.3-bin_20100110.zip',
- 'libiconv' => '64bit-gcc4/libiconv-1.13.1-bin_20100110.zip',
- 'libxml2' => '64bit-gcc4/libxml2-2.7.3-bin_20100110.zip',
- 'libexpat' => '64bit-gcc4/expat-2.0.1-bin_20100110.zip',
- 'gmp' => '64bit-gcc4/gmp-5.0.1-419f6a4cc606-bin_20100306.zip',
- 'libxslt' => '64bit-gcc4/libxslt-1.1.26-bin_20100111.zip',
- 'libjpeg' => '64bit-gcc4/jpeg-6b-gnuwin32-bin_20100110.zip',
- 'libgif' => '64bit-gcc4/giflib-4.1.6-bin_20100110.zip',
- 'libpng' => '64bit-gcc4/libpng-1.2.40-bin_20100110.zip',
- 'libtiff' => '64bit-gcc4/tiff-3.9.1-bin_20100110.zip',
- 'libgd' => '64bit-gcc4/gd-2.0.35-bin_20100110.zip',
- 'libfreetype' => '64bit-gcc4/freetype-2.3.11-bin_20100110.zip',
- 'libopenssl' => '64bit-gcc4/openssl-1.0.0-beta4-bin_20100110.zip',
- 'libpostgresql' => '64bit-gcc4/postgresql-8.4.1-bin_20100110.zip',
- 'libdb' => '64bit-gcc4/db-4.8.24-bin_20100110.zip',
- 'libgdbm' => '64bit-gcc4/gdbm-1.8.3-bin_20100112.zip',
- 'libxpm' => '64bit-gcc4/libXpm-3.5.8-bin_20100110.zip',
- 'libxz' => '64bit-gcc4/liblzma-xz-4.999.9beta-bin_20100308.zip',
- 'mpc' => '64bit-gcc4/mpc-0.8.1-bin_20100306.zip',
- 'mpfr' => '64bit-gcc4/mpfr-2.4.2-bin_20100306.zip',
- 'libmysql' => '64bit-gcc4/mysql-5.1.44-bin_20100304.zip',
- 'freeglut' => '64bit-gcc4/freeglut-2.6.0-bin_20100213.zip',
- 'libssh2' => '64bit-gcc4/libssh2-1.2.5-bin_20100520.zip',
+ 'zlib' => 'kmx/64_libs/5.12/64bit_zlib-1.2.5-bin_20110507.zip',
+ 'libiconv' => 'kmx/64_libs/5.12/64bit_libiconv-1.13.1-sezero20110428-bin_20110507.zip',
+ 'libxml2' => 'kmx/64_libs/5.12/64bit_libxml2-2.7.8-bin_20110507.zip',
+ 'libexpat' => 'kmx/64_libs/5.12/64bit_expat-2.0.1-sezero20110428-bin_20110507.zip',
+ 'gmp' => 'kmx/64_libs/5.12/64bit_gmp-5.0.1-bin_20110507.zip',
+ 'libxslt' => 'kmx/64_libs/5.12/64bit_libxslt-1.1.26-bin_20110507.zip',
+ 'libjpeg' => 'kmx/64_libs/5.12/64bit_jpeg-8c-bin_20110507.zip',
+ 'libgif' => 'kmx/64_libs/5.12/64bit_giflib-4.1.6-bin_20110507.zip',
+ 'libpng' => 'kmx/64_libs/5.12/64bit_libpng-1.5.2-bin_20110507.zip',
+ 'libtiff' => 'kmx/64_libs/5.12/64bit_tiff-3.9.5-bin_20110507.zip',
+ 'libgd' => 'kmx/64_libs/5.12/64bit_gd-2.0.35(OLD-jpg-png)-bin_20110507.zip',
+ 'libfreetype' => 'kmx/64_libs/5.12/64bit_freetype-2.4.4-bin_20110507.zip',
+ 'libopenssl' => 'kmx/64_libs/5.12/64bit_openssl-1.0.0d-bin_20110507.zip',
+ 'libpostgresql' => 'kmx/64_libs/5.12/64bit_postgresql-9.0.4-bin_20110507.zip',
+ 'libdb' => 'kmx/64_libs/5.12/64bit_db-5.1.25-bin_20110507.zip',
+ 'libgdbm' => 'kmx/64_libs/5.12/64bit_gdbm-1.8.3-bin_20110507.zip',
+ 'libxpm' => 'kmx/64_libs/5.12/64bit_libXpm-3.5.9-bin_20110507.zip',
+ 'libxz' => 'kmx/64_libs/5.12/64bit_xz-5.0.2-bin_20110507.zip',
+ 'mpc' => 'kmx/64_libs/5.12/64bit_mpc-0.9-bin_20110507.zip',
+ 'mpfr' => 'kmx/64_libs/5.12/64bit_mpfr-3.0.1-bin_20110507.zip',
+ 'libmysql' => 'kmx/64_libs/5.12/64bit_mysql-5.1.44-bin_20100304.zip',
+ 'freeglut' => 'kmx/64_libs/5.12/64bit_freeglut-2.6.0-bin_20110507.zip',
+ 'libssh2' => 'kmx/64_libs/5.12/64bit_libssh2-1.2.8-bin_20110507.zip',
+#
+#
+#}
+
},
};
===
GoTo:
C:\sb\perl\site\lib\Perl\Dist\
rename
WiX.pm
to
WiX.pm.Orig
apply patch to WiX.pm:
===
>diff -u WiX.pm.Orig WiX.pm
--- WiX.pm.Orig Sun Jun 05 15:17:58 2011
+++ WiX.pm Tue Jun 07 17:23:36 2011
@@ -725,16 +725,16 @@
isa => subtype(
'Int' => where {
if ( not defined $_ ) {
- $_ = 32;
+ $_ = 64;
}
- $_ == 32 or $_ == 64;
+ $_ == 64 or $_ == 64;
},
message {
'Not 32 or 64-bit';
},
),
- default => 32,
+ default => 64,
);
===
Run
%SystemRoot%\system32\cmd.exe /c C:\sb\perl\site\bin\perldist_strawberry.bat --output C:\strawberry --skip 1 --skip 2 --skip 3
# { Or
#%SystemRoot%\system32\cmd.exe /c C:\sb\perl\bin\perl.exe -x -S perldist_strawberry.pl --output C:\strawberry --skip 1 --skip 2 --skip 3
# }
Go to directory:
C:\tmp\output\
rename strawberry-perl-5.12.3.0-64bit.msi strawberry-perl-5.12.3.0-64bit-build-2011-06-07.msi
rename strawberry-perl-5.12.3.0-64bit.zip strawberry-perl-5.12.3.0-64bit-build-2011-06-07.zip
Copy this files from C:\tmp\
#
#
#}
At this moment Berkeley DB 5.1.25 is installed:
===
Jun-08-11 12:12:34 [init] DB_File module version 1.822 installed - DB_File (Berkeley V1) database usage available
Jun-08-11 12:12:34 [init] BerkeleyDB module version 0.43 installed - Berkeley database usage available
Jun-08-11 12:12:34 [init] BerkeleyDB DB-version 5.1 / Berkeley DB 5.1.25: (January 28, 2011) is installed
===
#
#
#}
Unpack strawberry-perl-5.12.3.0-64bit-build-2011-06-07.zip to
C:\strawberry\
( If you use another directory,
in the near future you will need to reconfigure CPAN ( and CPANPlus ) )
Run "update_env.pl.bat" for:
{
1) Add to %Path%
Path=%Path%;C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin
2) Configure enviroment variable TERM:
TERM=dumb
}
Configure enviroment variable:
INCLUDE=C:\BIN\ImageMagick\include\magick;C:\strawberry\perl\lib\CORE;C:\strawberry\c\x86_64-w64-mingw32\include;C:\strawberry\c\include
LIB=C:\BIN\ImageMagick\lib;C:\strawberry\perl\bin;C:\strawberry\c\lib
#{
# OpenSSL:
# 1) copy libeay32.a libcrypto.dll.a
# 2) copy libssl32.a libssl.dll.a
# 3) copy libcrypto.dll.a libcrypto.a
# 4) copy libssl.dll.a libssl.a
# 5) Unpack lib\engines\*.dll from package/kmx/tmp-for-victor/out_openssl-1.0.0d(64bit-5.12).zip
#
Go to directory:
C:\strawberry\c\lib\
copy libeay32.a libcrypto.dll.a
copy libssl32.a libssl.dll.a
# {
# Not need: "copy libssleay32.a libssl32.a"
#
Screenshot:
===
C:\strawberry\c\lib>fc libssleay32.a libssl32.a
Comparing files libssleay32.a and LIBSSL32.A
FC: no differences encountered
===
#
#
# }
copy libcrypto.dll.a libcrypto.a
copy libssl.dll.a libssl.a
Download:
http://strawberryperl.com/package/kmx/tmp-for-victor/out_openssl-1.0.0d(64bit-5.12).zip
Unpack to temporary folder
Copy
lib\engines\*.dll
(
i.e.
4758ccaeay32.dll
aepeay32.dll
atallaeay32.dll
capieay32.dll
chileay32.dll
cswifteay32.dll
gmpeay32.dll
gosteay32.dll
nuroneay32.dll
padlockeay32.dll
surewareeay32.dll
ubseceay32.dll
)
to
C:\strawberry\c\lib\engines\
#
#
# }
#
#
#}
# {
# Start part of command related only to ASSP_OCR
#
About ImageMagick on Strawberry Perl:
"Win32 binaries & strawberry perl"
http://www.imagemagick.org/discourse-server/viewtopic.php?f=7&t=14814
ImageMagick prerequisites:
==
# Please check the following prerequisites:
#
# 1) You need to have installed ImageMagick Windows binaries from
# http://www.imagemagick.org/script/binary-releases.php#windows
#
# 2) We only support dynamic (DLL) ImageMagick binaries
# note: it is not possible to mix 32/64-bit binaries of perl and ImageMagick
==
Download ImageMagick "Win64 dynamic" binary installer:
http://www.imagemagick.org/download/binaries/ImageMagick-6.6.9-9-Q16-windows-x64-dll.exe
Or look latest version on:
http://www.imagemagick.org/script/binary-releases.php
( but if you use nevest version of installer, you need use related source code see later about "ImageMagick-6.6.9-9.7z")
Install it to directory:
C:\BIN\ImageMagick
Do not forget:
==
# 3) During installation select that you want to install ImageMagick's
# development files (libraries+headers)
==
But not install Perl modules for ActivePerl ( see later about "ImageMagick-6.6.9-9.7z")
Check for correct install by run:
identify -list Configure 2>nul || convert -list Configure 2>nul
Screenshot:
==
C:\Program Files\Far>identify -list Configure 2>null || convert -list Configure 2>null
Path: [built-in]
Name Value
-------------------------------------------------------------------------------
NAME ImageMagick
Path: C:\BIN\ImageMagick\config\configure.xml
Name Value
-------------------------------------------------------------------------------
. . .
==
If you not see:
===
Path: C:\BIN\ImageMagick\config\configure.xml
===
ImageMagick not correct installed and you can't install Image::Magick ( PerlMagick)
#
# Not need: Copy "C:\BIN\ImageMagick\include\magick\" to "C:\strawberry\perl\lib\CORE\magick\*.*"
#
Download
ftp://ftp.imagemagick.org/pub/ImageMagick/pub/ImageMagick/ImageMagick-6.6.9-9.7z
If exits directory
C:\BIN\ImageMagick\PerlMagick
rename ( or move) it to
C:\BIN\ImageMagick\PerlMagick-0
UnPack from ImageMagick-6.6.9-9.7z subdirectory \ImageMagick-6.6.9-9\PerlMagick\*.* to
C:\BIN\ImageMagick\PerlMagick
#
# End part of command related only to ASSP_OCR
# }
For installation of modules we will use CPANPlus ( cpanp)
User guide for CPANPlus:
http://perldoc.perl.org/CPANPLUS/Shell/Default.html
Run:
cpanp x
Download and extract by run:
cpanp i IPC::Run --skiptest
cpanp i Win32::Console
#{
# Fix by Win32_IPHelper_64bit.diff : "Need set DNS Server in assp.cfg"
#
For fix this issue:
===
Apr-15-11 16:42:17 [Worker_10000] Warning: Name Server p�: does not respond or timed out
Apr-15-11 16:42:17 [Worker_10000] ERROR: !!!! no answering DNS-SERVER found !!!!
===
Run:
cpanp i enum
Download and extract Win32-IPHelper-0.06 by run:
cpanp z Win32::IPHelper
See about Win32_IPHelper_64bit.diff :
https://rt.cpan.org/Public/Bug/Display.html?id=59790
Go to directory:
C:\strawberry\cpanplus\5.12.3\build\Win32-IPHelper-0.06\
Save to file Win32_IPHelper_64bit.diff this text:
===
--- IPHelper.pm.1 2008-07-23 19:35:36.000000000 -0400
+++ IPHelper.pm 2011-02-09 22:05:58.000000000 -0500
@@ -9,6 +9,7 @@
use Win32;
use Win32::API;
use enum;
+use Config ();
require Exporter;
@@ -60,6 +61,7 @@
my $GetExtendedTcpTable = new Win32::API ('Iphlpapi', 'GetExtendedTcpTable', ['P', 'P', 'N', 'N', 'N', 'N'], 'N');
my $GetExtendedUdpTable = new Win32::API ('Iphlpapi', 'GetExtendedUdpTable', ['P', 'P', 'N', 'N', 'N', 'N'], 'N');
+my $PTR_SIZE = $Config::Config{ptrsize};
# Preloaded methods go here.
@@ -1451,12 +1453,12 @@
sub _IP_ADAPTER_INFO
{
my ($buffer, $pos) = @_;
- my $size = 640;
+ my $size = $PTR_SIZE + 636;
my %hash;
my @array;
my $next;
- ($pos, $next) =_shiftunpack($buffer, $pos, 4, "P".$size);
+ ($pos, $next) =_shiftunpack($buffer, $pos, $PTR_SIZE, "P".$size);
($pos, $hash{'ComboIndex'}) = _shiftunpack($buffer, $pos, 4, "L");
($pos, $hash{'AdapterName'}) = _shiftunpack($buffer, $pos, (MAX_ADAPTER_NAME_LENGTH + 4), "Z" . (MAX_ADAPTER_NAME_LENGTH + 4));
@@ -1499,6 +1501,29 @@
}
#######################################################################
+# _ADDR_STRING_STRUCT_SIZE
+#
+# Constant for the size of a IP_ADDR_STRING/PIP_ADDR_STRING struct.
+# This varies depending on whether it is running in 32bit or 64bit perl
+#
+#######################################################################
+# Usage:
+# $size = _ADDR_STRING_STRUCT_SIZE;
+#
+# Output:
+# $size - size of the structs
+#
+# Input:
+# None
+#######################################################################
+sub _ADDR_STRING_STRUCT_SIZE() {
+ return $PTR_SIZE # struct *
+ + 16 # char[16]
+ + 16 # char[16]
+ + 4; # DWORD
+}
+
+#######################################################################
# _IP_ADDR_STRING()
#
# Decodes an _IP_ADDR_STRING data structure and returns data
@@ -1533,12 +1558,12 @@
sub _IP_ADDR_STRING
{
my ($buffer, $pos) = @_;
- my $size = 40;
+ my $size = _ADDR_STRING_STRUCT_SIZE;
my %hash;
my @array;
my $next;
- ($pos, $next) = _shiftunpack($buffer, $pos, 4, "P".$size);
+ ($pos, $next) = _shiftunpack($buffer, $pos, $PTR_SIZE, "P".$size);
($pos, $hash{'IpAddress'}) = _shiftunpack($buffer, $pos, 16, "Z16");
($pos, $hash{'IpMask'}) = _shiftunpack($buffer, $pos, 16, "Z16");
@@ -1695,7 +1720,8 @@
($pos, $hash{'DomainName'}) = _shiftunpack($buffer, $pos, MAX_DOMAIN_NAME_LEN + 4, "Z".(MAX_DOMAIN_NAME_LEN + 4));
my $CurrentDnsServer;
- ($pos, $CurrentDnsServer) = _shiftunpack($buffer, $pos, 4, "P40");
+ my $size = _ADDR_STRING_STRUCT_SIZE;
+ ($pos, $CurrentDnsServer) = _shiftunpack($buffer, $pos, $PTR_SIZE, "P".$size);
if ($CurrentDnsServer)
{
@{ $hash{'CurrentDnsServer'} } = _IP_ADDR_STRING(\$CurrentDnsServer, 0);
===
#
# De-facto this is Win32_IPHelper_64bit.diff from https://rt.cpan.org/Ticket/Attachment/895196/464097/Win32_IPHelper_64bit.diff
# but with fixed "Halt with "patch.c, Line 354" if "file has CRs and CR-LFs." => convert the line endings to CR-LF" problem.
#
Rename "IPHelper.pm" to "IPHelper.pm.Orig" :
rename "IPHelper.pm" "IPHelper.pm.Orig"
Apply .diff :
patch "IPHelper.pm.Orig" -i Win32_IPHelper_64bit.diff -o "IPHelper.pm"
Swith to cpanp process ( if need) and run:
cpanp i .
Exit from cpan shell by run:
Exit
#
#
#}
#{
# OpenSSL related:
#
#{
# Not need ( need may be only for test purpose):
#cpanp i Crypt::OpenSSL::AES
#
#
#}
Download and extract Crypt-OpenSSL-Random-0.04_patched.tar.gz by run:
cpanp i http://strawberryperl.com/package/kmx/perl-modules-patched/Crypt-OpenSSL-Random-0.04_patched.tar.gz
# {
# Old Var
#
Download and extract Crypt-OpenSSL-Random-0.04.tar.gz by run:
cpanp z Crypt::OpenSSL::Random
Not close command line, but run editor as another process
Open C:\strawberry\cpanplus\5.12.3\build\Crypt-OpenSSL-Random-0.04\Makefile.PL in editor
replace
==
'LIBS' => ['-lssl -lcrypto'], # e.g., '-lm'
==
to
==
'LIBS' => ($^O eq 'MSWin32') ? ['-lssl32 -leay32'] : ['-lssl -lcrypto'],
==
as described in
http://www.nntp.perl.org/group/perl.win32.vanilla/2010/04/msg219.html
===
...
you need to patch Makefile.PL (for both Crypt-OpenSSL-Random and Crypt-OpenSSL-RSA) in this way:
- 'LIBS' => ['-lssl -lcrypto'],
+ 'LIBS' => ($^O eq 'MSWin32') ? ['-lssl32 -leay32'] : ['-lssl -lcrypto'],
...
===
Save file Makefile.PL
Swith to cpanp process and run:
cpanp i .
Exit from cpan shell by run:
Exit
#
#
# }
Download and extract Crypt-OpenSSL-RSA-0.26_patched.tar.gz by run:
cpanp i http://strawberryperl.com/package/kmx/perl-modules-patched/Crypt-OpenSSL-RSA-0.26_patched.tar.gz
# {
# Old Var
#
Download and extract Crypt-OpenSSL-RSA-0.26.tar.gz by run:
cpanp z Crypt::OpenSSL::RSA
Not close command line, but run editor as another process
Open C:\strawberry\cpanplus\5.12.3\build\Crypt-OpenSSL-RSA-0.26\Makefile.PL in editor
replace
==
'LIBS' => ['-lssl -lcrypto'], # e.g., '-lm'
==
to
==
'LIBS' => ($^O eq 'MSWin32') ? ['-lssl32 -leay32'] : ['-lssl -lcrypto'],
==
Save file Makefile.PL
Swith to cpanp process and run:
cpanp i .
Exit from cpan shell by run:
Exit
#
#
# }
===
#{
# Not need ( need may be only for test purpose):
#cpanp i Net::SSLeay
#
#
#}
#
#
#}
Download and extract Net-DNS-0.66_patched.tar.gz by run:
cpanp i http://strawberryperl.com/package/kmx/perl-modules-patched/Net-DNS-0.66_patched.tar.gz
#{
# De-facto:
#
rename netdns.h netdns.h.Orig
Apply "netdns.h.Orig.kmx--perl-modules-patched.Diff" :
==
--- netdns.h.Orig Wed Dec 30 13:01:39 2009
+++ netdns.h Thu Apr 29 16:03:44 2010
@@ -1,5 +1,5 @@
#include
-#if defined(_MSC_VER) || defined(__MINGW32_VERSION)
+#if defined(_MSC_VER) || defined(__MINGW32__)
typedef unsigned char u_char;
#endif
#define TESTVAL 4
==
#
#
#}
# {
# Old Var
#
Download and extract this module:
cpanp z Net::DNS
Not close command line, but run editor as another process
Open C:\strawberry\cpanplus\5.12.3\build\Net-DNS-0.66\netdns.h in editor
replace
==
#if defined(_MSC_VER) || defined(__MINGW32_VERSION)
==
to
==
#if defined(_MSC_VER) || defined(__MINGW32_VERSION) || defined(__MINGW32__)
==
as described in
http://rt.cpan.org/Public/Bug/Display.html?id=57039
For install Net-DNS run:
cpanp i C:\strawberry\cpanplus\5.12.3\build\Net-DNS-0.66
Answer 2 times "y" to continue
#
#
# }
Run:
cpanp i Win32::Daemon
Force install:
cpanp i Time::ParseDate --skiptest
cpanp i File::Scan::ClamAV --skiptest
#{ 2011-05-25 18-32:
# Not need ( need may be only for test purpose):
#cpanp i Mail::DKIM
#
#
#}
# {
# Start part of command related only to ASSP_OCR
#
Save to "ASSP_OCR_prerequisites.cmd"
==
rem # { Need for LEOCHARRE::CLI
cmd /c cpanp i LEOCHARRE::Debug
cmd /c cpanp i Linux::usermod
rem # }
rem # { Need for File::PathInfo
cmd /c cpanp i LEOCHARRE::Class2
cmd /c cpanp i Time::Format --skiptest
cmd /c cpanp i Smart::Comments
rem # }
rem # { Need for File::PathInfo::Ext
cmd /c cpanp i File::Type
rem # }
rem # { Need for LEOCHARRE::CLI2
cmd /c cpanp i Devel::Symdump
cmd /c cpanp i Getopt::Std::Strict
cmd /c cpanp i String::ShellQuote
cmd /c cpanp i LEOCHARRE::Dir --skiptest
rem # }
rem # { Need for PDF::OCR2
cmd /c cpanp i CAM::PDF
cmd /c cpanp i PDF::API2
cmd /c cpanp i PDF::Burst --skiptest
rem # }
==
Run:
ASSP_OCR_prerequisites.cmd
Download and extract LEOCHARRE-CLI-1.19.tar.gz by run:
cpanp z LEOCHARRE::CLI
Not close command line, but run editor as another process
Open
C:\strawberry\cpanplus\5.12.3\build\LEOCHARRE-CLI-1.19\Makefile.PL
in editor
replace
==
if( $^O=~/mswin32/i ) { print("OS unsupported") and exit; }
==
to
==
# Skip Win Os check # if( $^O=~/mswin32/i ) { print("OS unsupported") and exit; }
==
Save file Makefile.PL
Create directory c:\tmp
md c:\tmp
or run not "cpanp i ." but "cpanp i . --skiptest"
Swith to cpanp process and run:
cpanp i .
Exit from cpan shell by run:
Exit
Run:
cpanp z File::PathInfo
Not close command line, but run editor as another process
Open
C:\strawberry\cpanplus\5.12.3\build\File-PathInfo-1.27\Makefile.PL
in editor
replace
==
if( $^O=~/mswin32|cygwin/i ){ die("Unsupported OS."); }
==
to
==
# Skip Win Os check # if( $^O=~/mswin32|cygwin/i ){ die("Unsupported OS."); }
==
Save file Makefile.PL
Swith to cpanp process and run:
cpanp i .
Exit from cpan shell by run:
Exit
Run:
cpanp z File::PathInfo::Ext
Not close command line, but run editor as another process
Open
C:\strawberry\cpanplus\5.12.3\build\File-PathInfo-Ext-1.30\Makefile.PL
in editor
replace
==
if( $^O=~/mswin32/i ){ print "Operating System Unsupported." and exit; }
==
to
==
# Skip Win Os check # if( $^O=~/mswin32/i ){ print "Operating System Unsupported." and exit; }
==
Save file Makefile.PL
Swith to cpanp process and run:
cpanp i . --skiptest
Exit from cpan shell by run:
Exit
Run:
cpanp z LEOCHARRE::CLI2
Not close command line, but run editor as another process
Open
C:\strawberry\cpanplus\5.12.3\build\LEOCHARRE-CLI2-1.16\Makefile.PL
in editor
replace
==
$^O=~/win32|mswin/i and die("OS not supported.\n");
==
to
==
# Skip Win Os check # $^O=~/win32|mswin/i and die("OS not supported.\n");
==
Save file Makefile.PL
Swith to cpanp process and run:
cpanp i .
Exit from cpan shell by run:
Exit
Run:
cpanp z PDF::GetImages
Not close command line, but run editor as another process
Open
C:\strawberry\cpanplus\5.12.3\build\PDF-GetImages-1.17\Makefile.PL
in editor
replace
==
use lib './inc';
use Devel::AssertOS qw/Unix/;
use Devel::AssertEXE qw/pdfimages/;
==
to
==
# Skip Win Os check # use lib './inc';
# Skip Win Os check # use Devel::AssertOS qw/Unix/;
# Skip Win Os check # use Devel::AssertEXE qw/pdfimages/;
==
Save file Makefile.PL
Swith to cpanp process and run:
cpanp i . --skiptest
Exit from cpan shell by run:
Exit
Run:
cpanp z Image::OCR::Tesseract
Not close command line, but run editor as another process
Open
C:\strawberry\cpanplus\5.12.3\build\Image-OCR-Tesseract-1.24\Makefile.PL
in editor
replace
==
use lib inc; #__assertexe__#
use Devel::AssertOS qw(Unix Linux);
use Devel::AssertEXE qw(tesseract convert); #__assertexe__#
==
to
==
# Skip Win Os check # use lib inc; #__assertexe__#
# Skip Win Os check # use Devel::AssertOS qw(Unix Linux);
# Skip Win Os check # use Devel::AssertEXE qw(tesseract convert); #__assertexe__#
==
Save file Makefile.PL
Swith to cpanp process and run:
cpanp i .
Download and extract PDF-OCR2-1.20.tar.gz by run:
cpanp z PDF::OCR2
Not close command line, but run editor as another process
Open
C:\strawberry\cpanplus\5.12.3\build\PDF-OCR2-1.20\Makefile.PL
in editor
replace
==
$^O=~/win32|mswin/i and die("OS not supported.\n");
==
to
==
# Skip Win Os check # $^O=~/win32|mswin/i and die("OS not supported.\n");
==
Save file Makefile.PL
Swith to cpanp process and run:
cpanp i . --skiptest
Exit from cpan shell by run:
Exit
Run for install Image::Magick :
cpanp i C:\BIN\ImageMagick\PerlMagick
#
# End part of command related only to ASSP_OCR
# }
Create C:\assp
md C:\assp
Extract to it from ASSP_2.0.1_3.0.14_install.zip subdir \assp\
Upgrade assp.pl to latest version
Extract mod_inst.pl from assp.mod.zip to C:\assp\
Open by editor mod_inst.pl
replace
==
"MSWin32"
==
to
==
"SkipCheckOfMSWin32"
==
replace
==
$cmd = "cpan
==
to
==
$cmd = "cpanp i
==
Save file
cd C:\assp\
Run
perl mod_inst.pl
Answer "y" to all ask a-la "Continue anyway?"
Install ASSP as service by run:
perl assp.pl c:\assp -i
Screenshot:
==
C:\assp>perl assp.pl c:\assp -i
ASSP 2.0.2(3.0.19) is starting in directory c:/assp
on host YoureComputerName
using Perl C:\strawberry\perl\bin\perl.exe version 5.012003 (5.12.3)
compiling code please wait .....ASSP service successfully added.
. . .
==
BackLink:
http://sourceforge.net/apps/phpbb/assp/viewtopic.php?f=6&t=1346
–
[...]
HowTo: Strawberry Perl v5.12.3 x64 upgrade to OpenSSL v1.0.0d from OpenSSL 1.0.0-beta4[...]http://vvm.blog.tut.by/2011/06/01/howto-strawberry-perl-v5-12-3-x64-upgrade-to-openssl-v1-0-0d-from-openssl-1-0-0-beta4/
–
[...]
For error-free operation of the module Net-Dns in Perl64 on Windows x64 You need to fix the module Win32-IPHelper using patch Win32_IPHelper_64bit.diff[...]http://vvm.blog.tut.by/2011/05/25/for-ok-net-dns-in-perl64-on-windows-x64-need-to-fix-win32-iphelper-using-patch-win32_iphelper_64bit-diff/
–