summaryrefslogtreecommitdiffstats
path: root/upstream/debian-bookworm/man1/perltru64.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/debian-bookworm/man1/perltru64.1')
-rw-r--r--upstream/debian-bookworm/man1/perltru64.1256
1 files changed, 256 insertions, 0 deletions
diff --git a/upstream/debian-bookworm/man1/perltru64.1 b/upstream/debian-bookworm/man1/perltru64.1
new file mode 100644
index 00000000..b2a25eab
--- /dev/null
+++ b/upstream/debian-bookworm/man1/perltru64.1
@@ -0,0 +1,256 @@
+.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\" ========================================================================
+.\"
+.IX Title "PERLTRU64 1"
+.TH PERLTRU64 1 "2023-11-25" "perl v5.36.0" "Perl Programmers Reference Guide"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+perltru64 \- Perl version 5 on Tru64 (formerly known as Digital UNIX formerly known as DEC OSF/1) systems
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+This document describes various features of \s-1HP\s0's (formerly Compaq's,
+formerly Digital's) Unix operating system (Tru64) that will affect
+how Perl version 5 (hereafter just Perl) is configured, compiled
+and/or runs.
+.SS "Compiling Perl 5 on Tru64"
+.IX Subsection "Compiling Perl 5 on Tru64"
+The recommended compiler to use in Tru64 is the native C compiler.
+The native compiler produces much faster code (the speed difference is
+noticeable: several dozen percentages) and also more correct code: if
+you are considering using the \s-1GNU C\s0 compiler you should use at the
+very least the release of 2.95.3 since all older gcc releases are
+known to produce broken code when compiling Perl. One manifestation
+of this brokenness is the lib/sdbm test dumping core; another is many
+of the op/regexp and op/pat, or ext/Storable tests dumping core
+(the exact pattern of failures depending on the \s-1GCC\s0 release and
+optimization flags).
+.PP
+Both the native cc and gcc seem to consume lots of memory when
+building Perl. toke.c is a known trouble spot when optimizing:
+256 megabytes of data section seems to be enough. Another known
+trouble spot is the mktables script which builds the Unicode support
+tables. The default setting of the process data section in Tru64
+should be one gigabyte, but some sites/setups might have lowered that.
+The configuration process of Perl checks for too low process limits,
+and lowers the optimization for the toke.c if necessary, and also
+gives advice on how to raise the process limits
+(for example: \f(CW\*(C`ulimit \-d 262144\*(C'\fR)
+.PP
+Also, Configure might abort with
+.PP
+.Vb 2
+\& Build a threading Perl? [n]
+\& Configure[2437]: Syntax error at line 1 : \*(Aqconfig.sh\*(Aq is not expected.
+.Ve
+.PP
+This indicates that Configure is being run with a broken Korn shell
+(even though you think you are using a Bourne shell by using
+\&\*(L"sh Configure\*(R" or \*(L"./Configure\*(R"). The Korn shell bug has been reported
+to Compaq as of February 1999 but in the meanwhile, the reason ksh is
+being used is that you have the environment variable \s-1BIN_SH\s0 set to
+\&'xpg4'. This causes /bin/sh to delegate its duties to /bin/posix/sh
+(a ksh). Unset the environment variable and rerun Configure.
+.SS "Using Large Files with Perl on Tru64"
+.IX Subsection "Using Large Files with Perl on Tru64"
+In Tru64 Perl is automatically able to use large files, that is,
+files larger than 2 gigabytes, there is no need to use the Configure
+\&\-Duselargefiles option as described in \s-1INSTALL\s0 (though using the option
+is harmless).
+.SS "Threaded Perl on Tru64"
+.IX Subsection "Threaded Perl on Tru64"
+If you want to use threads, you should primarily use the Perl
+5.8.0 threads model by running Configure with \-Duseithreads.
+.PP
+Perl threading is going to work only in Tru64 4.0 and newer releases,
+older operating releases like 3.2 aren't probably going to work
+properly with threads.
+.PP
+In Tru64 V5 (at least V5.1A, V5.1B) you cannot build threaded Perl with gcc
+because the system header <pthread.h> explicitly checks for supported
+C compilers, gcc (at least 3.2.2) not being one of them. But the
+system C compiler should work just fine.
+.SS "Long Doubles on Tru64"
+.IX Subsection "Long Doubles on Tru64"
+You cannot Configure Perl to use long doubles unless you have at least
+Tru64 V5.0, the long double support simply wasn't functional enough
+before that. Perl's Configure will override attempts to use the long
+doubles (you can notice this by Configure finding out that the \fBmodfl()\fR
+function does not work as it should).
+.PP
+At the time of this writing (June 2002), there is a known bug in the
+Tru64 libc printing of long doubles when not using \*(L"e\*(R" notation.
+The values are correct and usable, but you only get a limited number
+of digits displayed unless you force the issue by using \f(CW\*(C`printf
+"%.33e",$num\*(C'\fR or the like. For Tru64 versions V5.0A through V5.1A, a
+patch is expected sometime after perl 5.8.0 is released. If your libc
+has not yet been patched, you'll get a warning from Configure when
+selecting long doubles.
+.SS "DB_File tests failing on Tru64"
+.IX Subsection "DB_File tests failing on Tru64"
+The DB_File tests (db\-btree.t, db\-hash.t, db\-recno.t) may fail you
+have installed a newer version of Berkeley \s-1DB\s0 into the system and the
+\&\-I and \-L compiler and linker flags introduce version conflicts with
+the \s-1DB 1.85\s0 headers and libraries that came with the Tru64. For example,
+mixing a \s-1DB\s0 v2 library with the \s-1DB\s0 v1 headers is a bad idea. Watch
+out for Configure options \-Dlocincpth and \-Dloclibpth, and check your
+/usr/local/include and /usr/local/lib since they are included by default.
+.PP
+The second option is to explicitly instruct Configure to detect the
+newer Berkeley \s-1DB\s0 installation, by supplying the right directories with
+\&\f(CW\*(C`\-Dlocincpth=/some/include\*(C'\fR and \f(CW\*(C`\-Dloclibpth=/some/lib\*(C'\fR \fBand\fR before
+running \*(L"make test\*(R" setting your \s-1LD_LIBRARY_PATH\s0 to \fI/some/lib\fR.
+.PP
+The third option is to work around the problem by disabling the
+DB_File completely when build Perl by specifying \-Ui_db to Configure,
+and then using the BerkeleyDB module from \s-1CPAN\s0 instead of DB_File.
+The BerkeleyDB works with Berkeley \s-1DB\s0 versions 2.* or greater.
+.PP
+The Berkeley \s-1DB 4.1.25\s0 has been tested with Tru64 V5.1A and found
+to work. The latest Berkeley \s-1DB\s0 can be found from <http://www.sleepycat.com>.
+.SS "64\-bit Perl on Tru64"
+.IX Subsection "64-bit Perl on Tru64"
+In Tru64 Perl's integers are automatically 64\-bit wide, there is
+no need to use the Configure \-Duse64bitint option as described
+in \s-1INSTALL.\s0 Similarly, there is no need for \-Duse64bitall
+since pointers are automatically 64\-bit wide.
+.SS "Warnings about floating-point overflow when compiling Perl on Tru64"
+.IX Subsection "Warnings about floating-point overflow when compiling Perl on Tru64"
+When compiling Perl in Tru64 you may (depending on the compiler
+release) see two warnings like this
+.PP
+.Vb 4
+\& cc: Warning: numeric.c, line 104: In this statement, floating\-point
+\& overflow occurs in evaluating the expression "1.8e308". (floatoverfl)
+\& return HUGE_VAL;
+\& \-\-\-\-\-\-\-\-\-\-\-^
+.Ve
+.PP
+and when compiling the \s-1POSIX\s0 extension
+.PP
+.Vb 4
+\& cc: Warning: const\-c.inc, line 2007: In this statement, floating\-point
+\& overflow occurs in evaluating the expression "1.8e308". (floatoverfl)
+\& return HUGE_VAL;
+\& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-^
+.Ve
+.PP
+The exact line numbers may vary between Perl releases. The warnings
+are benign and can be ignored: in later C compiler releases the warnings
+should be gone.
+.PP
+When the file \fIpp_sys.c\fR is being compiled you may (depending on the
+operating system release) see an additional compiler flag being used:
+\&\f(CW\*(C`\-DNO_EFF_ONLY_OK\*(C'\fR. This is normal and refers to a feature that is
+relevant only if you use the \f(CW\*(C`filetest\*(C'\fR pragma. In older releases of
+the operating system the feature was broken and the \s-1NO_EFF_ONLY_OK\s0
+instructs Perl not to use the feature.
+.SH "Testing Perl on Tru64"
+.IX Header "Testing Perl on Tru64"
+During \*(L"make test\*(R" the \f(CW\*(C`comp\*(C'\fR/\f(CW\*(C`cpp\*(C'\fR will be skipped because on Tru64 it
+cannot be tested before Perl has been installed. The test refers to
+the use of the \f(CW\*(C`\-P\*(C'\fR option of Perl.
+.SH "ext/ODBM_File/odbm Test Failing With Static Builds"
+.IX Header "ext/ODBM_File/odbm Test Failing With Static Builds"
+The ext/ODBM_File/odbm is known to fail with static builds
+(Configure \-Uusedl) due to a known bug in Tru64's static libdbm
+library. The good news is that you very probably don't need to ever
+use the ODBM_File extension since more advanced NDBM_File works fine,
+not to mention the even more advanced DB_File.
+.SH "Perl Fails Because Of Unresolved Symbol sockatmark"
+.IX Header "Perl Fails Because Of Unresolved Symbol sockatmark"
+If you get an error like
+.PP
+.Vb 1
+\& Can\*(Aqt load \*(Aq.../OSF1/lib/perl5/5.8.0/alpha\-dec_osf/auto/IO/IO.so\*(Aq for module IO: Unresolved symbol in .../lib/perl5/5.8.0/alpha\-dec_osf/auto/IO/IO.so: sockatmark at .../lib/perl5/5.8.0/alpha\-dec_osf/XSLoader.pm line 75.
+.Ve
+.PP
+you need to either recompile your Perl in Tru64 4.0D or upgrade your
+Tru64 4.0D to at least 4.0F: the \fBsockatmark()\fR system call was
+added in Tru64 4.0F, and the \s-1IO\s0 extension refers that symbol.
+.SH "read_cur_obj_info: bad file magic number"
+.IX Header "read_cur_obj_info: bad file magic number"
+You may be mixing the Tru64 cc/ar/ld with the \s-1GNU\s0 gcc/ar/ld.
+That may work, but sometimes it doesn't (your gcc or \s-1GNU\s0 utils
+may have been compiled for an incompatible \s-1OS\s0 release).
+.PP
+Try 'which ld' and 'which ld' (or try 'ar \-\-version' and 'ld \-\-version',
+which work only for the \s-1GNU\s0 tools, and will announce themselves to be such),
+and adjust your \s-1PATH\s0 so that you are consistently using either
+the native tools or the \s-1GNU\s0 tools. After fixing your \s-1PATH,\s0 you should
+do 'make distclean' and start all the way from running the Configure
+since you may have quite a confused situation.
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Jarkko Hietaniemi <jhi@iki.fi>