1
- Last revised:
14-Dec-1995 by Charles Bailey
[email protected]
1
+ Last revised:
19-Jan-1996 by Charles Bailey
[email protected]
2
2
3
3
The VMS port of Perl is still under development. At this time, the Perl
4
4
binaries built under VMS handle internal operations properly, for the most
@@ -12,8 +12,8 @@ you'd like to add something yourself, or join the porting team, we'd love to
12
12
have you!
13
13
14
14
The current sources and build procedures have been tested on a VAX using VAXC
15
- and on an AXP using DECC. If you run into problems with other compilers,
16
- please let us know.
15
+ and DECC, and on an AXP using DECC. If you run into problems with other
16
+ compilers, please let us know.
17
17
18
18
Note to DECC users: Some early versions of the DECCRTL contained a few bugs
19
19
which affect Perl performance:
@@ -49,7 +49,7 @@ stacks available, so it's difficult to automate the process of building Perl
49
49
with socket support in a way which will work on all systems.
50
50
51
51
By default, Perl is built without IP socket support. If you define the macro
52
- SOCKET when invoking MMS , however, socket support will be included. As
52
+ SOCKET when invoking MMK , however, socket support will be included. As
53
53
distributed, Perl for VMS includes support for the SOCKETSHR socket library,
54
54
which is layered on MadGoat software's vendor-independent NETLIB interface.
55
55
This provides support for all socket calls used by Perl except the
@@ -114,7 +114,10 @@ subdirectory contains several files, among which are the following:
114
114
WriteMain.Pl - Perl script to generate Perlmain.C
115
115
The [.Ext...] directories contain VMS-specific extensions distributed with
116
116
Perl. There may also be other files in [.VMS...] pertaining to features under
117
- development; for the most part, you can ignore them.
117
+ development; for the most part, you can ignore them. Note that packages in
118
+ [.ext.*] are not built with Perl by default; you build the ones you want
119
+ once the basic Perl build is complete (see the perlvms docs for instructions
120
+ on building extensions.)
118
121
119
122
Config.VMS and Decrip.MMS/Makefile are set up to build a version of Perl which
120
123
includes all features known to work when this release was assembled. If you
@@ -141,7 +144,7 @@ it specifically from Config.
141
144
Examine the information at the beginning of Descrip.MMS for information about
142
145
specifying alternate C compilers or building a version of Perl with debugging
143
146
support. For instance, if you want to use DECC, you'll need to include the
144
- /macro="decc=1" qualifier to MMS (If you're using make, these options are not
147
+ /macro="decc=1" qualifier to MMK (If you're using make, these options are not
145
148
supported.) If you're on an AXP system, define the macro __AXP__ (MMK does
146
149
this for you), and DECC will automatically be selected.
147
150
@@ -160,7 +163,14 @@ set up to use VAXC on a VAX, and does not include socket support. You can
160
163
either edit the Makefile by hand, using Descrip.MMS as a guide, or use the
161
164
Makefile to build Miniperl.Exe, and then run the Perl script MMS2Make.pl,
162
165
found in the [.VMS] subdirectory, to generate a new Makefile with the options
163
- appropriate to your site.
166
+ appropriate to your site. If you are using MM[SK], and you decide to rebuild
167
+ Perl with a different set of parameters (e.g. changing the C compiler, or
168
+ adding socket support), be sure to say
169
+ $ MMK/Descrip=[.VMS] realclean
170
+ first, in order to remove files generated during the previous build. If
171
+ you omit this step, you risk ending up with a copy of Perl which
172
+ composed partially of old files and partially of new ones, which may lead
173
+ to strange effects when you try to run Perl.
164
174
165
175
Note for sites using DECC: A bug in some early versions of the DECC RTL on the
166
176
AXP causes newlines to be lost when writing to a pipe. This causes
@@ -191,6 +201,17 @@ This will build the following files:
191
201
used to build PerlShr.Exe. It should be used when
192
202
rebuilding PerlShr.Exe via MakeMaker-produced
193
203
Descrip.MMS files for static extensions.
204
+ c2ph - Perl program which generates template code to access
205
+ C struct members from Perl.
206
+ h2ph - Perl program which generates template code to access
207
+ #defined constants in a C header file from Perl,
208
+ using the "old-style" interface. (Largely supplanted
209
+ by h2xs.)
210
+ h2xs - Perl program which generates template files for creating
211
+ XSUB extensions, optionally beginning with the #defined
212
+ constants in a C header file.
213
+ [.pod]perldoc - A Perl program which locates and displays documentation
214
+ for Perl and its extensions.
194
215
[.Lib]Config.pm - the Perl extension which saves configuration information
195
216
about Perl and your system.
196
217
[.Lib]DynaLoader.pm - The Perl extension which performs dynamic linking of
@@ -201,6 +222,30 @@ There are, of course, a number of other files created for use during the build.
201
222
Once you've got the binaries built, you may wish to `build' the `tidy' or
202
223
`clean' targets to remove extra files.
203
224
225
+ If you run into problems during the build, you can get help from the VMSPerl
226
+ or perl5-porters mailing lists (see below). When you report the problem,
227
+ please include the following information:
228
+ - The version of Perl you're trying to build. Please include any
229
+ "letter" patchlevel, in addition to the version number. If the
230
+ build successfully created Miniperl.Exe, you can check this by
231
+ saying '$ MCR Sys$Disk:[]Miniperl -v'. Also, please mention
232
+ where you obtained the distribution kit; in particular, note
233
+ whether you were using a basic Perl kit or the VMS test kit
234
+ (see below).
235
+ - The exact command you issued to build Perl.
236
+ - A copy of all error messages which were generated during the build.
237
+ Please include enough of the build log to establish the context of
238
+ the error messages.
239
+ - A summary of your configuration. If the build progressed far enough
240
+ to generate Miniperl.Exe and [.Lib]Config.pm, you can obtain this
241
+ by saying '$ MCR Sys$Disk:[]Miniperl "-V"' (note the "" around -V).
242
+ If not, then you can say '$ MMK/Descrip=[.VMS] printconfig' to
243
+ produce the summary.
244
+ This may sound like a lot of information to send, but it'll often make
245
+ it easier for someone to spot the problem, instead of having to give
246
+ a spectrum of possibilities.
247
+
248
+
204
249
205
250
* Installing Perl once it's built
206
251
@@ -227,12 +272,17 @@ Once the build is complete, you'll need to do the following:
227
272
is written in a simple markup format which can be easily read. In this
228
273
directory as well are pod2man and pod2html translators to reformat the
229
274
docs for common display engines; a pod2hlp translator is under development.
230
- Information on Perl can also be gleaned from the files in the [.doc]
231
- subdirectory (internals documents and summaries of changes), and from
232
- the test scripts in the [.t...] subdirectories. For this reason,
233
- you may wish to copy these subtrees into directories under Perl_Root.
275
+ These files are copied to [.lib.pod] during the installation.
276
+ - Define a foreign command to execute perldoc, such as
277
+ $ Perldoc == "''Perl' Perl_Root:[lib.pod]Perldoc -t"
278
+ This will allow users to retrieve documentation using Perldoc. For
279
+ more details, say "perldoc perldoc".
234
280
That's it.
235
281
282
+ If you run into a bug in Perl, please submit a bug report. The PerlBug
283
+ program, found in the [.lib] directory, will walk you through the process
284
+ of assembling the necessary information into a bug report, and sending
285
+ of to the Perl bug reporting address,
[email protected] .
236
286
237
287
* For more information
238
288
@@ -294,7 +344,7 @@ and to the entire VMSperl group for useful advice and suggestions. In addition
294
344
the perl5-porters, especially Andy Dougherty <
[email protected] >
295
345
and Tim Bunce <
[email protected] >, deserve credit for their creativity and
296
346
willingness to work with the VMS newcomers. Finally, the greatest debt of
297
- gratitude is due to Larry Wall <lwall@netlabs .com>, for having the ideas which
347
+ gratitude is due to Larry Wall <lwall@sems .com>, for having the ideas which
298
348
have made our sleepless nights possible.
299
349
300
350
Thanks,
0 commit comments