This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
93c718f0edf28a2c89df63e814a951357638ddd2
[perl5.git] / cygwin32 / build-instructions.charles-wilson
1 This document is obsolete. Refer to README.cygwin32.
2
3 DATE: 13 May 99
4
5 Here are a few hints for building perl with cygwin:
6
7 (1) There have been some problems compiling with the default compiler 
8 installed with cygwin-b20.1. If you're reading this file, then you've
9 already applied perl5.005_03-static-patch. Some of the patches in 
10 perl5.005_03-static-patch attempt to correct these problems, but it 
11 would probably be a good idea to upgrade your compiler to egcs-1.1.1
12 (or better) from Mumit Khan's website -- 
13 http://www.xraylith.wisc.edu/~khan/software/gnu-win32/
14
15 (2) To avoid some failures when doing a "make test", use CYGWIN=ntea 
16 while testing. However, see the Cygwin FAQ concerning the use of ntea 
17 with FAT partitions. The tests that fail are those that deal with file 
18 ownership and access.
19
20 (3) Perl should build without trouble under text mounts or binary 
21 mounts. However, some tests ("make test") may fail when using text 
22 mounts. The tests that fail are those that involve using tie() to 
23 attach a hashtable variable to a file.
24
25 (4) There have been a few hints that some tests may also fail depending 
26 on whether you're building, testing, and/or installing as a normal 
27 user, or as a member of the Administrators group (NT only). However, 
28 we're not sure about this one yet.
29
30 (5) When compiling static modules for perl, don't mix modules compiled 
31 under text mounts and modules compiled under binary mounts.
32
33 (6) The sourcefiles in the tarball extract as "-r--r--r--" by default.
34 This may or may not cause problems, depending on your setup. To be safe,
35 I executed "chmod -R +w *". 
36
37 (7) To make life easier, you should download install-cygwin-b20.sh from 
38 ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/
39   porters/Humblet_Pierre_A/
40 and use it as your install "executable."  Just follow the instructions
41 that are embedded as comments in that shell script.
42
43 (8) There were a number of failed operations when installing. These
44 occurred in two cases: first, when trying to create man pages whose
45 names had ":" in them -- i.e. man/man3/Tie::Array.3, and second,
46 when copying the pod files from SRCDIR/pod/*.pod to 
47 /usr/local/lib/perl5/perl5.00503/pod/. I'm not sure why, but I just
48 completed that operation by hand afterwards. 
49
50 RESULTS:
51 ****************************************************
52
53 I built and tested as a normal user (not Administrator and not a member 
54 of the Administrators group). However, I had to 
55 'chown -R cwilson /usr/local/*' in order to avoid various NTisms.
56 (Previously, my /usr/local tree was owned by the Administrators GROUP,
57 and since I was building as a normal user, I couldn't install 
58 completely. Why didn't I just switch to the Administrator account to
59 install? Well, that has its own share of problems: basically, the 
60 Administrator couldn't write to those directories either - they were
61 owned by the Admin group, not the Admin user. And the permissions were
62 -rw-r--r-- (or -r--r--r--), so group members weren't allowed write 
63 access. Blame MS.)
64
65 RESULTS: make test
66 ------------------
67
68 Failed 4 test scripts out of 190, 92.63% okay.
69 u=2.143  s=4.897  cu=120.165  cs=159.697  scripts=180  tests=6430
70
71 RESULTS: ./perl harness
72 -----------------------
73 most things were "foo/bar............ok" with the following exceptions:
74
75
76 base/rs.............ok, 4/14 subtests skipped
77 op/groups...........skipping test on this platform
78 op/magic............FAILED test 23
79         Failed 1/35 tests, 97.14% okay (-4 skipped tests: 30 okay, 
80 85.71%)
81 op/stat.............ls: /dev: No such file or directory
82 FAILED tests 4, 35
83         Failed 2/58 tests, 96.55% okay
84 op/taint............FAILED tests 1, 3, 31
85         Failed 3/149 tests, 97.99% okay (-12 skipped tests: 134 okay, 
86 89.93%)
87         (Also got the following popup message four times - "The dynamic 
88 link 
89         library cygwin1.dll could not be found in the specified path 
90         F:\cygnus\cygwin-b20\usr\local\src\perl5.005_03\t;.;
91         E:\WINNT\System32;E:\WINNT\system;E:\WINNT;..")
92 lib/findbin.........FAILED test 1
93         Failed 1/1 tests, 0.00% okay
94 lib/db-btree........skipping test on this platform
95 lib/db-hash.........skipping test on this platform
96 lib/db-recno........skipping test on this platform
97 lib/gdbm............skipping test on this platform
98 lib/ipc_sysv........skipping test on this platform
99 lib/ndbm............skipping test on this platform
100 lib/odbm............skipping test on this platform
101 lib/posix...........skipping test on this platform
102 lib/thread..........skipping test on this platform
103
104 Failed Test  Status Wstat Total Fail  Failed  List of failed
105 ------------------------------------------------------------------------
106 -------
107 lib/findbin.t                 1    1 100.00%  1
108 op/magic.t                   35    1   2.86%  23
109 op/stat.t                    58    2   3.45%  4, 35
110 op/taint.t                  149    3   2.01%  1, 3, 31
111 10 tests skipped, plus 20 subtests skipped.
112 Failed 4/190 test scripts, 97.89% okay. 7/6430 subtests failed, 99.89% 
113 okay.