diff options
Diffstat (limited to 'Master/source/tlperl/tlperl.README')
-rw-r--r-- | Master/source/tlperl/tlperl.README | 98 |
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 |