summaryrefslogtreecommitdiff
path: root/Master/source/tlperl/tlperl.README
diff options
context:
space:
mode:
Diffstat (limited to 'Master/source/tlperl/tlperl.README')
-rw-r--r--Master/source/tlperl/tlperl.README98
1 files changed, 54 insertions, 44 deletions
diff --git a/Master/source/tlperl/tlperl.README b/Master/source/tlperl/tlperl.README
index 5dfce7c5a38..f174f486365 100644
--- a/Master/source/tlperl/tlperl.README
+++ b/Master/source/tlperl/tlperl.README
@@ -1,27 +1,31 @@
-NOTES ON BUILDING TLPERL 2017
+NOTES ON BUILDING TLPERL 2018
BUILD PLATFORM
-64-bits Windows 7 SP1 running under VirtualBox on
+64-bits Windows 10 FCU running under VirtualBox on
Linux.
GETTING THE PERL SOURCE
-I downloaded the latest stable Perl source 5.24.1 from CPAN.
+I downloaded the latest stable Perl source 5.26.1 from CPAN.
THE COMPILER
The file README.win32 in the root of the distribution contains
compilation instructions, which lists various supported MinGW
-distributions. I used mingw64-w32-gcc4.9.2_20150513.zip from
-https://sourceforge.net/projects/mingw-w64/ and
-32bit_dmake-4.12.2-bin_20140810.zip from
-http://strawberryperl.com/package/kmx/32_tools/
-respectively. dmake.exe and the dmake startup subdirectory are in
-the bin subdirectory of the unpacked mingw.
+distributions.
-This MinGW compiler does not require installation; it is sufficient
-to prepend <root>\bin to the searchpath before use.
+I went with MSYS2 from https://sourceforge.net/projects/msys2/,
+which is a minimal Cygwin-like environment to run autotools, which I
+expect to need at a later date. It includes the package manager
+Pacman from Arch Linux, with which I first updated everything and
+then installed mingw-w64-i686-gcc and mingw-w64-i686-dmake. The web
+page
+https://stackoverflow.com/questions/30069830/how-to-install-mingw-w64-and-msys2
+made the process much clearer.
+
+The compiler can be used outside the MSYS2 environment simply by prepending
+<msys2 root>/mingw32/bin to the searchpath before use.
BUILDING PERL
@@ -43,7 +47,7 @@ I installed with
MAKING PERL PORTABLE
There were hard-coded paths in lib/Config.pm and
-lib/Config_heavy.pl, which were likely to cause problems.
+lib/Config_heavy.pl, which might cause problems.
I edited lib/Config.pm and lib/Config_heavy.pl to compute Perl's
location dynamically. To both I add the code
@@ -72,13 +76,14 @@ with
perl Makefile.PL && dmake && dmake test && dmake install
-All modules for which tests were defined got a pass. They are, in
-order of processing:
+All modules for which tests were defined got a pass, except for Tk,
+where dmake test would not even run. They are, in order of
+processing:
Math::Int64 0.54
IO::String 1.08
Digest::SHA1 2.13
-File::Which 1.21
+File::Which 1.22
Encode::compat 0.07
Encode::Locale 1.05
@@ -91,59 +96,64 @@ Win32API::Registry 0.33
Win32::Console 0.10 (no tests)
Win32::TieRegistry 0.30
Win32::Shortcut 0.08 (no tests)
-Win32::OLE 0.1712
-Win32-Process-0.16
+Win32::OLE 0.1712 (added later). For errors, see below:
+ Test Summary Report
+ -------------------
+ t/2_variant.t (Wstat: 0 Tests: 38 Failed: 1)
+ Failed test: 27
+ Files=7, Tests=40, 2 wallclock secs ( 0.16 usr + 0.08 sys = 0.23 CPU)
+ Result: FAIL
+ Failed 1/7 test programs. 1/40 subtests failed.
+ dmake: Error code 255, while making 'test_dynamic'
+# skipped, probably not needed
+ #Win32::Process 0.16
LWP and dependencies, in order of compilation/installation:
-Socket 2.024
+Socket 2.027
Date::Parse 2.30 (file TimeDate-2.30.tar.gz)
HTTP::Date 6.02
File::Listing 6.04
IO::HTML 1.001
LWP::MediaTypes 6.02
-URI 1.71
-HTTP::Message 6.11
+Test::Needs 0.002005
+URI 1.73
+Try::Tiny 0.30
+HTTP::Message 6.14
HTML::Tagset 3.20
HTML::Parser 3.72
WWW::RobotRules 6.02
HTTP::Negotiate 6.01
-Net::HTTP 6.13
+Net::HTTP 6.17
Mozilla::CA 20160104
HTTP::Daemon 6.01
-HTTP::Cookies 6.03
-Try::Tiny 0.28
+HTTP::Cookies 6.04
Test::Fatal 0.014
Test::RequiresInternet 0.05
-LWP 6.25 (file libwww-perl-6.15.tar.gz)
+LWP 6.31 (file libwww-perl-6.31.tar.gz)
Perl/Tk:
-Tk 804.033
+Tk 804.034
-This module did not compile rightaway:
+Based on prior experience:
-1. In Tk-804.033/PNG/zlib/win32/zlib.def I had to comment out the
- LIBRARY line at the start of the file. It might be well to do
- this before running 'perl Makefile.PL'.
+1. Before running 'perl Makefile.PL', I commented out the LIBRARY
+ line at the start of in Tk-804.033/PNG/zlib/win32/zlib.def.
-2. An entry '-limm32' somehow did not make it into LDLOADLIBS in the
- generated Makefile in the Tk source root directory. After
- manually adding this at the end of the LDLOADLIBS definition,
- dmake did succeed.
+2. Before running dmake, I added an entry '-limm32' at the end of
+ the LDLOADLIBS line in the generated Makefile in the Tk source
+ root directory.
-Tk-DirSelect 1.12
+dmake itself succeeded, running dmake test failed due to problems
+with the makefile. I installed the module anyway.
-JSON support, added october 25 2017:
+Tk-DirSelect 1.12
-JSON 2.94
-Canary::Stability 2012
-common::sense 3.74
-Types::Serialiser 1.0
-JSON::XS 3.04
+JSON support
-I temporarily added pl2bat.[bin|pl] to tlperl/bin/ because dmake test
-required it for one of these modules.
+Cpanel::JSON::XS 4.01
+JSON::MaybeXS 1.003010
MODIFICATIONS FOR TEXLIVE
@@ -153,7 +163,7 @@ MODIFICATIONS FOR TEXLIVE
- The lib/pods directory has been removed, to save some space.
- The bin subdirectory now only contains exe- and dll files;
batch files and Perl scripts have been removed.
-- Copied from mingw/bin to tlperl/bin:
+- Copied from mingw32/bin to tlperl/bin:
libgcc_s_dw2-1.dll, libstdc++-6.dll and libwinpthread-1.dll
TESTING WITH TEXLIVE
@@ -172,4 +182,4 @@ uninstaller.
Siep Kroonenberg
-Last revision: April 2017
+Last revision: February 2018