Check that the Environment variable is empty
Download and install MinGW (With MSYS Basic System)
Download and install Strawberry perl
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
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
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
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