Discussion:
Installing GiP on XP
MacFH - C E Macfarlane
2017-12-27 12:57:03 UTC
Permalink
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.
MacFH - C E Macfarlane
2017-12-31 21:54:41 UTC
Permalink
Addendum:
    For the latest versions of GiP & GFV, you may wish to add the
following to the cpan command in stage 4:
        Mojolicious
        LWP::Protocol::socks
        Tie::IxHash
Post by MacFH - C E Macfarlane
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
    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
        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
    :-(    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
            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
    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 ...
    :-(
            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.
    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.
_______________________________________________
get_iplayer mailing list
http://lists.infradead.org/mailman/listinfo/get_iplayer
Continue reading on narkive:
Loading...