Table of Contents

Compile acdsn-a for Windows

This describe the compilation done on a Mac OSX 10.6.8, 2GHz Intel Core Duo,
with windows XP (EN) Pro SP2 running on Parallels Desktop (Build 6.0.12106).
So, This is a 32 bit version!
We also tested the compilation on a Mac OSX 10.8, 2.7GHz Intel Core i5,
with windows 7 (EN) Ultimate running on Parallels Desktop (Build 7.0.15107).
So, This is a 64 bit version!

Check that the Environment variable is empty

Download and install MinGW (With MSYS Basic System)

Download and install Strawberry perl

MinGW

Compile and install libconfig in the C:/libconfig directory

Administrator@prive /c/tmp/libconfig-1.4.8/libconfig-1.4.8
$ ./configure --prefix=C:/libconfig
 
Administrator@prive /c/tmp/libconfig-1.4.8/libconfig-1.4.8
$ make
 
Administrator@prive /c/tmp/libconfig-1.4.8/libconfig-1.4.8
$ make install

Compile and install pkg-config in the C:/tmp/pkg-config-0.27 directory FIXME

Administrator@prive /c/tmp/pkg-config-0.27
$ ./configure
 
Administrator@prive /c/tmp/pkg-config-0.27
$ make
 
Administrator@prive /c/tmp/pkg-config-0.27 
$ make install
checking for pkg-config... no
./configure: line 13506: --exists: command not found
configure: error: pkg-config and "glib-2.0 >= 2.16" not found, please set GLIB_C
FLAGS and GLIB_LIBS to the correct values or pass --with-internal-glib to config
ure

Download pkg-config from http://www.gtk.org/download/win64.php Download pkg-config, gettext and glib2 from the GTK project. Unzip the files and install them under /MinGW/bin

THIS WORKS: all-in-one bundles of the GTK+ stack including 3rd-party dependencies, both of GTK+ 2.16

Strawberry Perl

Define a local library area `Start > Strawberry Perl > Tools > Create local library areas`:

Do you wish to install future modules in a local area? [y/N] y
Where do you want to install modules? [C:\DOCUME~1\ADMINI~1\perl5] C:\perl5

Check path

C:\WINDOWS>set path=%path%;C:\perl5\bin;C:\MinGW\bin

Update CPAN modules1)

C:\>cpan App::cpanminus
C:\>cpanm App::cpanoutdated
C:\>cpan-outdated -p | cpanm

Install Wx

C:\>cpan Wx

Install ExtUtils::PkgConfig

C:\>cpanm ExtUtils::PkgConfig

C:\tmp\Conf-Libconfig-0.06>perl Makefile.PL LIBS=-LC:/libconfig/lib INC=-IC:/lib config/include Package libconfig was not found in the pkg-config search path. Perhaps you should add the directory containing `libconfig.pc' to the PKG_CONFIG_PATH environment variable No package 'libconfig' found

C:\tmp\Conf-Libconfig-0.06>set PKG_CONFIG_PATH=C:\libconfig\lib\pkgconfig

Install Conf::Libconfig (from source)

C:\tmp\Conf-Libconfig-0.06>perl Makefile.PL LIBS=-LC:/libconfig/lib INC=-IC:/libconfig/include
C:\tmp\Conf-Libconfig-0.06>dmake

If your get such lines:

Libconfig.o:Libconfig.c:(.text+0xe6): undefined reference to `_imp__config_setting_get_int_elem'

Add to Makefile sections EXTRALIBS and LDLOADLIBS the line “C:\libconfig\lib\libconfig.dll.a ”

EXTRALIBS = C:\libconfig\lib\libconfig.dll.a C:\strawberry\c\i686-w64-mingw32\lib\libmoldname.a C:\strawberry\c\i686-w64-mingw32\lib\libkernel32.a C:\strawberry\c\i686-w64-mingw32\lib\libuser32.a C:\strawberry\c\i686-w64-mingw32\lib\libgdi32.a C:\strawberry\c\i686-w64-mingw32\lib\libwinspool.a C:\strawberry\c\i686-w64-mingw32\lib\libcomdlg32.a C:\strawberry\c\i686-w64-mingw32\lib\libadvapi32.a C:\strawberry\c\i686-w64-mingw32\lib\libshell32.a C:\strawberry\c\i686-w64-mingw32\lib\libole32.a C:\strawberry\c\i686-w64-mingw32\lib\liboleaut32.a C:\strawberry\c\i686-w64-mingw32\lib\libnetapi32.a C:\strawberry\c\i686-w64-mingw32\lib\libuuid.a C:\strawberry\c\i686-w64-mingw32\lib\libws2_32.a C:\strawberry\c\i686-w64-mingw32\lib\libmpr.a C:\strawberry\c\i686-w64-mingw32\lib\libwinmm.a C:\strawberry\c\i686-w64-mingw32\lib\libversion.a C:\strawberry\c\i686-w64-mingw32\lib\libodbc32.a C:\strawberry\c\i686-w64-mingw32\lib\libodbccp32.a C:\strawberry\c\i686-w64-mingw32\lib\libcomctl32.a
 
LDLOADLIBS = C:\libconfig\lib\libconfig.dll.a C:\strawberry\c\i686-w64-mingw32\lib\libmoldname.a C:\strawberry\c\i686-w64-mingw32\lib\libkernel32.a C:\strawberry\c\i686-w64-mingw32\lib\libuser32.a C:\strawberry\c\i686-w64-mingw32\lib\libgdi32.a C:\strawberry\c\i686-w64-mingw32\lib\libwinspool.a C:\strawberry\c\i686-w64-mingw32\lib\libcomdlg32.a C:\strawberry\c\i686-w64-mingw32\lib\libadvapi32.a C:\strawberry\c\i686-w64-mingw32\lib\libshell32.a C:\strawberry\c\i686-w64-mingw32\lib\libole32.a C:\strawberry\c\i686-w64-mingw32\lib\liboleaut32.a C:\strawberry\c\i686-w64-mingw32\lib\libnetapi32.a C:\strawberry\c\i686-w64-mingw32\lib\libuuid.a C:\strawberry\c\i686-w64-mingw32\lib\libws2_32.a C:\strawberry\c\i686-w64-mingw32\lib\libmpr.a C:\strawberry\c\i686-w64-mingw32\lib\libwinmm.a C:\strawberry\c\i686-w64-mingw32\lib\libversion.a C:\strawberry\c\i686-w64-mingw32\lib\libodbc32.a C:\strawberry\c\i686-w64-mingw32\lib\libodbccp32.a C:\strawberry\c\i686-w64-mingw32\lib\libcomctl32.a

Then go for compilation and installation

C:\tmp\Conf-Libconfig-0.06>dmake
C:\tmp\Conf-Libconfig-0.06>dmake install

If your get such lines:

Can't load 'C:/strawberry/perl/site/lib/auto/Conf/Libconfig/Libconfig.dll'

Add the missing dll

Install Win32::SerialPort

If in a virtual machine, be sure that you have a COM port available. Otherwise the package will fail during testing procedure.

C:\WINDOWS>cpan Win32::SerialPort

or if you do not have a serial port,

cpan> notest install Win32::SerialPort

C:\tmp\Conf-Libconfig-0.06>cpan Smart::Comments

Needed for Par Packer

C:\WINDOWS>cpan Module::ScanDeps --> Failed
C:\WINDOWS>cpanm Module::ScanDeps --> Successful

FIXME http://www.nntp.perl.org/group/perl.par/2012/03/msg5308.html SET PATH=%MYPERL_EXTRA_PATH%;%PATH%

Install Par Packager

C:\tmp\iButtonLock\iButtonLock>cpan pp --> Failed
C:\tmp\iButtonLock\iButtonLock>cpanm pp --> Failed

OK, There is a bug2)

Mingw sbolay@WIN7-64 /c/strawberry/cpan/build $ patch -p0 < PAR-Packer-1.013_V2.diff patching file 'PAR-Packer-1.013\myldr\Makefile.PL' patching file 'PAR-Packer-1.013\myldr\winres\pp.rc' patch unexpectedly ends in middle of line

Strawberry perl Makefile.PL dmake test dmake install

Strawberry Perl 5.16.1.1-32bit README

and now Strawberry Perl (64-bit) 5.16.1.1-64bit README

http://www.dependencywalker.com http://asciiville.com/musings/par-packer-for-strawberry-perl-516

Some packages can be downloaded from gtk.org