cygwin32 update (untested adaptation of patch against 5.005_03)
[p5sagit/p5-mst-13.2.git] / cygwin32 / build-instructions.charles-wilson
1 DATE: 2 April 99
2
3 Here are a few hints for building perl with cygwin:
4
5 (1) There have been some problems compiling with the default compiler installed with cygwin-b20.1. Some of the patches in perl5.005_03.patch attempt to correct this, but it would probably be a good idea to upgrade your compiler to egcs-1.1.1 (or better) from Mumit Khan's website -- http://www.xraylith.wisc.edu/~khan/software/gnu-win32/
6
7 (2) To avoid some failures when doing a "make test", use CYGWIN=ntea while testing. However, see the Cygwin FAQ concerning the use of ntea with FAT partitions. The tests that fail are those that deal with file ownership and access.
8
9 (3) Perl should build without trouble under text mounts or binary mounts. However, some tests ("make test") may fail when using text mounts. The tests that fail are those that involve using tie() to attach a hashtable variable to a file.
10
11 (4) As of 3/8/98, building and linking new modules into the perl executable rus into problems when using binary mounts. We're still tracking this one down.
12
13 (5) There have been a few hints that some tests may also fail depending on whether you're building, testing, and/or installing as a normal user, or as a member of the Administrators group (NT only). However, we're not sure about this one yet.
14
15 (6) When compiling static modules for perl, don't mix modules compiled under text mounts and modules compiled under binary mounts.
16
17 (7) The sourcefiles in the tarball extract as "-r--r--r--" by default, so you need to "chmod -R +w *' in order to patch successfully.
18
19 (8) To make life easier, you should download ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/porters/Humblet_Pierre_A/install-cygwin-b20.sh, and use it as your install "executable." Just follow the instructions that are embedding as comments in the .sh file.
20
21 (9) There were a number of failed operations when installing. These were
22         (a) trying to create man pages whose names had ":" in them -- i.e. man/man3/Tie::Array.3
23         (b) for some reason, the installer had difficulty copying the SRCDIR/pod/*.pod files to /usr/local/lib/perl5/perl5.00503/pod/ directory. I did it by hand. It's not really that important - the pod files are converted to man pages, and the man pages are installed successfully. So you don't really need to keep the pod's around.
24
25
26 RESULTS:
27 ****************************************************
28
29 I built and tested as a normal user (not Administrator and not a member of the Administrators group). However, I had to switch to Administrator to install because the permissions on my /usr/local/bin were wrong.
30
31 RESULTS: make test
32 ------------------
33
34 Failed 4 test scripts out of 190, 92.63% okay.
35 u=2.143  s=4.897  cu=120.165  cs=159.697  scripts=180  tests=6430
36
37 RESULTS: ./perl harness
38 -----------------------
39 most things were "foo/bar............ok" with the following exceptions:
40
41
42 base/rs.............ok, 4/14 subtests skipped
43 op/groups...........skipping test on this platform
44 op/magic............FAILED test 23
45         Failed 1/35 tests, 97.14% okay (-4 skipped tests: 30 okay, 85.71%)
46 op/stat.............ls: /dev: No such file or directory
47 FAILED tests 4, 35
48         Failed 2/58 tests, 96.55% okay
49 op/taint............FAILED tests 1, 3, 31
50         Failed 3/149 tests, 97.99% okay (-12 skipped tests: 134 okay, 89.93%)
51         (Also got the following popup message four times - "The dynamic link 
52         library cygwin1.dll could not be found in the specified path 
53         F:\cygnus\cygwin-b20\usr\local\src\perl5.005_03\t;.;
54         E:\WINNT\System32;E:\WINNT\system;E:\WINNT;..")
55 lib/findbin.........FAILED test 1
56         Failed 1/1 tests, 0.00% okay
57 lib/gdbm............skipping test on this platform
58 lib/ipc_sysv........skipping test on this platform
59 lib/ndbm............skipping test on this platform
60 lib/odbm............skipping test on this platform
61 lib/posix...........skipping test on this platform
62 lib/thread..........skipping test on this platform
63
64 Failed Test  Status Wstat Total Fail  Failed  List of failed
65 -------------------------------------------------------------------------------
66 lib/findbin.t                 1    1 100.00%  1
67 op/magic.t                   35    1   2.86%  23
68 op/stat.t                    58    2   3.45%  4, 35
69 op/taint.t                  149    3   2.01%  1, 3, 31
70 10 tests skipped, plus 20 subtests skipped.
71 Failed 4/190 test scripts, 97.89% okay. 7/6430 subtests failed, 99.89% okay.