This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
make ~$x give warning is $x isn't initialised.
[perl5.git] / README.solaris
index 202c8ff..e1590d1 100644 (file)
@@ -233,16 +233,6 @@ You may have to manually edit config.sh and add the -Wl,-E flags
 yourself, or else run Configure interactively and add the flags at the
 appropriate prompts.
 
-In SunOS 4.x you most probably want to use the SunOS ld, /usr/bin/ld,
-since the more recent versions of GNU ld (like 2.13) do not seem to
-work for building Perl anymore.  When linking the extensions, the
-GNU ld gets very unhappy and spews a lot of errors like this
-
-  ... relocation truncated to fit: BASE13 ...
-
-and dies.  Therefore the SunOS 4.1 hints file explicitly sets the
-ld to be /usr/bin/ld.
-
 If your gcc is configured to use GNU as and ld but you want to use the
 Solaris ones instead to build perl, then you'll need to add
 -B/usr/ccs/bin/ to the gcc command line.  One convenient way to do
@@ -602,6 +592,88 @@ symbolic link /dev/urandom pointing to /dev/random.
 It may be possible to use the Entropy Gathering Daemon (written in
 Perl!), available from L<http://www.lothar.com/tech/crypto/>.
 
+=head1 SunOS 4.x
+
+In SunOS 4.x you most probably want to use the SunOS ld, /usr/bin/ld,
+since the more recent versions of GNU ld (like 2.13) do not seem to
+work for building Perl anymore.  When linking the extensions, the
+GNU ld gets very unhappy and spews a lot of errors like this
+
+  ... relocation truncated to fit: BASE13 ...
+
+and dies.  Therefore the SunOS 4.1 hints file explicitly sets the
+ld to be /usr/bin/ld.
+
+As of Perl 5.8.1 the dynamic loading of libraries (DynaLoader, XSLoader)
+also seems to have become broken in in SunOS 4.x.  Therefore the default
+is to build Perl statically.
+
+Running the test suite in SunOS 4.1 is a bit tricky since the
+F<lib/Tie/File/t/09_gen_rs> test hangs (subtest #51, FWIW) for some
+unknown reason.  Just stop the test and kill that particular Perl
+process.
+
+There are various other failures, that as of SunOS 4.1.4 and gcc 3.2.2
+look a lot like gcc bugs.  Many of the failures happen in the Encode
+tests, where for example when the test expects "0" you get "&#48;"
+which should after a little squinting look very odd indeed.
+Another example is earlier in F<t/run/fresh_perl> where chr(0xff) is
+expected but the test fails because the result is chr(0xff).  Exactly.
+
+This is the "make test" result from the said combination:
+
+  Failed 27 test scripts out of 745, 96.38% okay.
+
+Running the C<harness> is painful because of the many failing
+Unicode-related tests will output megabytes of failure messages,
+but if one patiently waits, one gets these results:
+
+ Failed Test                     Stat Wstat Total Fail  Failed  List of Failed
+ -----------------------------------------------------------------------------
+ ...
+ ../ext/Encode/t/at-cn.t            4  1024    29    4  13.79%  14-17
+ ../ext/Encode/t/at-tw.t           10  2560    17   10  58.82%  2 4 6 8 10 12
+                                                                14-17
+ ../ext/Encode/t/enc_data.t        29  7424    ??   ??       %  ??
+ ../ext/Encode/t/enc_eucjp.t       29  7424    ??   ??       %  ??
+ ../ext/Encode/t/enc_module.t      29  7424    ??   ??       %  ??
+ ../ext/Encode/t/encoding.t        29  7424    ??   ??       %  ??
+ ../ext/Encode/t/grow.t            12  3072    24   12  50.00%  2 4 6 8 10 12 14
+                                                                16 18 20 22 24
+  Failed Test                     Stat Wstat Total Fail  Failed  List of Failed
+ ------------------------------------------------------------------------------
+ ../ext/Encode/t/guess.t          255 65280    29   40 137.93%  10-29
+ ../ext/Encode/t/jperl.t           29  7424    15   30 200.00%  1-15
+ ../ext/Encode/t/mime-header.t      2   512    10    2  20.00%  2-3
+ ../ext/Encode/t/perlio.t          22  5632    38   22  57.89%  1-4 9-16 19-20
+                                                                23-24 27-32
+ ../ext/List/Util/t/shuffle.t       0   139    ??   ??       %  ??
+ ../ext/PerlIO/t/encoding.t                    14    1   7.14%  11
+ ../ext/PerlIO/t/fallback.t                     9    2  22.22%  3 5
+ ../ext/Socket/t/socketpair.t       0     2    45   70 155.56%  11-45
+ ../lib/CPAN/t/vcmp.t                          30    1   3.33%  25
+ ../lib/Tie/File/t/09_gen_rs.t      0    15    ??   ??       %  ??
+ ../lib/Unicode/Collate/t/test.t              199   30  15.08%  7 26-27 71-75
+                                                                81-88 95 101
+                                                                103-104 106 108-
+                                                                109 122 124 161
+                                                                169-172
+ ../lib/sort.t                      0   139   119   26  21.85%  107-119
+ op/alarm.t                                     4    1  25.00%  4
+ op/utfhash.t                                  97    1   1.03%  31
+ run/fresh_perl.t                              91    1   1.10%  32
+ uni/tr_7jis.t                                 ??   ??       %  ??
+ uni/tr_eucjp.t                    29  7424     6   12 200.00%  1-6
+ uni/tr_sjis.t                     29  7424     6   12 200.00%  1-6
+ 56 tests and 467 subtests skipped.
+ Failed 27/811 test scripts, 96.67% okay. 1383/75399 subtests failed, 98.17% okay.
+
+The alarm() test failure is caused by system() apparently blocking
+alarm().  That is probably a libc bug, and given that SunOS 4.x
+has been end-of-lifed years ago, don't hold your breath for a fix.
+In addition to that, don't try anything too Unicode-y, especially
+with Encode, and you should be fine in SunOS 4.x.
+
 =head1 AUTHOR
 
 The original was written by Andy Dougherty F<doughera@lafayette.edu>