Installing GiP on XP
MacFH - C E Macfarlane
c.e.macfarlane at macfh.co.uk
Wed Dec 27 04:57:03 PST 2017
It has been said in these august journals that it is not possible to run
the most recent editions of GiP on Windows XP, but actually this is not
true, I have managed to get v3.07 to work on XP. It has just finished
downloading the first of this year's Royal Christmas Lectures. For
those interested, I explain how I accomplished this below, everyone else
can safely ignore ...
The instructions that follow assume that the Strawberry Perl supplied
with GiP no longer supports XP, but if this is incorrect, the following
can be simplified. They also supply some extra modules for
GetFlashVideos and the W3C web page validator, although, as I write, GFV
is not working, probably because of the recent necessity of signing in,
and a critical module for the latter is missing as I have been unable to
find anyone that has installed it successfully on any Windows system.
If this seems illogical, the logic is simply that I use a single list of
Perl modules I need to install for both Linux and Windows systems!
1) If you don't already have GiP and its associated helper programs
such as FFMPEG and AtomicParsley installed, begin by installing the
latest version.
2) Remove all previous versions of Perl, including any version of
Strawberry Perl installed in Step 1 by going into Control Panel, Add &
Remove Programs, and uninstalling them. If either of the following or
similar directories remain, delete them manually in Explorer:
C:\Perl
C:\Program Files\Perl
3) Install the last or nearly so version of Active Perl that will run
on XP, I used ...
ActivePerl-5.20.2.2002-MSWin32-x86-64int-299195.msi
... which I downloaded a while ago, but could no longer find on the
Active Perl site when I checked for this documentation. I can make it
available on request.
IMPORTANT #1: Perl should be installed into a directory without
spaces in its path, so NOT ...
C:\Program Files\Perl
... but alternative suggestions are ...
C:\Perl (the default)
... or if you prefer to keep your root directory clean ...
C:\Programs\Perl
... which is where I installed it, having alrady installed GiP to ...
C:\Programs\GetIPlayer
IMPORTANT #2: Perl should be added to the system path, so choose this
option during the setup routine. If you also have MinGW32 installed,
ensure that the Perl directories precede the MinGW32 directories in the
path. To check this, open a command console and give the command ...
perl --version
... which should give you the same version number that you've just
installed.
4) Install the necessary modules which, including the extras
described above, are ...
Authen::SASL
Compress::Zlib
Crypt::Rijndael
Data::AMF
LWP
Module::Find
MP3::Info
MP3::Tag
Net::SMTP::SSL
Net::SMTP::TLS
Net::SMTP::TLS::ButMaintained
Term::ProgressBar
WWW::Mechanize
XML::Simple
... but besides themselves some involve installing other prerequisite
dependencies, and you can just about guarantee that the following three
required modules will cause problems ...
Data::AMF
Encode::JIS2K
XML::LibXML
... but never mind them for the moment. Fire away by going into a
command prompt with Perl on the path and running the following command,
which should be entered as a single command line without any embedded
carriage returns:
cpan CPAN Authen::SASL Compress::Zlib Crypt::Rijndael LWP
Module::Find MP3::Info MP3::Tag Net::SMTP::SSL Net::SMTP::TLS
Net::SMTP::TLS::ButMaintained Term::ProgressBar WWW::Mechanize
XML::Simple Data::AMF
If you do not already have a developement system installed, the above
installations will automatically be preceded by running a MinGW + DMake
installation. Some time will pass, with stuff scrolling past, mostly in
green and white, but the modules that error will produce some red;
ignore these for the moment and let the entire command complete, errors
or no. Then we can deal with the problems, one by one.
5) Data::AMF is the easiest, as it only errors in the test phase, so
give the command ...
cpan -T Data::AMF
... to install it without running the test phase.
6) Next easiest is Encode::JIS2K, which needs an edit to its Perl
make file, but, to see the wood for the trees, clear away the previous
installation files, both those that succeeded and those that failed, by
in Explorer deleting all the files and subdirectories, but leaving the
'build' folder itself, from ...
<path>\Perl\cpan\build
... so in my example ...
C:\Programs\Perl\cpan\build
Now run ...
cpan Encode::JIS2K
... which will fail, but will have created a new subfolder of the above
'build' directory. Give the command
pushd <above new subfolder>
... to change to this new subfolder, and then ...
notepad Makefile.PL
... overwriting line 35 to read ...
$enc2xs = $enc2xs_fpath if (-x $enc2xs_fpath || -x
"$enc2xs_fpath.bat");
... saving the change, and exiting. Now give the commands ...
perl Makefile.PL
dmake
dmake test
dmake install
popd
... all of which should run correctly, leaving you back in your original
directory, wherever that was. You can now delete the above new build
subfolder, as it is no longer needed.
XML::LibXML is far more tricky, but nevertheless can be done; hold on
tight and follow me. There are four main difficulties:
:-( Before trying to install it via cpan in the normal way,
there are some supporting programs that must be installed. These are
available from (note that despite the parent folder being called
'64bit', this link has BOTH 32-bit x86 and 64-bit x86_64 files in the
same folder, choose the appropriate set for your version of XP) ...
1) Either 32-bit ...
ftp://ftp.zlatkovic.com/libxml/64bit/iconv-1.14-win32-x86.7z
ftp://ftp.zlatkovic.com/libxml/64bit/libxml2-2.9.3-win32-x86.7z
ftp://ftp.zlatkovic.com/libxml/64bit/zlib-1.2.8-win32-x86.7z
Or 64-bit ...
ftp://ftp.zlatkovic.com/libxml/64bit/iconv-1.14-win32-x86_64.7z
ftp://ftp.zlatkovic.com/libxml/64bit/libxml2-2.9.3-win32-x86_64.7z
ftp://ftp.zlatkovic.com/libxml/64bit/zlib-1.2.8-win32-x86_64.7z
2) Either 32 bit ...
http://ftp.acc.umu.se/pub/gnome/binaries/win32/dependencies/gettext-0.18.1.1.tar.gz
Or 64-bit ...
http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/gettext-tools-dev_0.18.1.1-2_win64.zip
All the contents of these zips should be extracted preserving their
sub-directory structure to the following folder ...
<path>\Perl\site
... so in my example ...
C:\Programs\Perl\site
... so you should end up with at least ...
<path>\Perl\site\bin
<path>\Perl\site\include
<path>\Perl\site\lib
... containing, as well as many files that were there before, the
contents of the above zips.
:-( Once these prerequisite have been installed, the are three
further 'tweaks' required, two at this stage, one later.
Tweak #1: Rename libz.a to zlib.a
REN <path>\Perl\site\lib\libz.a zlib.a
Tweak #2: Under <path>\Perl\site\include, move the libxml
folder up one level:
MOVE <path>\Perl\site\include\libxml2\libxml
<path>\Perl\site\include
RD <path>\Perl\site\include\libxml2
Now we can try building XML::LibXML in the normal way, but it will still
fail the first two times:
cpan XML::LibXML
Once it fails for the first time, as before change to the newly created
sub-folder of <path>\Perl\cpan\build, and then give a more informative
first build command, remembering to change <path> to your Perl
installation directory ...
pushd <above new subfolder>
perl Makefile.PL INC=-I<path>\Perl\site\include
LIBS=-L<path>\Perl\site\lib
... but it still fails a second time at the end. Next it's time for ...
:-(
Tweak #3: Neuter the static libXML library by renaming it:
REN <path>\Perl\site\lib\libxml2.a libxml2.a.not
Now the build process should complete manually succesfully ...
perl Makefile.PL INC=-I<path>\Perl\site\include
LIBS=-L<path>\Perl\site\lib
dmake
dmake test
dmake install
popd
... again leaving you back in your original directory, wherever that
was. You can now delete the above new build subfolder, as it is no
longer needed.
As a final check, resubmitting the original mega cpan installation
command from section 4) should quickly give a list of all the
prerequisites with 'is up to date' alongside each.
Now, as long as <path>\Perl and <path>\Perl\site\bin are on your system
path, you should be good to go.
I acknowledge the following sources for help with the above:
Encode::JIS2K https://rt.cpan.org/Public/Bug/Display.html?id=110069
XML::LibXML
https://www.opswat.com/blog/installing-libxml-perl-module-microsoft-windows
HTH,
Regards.
More information about the get_iplayer
mailing list