Penguin
Blame: perlmpeix(1)
EditPageHistoryDiffInfoLikePages
Annotated edit history of perlmpeix(1) version 2, including all changes. View license author blame.
Rev Author # Line
1 perry 1 PERLMPEIX
2 !!!PERLMPEIX
3 NAME
4 SYNOPSIS
5 NOTE
6 What's New
7 Welcome
8 System Requirements
9 How to Obtain Perl/iX
10 Distribution Contents Highlights
11 How to Compile Perl/iX
12 Getting Started with Perl/iX
13 MPE/iX Implementation Considerations
14 Known Bugs Under Investigation
15 To-Do List
16 Change History
17 Author
18 ----
19 !!NAME
20
21
22 README .mpeix - Perl/iX for HP e3000 MPE
23 !!SYNOPSIS
24
25
26 http://www.bixby.org/mark/perlix.html
27 Perl language for MPE
28 Last updated June 2, 2000 @ 0400 UTC
29 !!NOTE
30
31
32 This is a podified version of the above-mentioned web
33 page, podified by Jarkko Hietaniemi
34 2001-Jan-01.
35 !!What's New
36
37
38 June 1, 2000
39
40
41 Rebuilt to be compatible with mod_perl. If you plan on
42 using mod_perl, you MUST download and install
43 this version of Perl/iX!
44
45
46 bincompat5005=``undef'': sorry, but you will have to
47 recompile any binary 5.005 extensions that you may be using
48 (if any; there is no 5.005 code in what you download from
49 bixby.org) uselargefiles=``undef'': not available in
50 MPE for POSIX files yet.
51
52
53 Now bundled with various add-on
54 packages:
55
56
57 libnet
58 (http://www.gbarr.demon.co.uk/libnet/FAQ.html)
59
60
61 libwww-perl ( LWP ) which lets Perl programs
62 behave like web browsers:
63
64
65 1. #!/PERL/PUB/perl
66 2. use LWP::Simple;
67 3. $doc = get('http://www.bixby.org/mark/perlix.html'); # reads the
68 web page into variable $doc
69 (http://www.bixby.org/mark/perlix.html)
70
71
72 mod_perl (just the perl portion; the actual DSO
73 will be released soon with Apache/iX 1.3.12 from
74 bixby.org). This module allows you to write high performance
75 persistent Perl CGI scripts and all sorts of cool
76 things. (http://perl.apache.org/)
77
78
79 and much much more hiding under
80 /PERL/PUB/.cpan/
81
82
83 The CPAN module now works for automatic
84 downloading and installing of add-on
85 packages:
86
87
88 1. export FTP_PASSIVE=1
89 2. perl -MCPAN -e shell
90 3. Ignore any terminal I/O related complaints!
91 (http://theoryx5.uwinnipeg.ca/CPAN/data/perl/CPAN.html)
92
93
94 May 20, 2000
95
96
97 Updated to version 5.6.0. Builds straight out of the
98 box on MPE/iX.
99
100
101 Perl's ''getpwnam()'' function which had regressed
102 to being unimplemented on MPE is now implemented
103 once again.
104
105
106 September 17, 1999
107
108
109 Migrated from cccd.edu to bixby.org.
110 !!Welcome
111
112
113 This is the official home page for the HP
114 e3000 MPE/iX (http://www.businessservers.hp.com/) port
115 of the Perl scripting language (http://www.perl.com/) which
116 gives you all of the power of C, awk, sed, and sh in a
117 single language. Check here for the latest news, implemented
118 functionality, known bugs, to-do list, etc. Status reports
119 about major milestones will also be posted to the
120 HP3000-L mailing list
121 (http://www.lsoft.com/scripts/wl.exe?SL1=HP3000-L
122
123
124 I'm doing this port because I can't live without Perl
125 on the Unix machines that I administer, and I want to have
126 the same power available to me on MPE
127 .
128
129
130 Please send your comments, questions, and bug reports
131 directly to me, Mark Bixby (http://www.bixby.org/mark/), by
132 e-mailing to mark@bixby.org. Or just post them to
133 HP3000-L .
134
135
136 The platform I'm using to do this port is an HP
137 3000 957RX running MPE/iX 6.0 and using the GNU
138 gcc C compiler
139 (http://jazz.external.hp.com/src/gnu/gnuframe.html).
140
141
142 The combined porting wisdom from all of my ports can be
143 found in my MPE/iX Porting Guide
144 (http://www.bixby.org/mark/porting.html).
145
146
147 IMPORTANT NOTICE: Yes, I do work for the HP CSY
148 R ALL of the software you
149 download from bixby.org is my personal freeware that
150 is NOT supported by HP
151 .
152 !!System Requirements
153
154
155 MPE/iX 5.5 or later. This version of Perl/iX does
156 NOT run on MPE/iX 5.0 or earlier, nor does it run on
157 ``classic'' MPE/V machines.
158
159
160 If you wish to recompile Perl, you must install
161 both GNUCORE and GNUGCC from jazz
162 (http://jazz.external.hp.com/src/gnu/gnuframe.html).
163
164
165 Perl/iX will be happier on MPE/iX 5.5 if you install
166 the MPEKX40B extended POSIX filename
167 characters patch, but this is optional.
168
169
170 Patch LBCJXT6A is required on MPE/iX 5.5
171 machines in order to prevent Perl/iX from dying with an
172 unresolved external reference to
173 _getenv_libc.
174
175
176 If you will be compiling Perl/iX yourself, you will
177 also need Syslog/iX
178 (http://www.bixby.org/mark/syslogix.html) and the
179 /BIND/PUB/include and /BIND/PUB/lib portions of BIND/iX
180 (http://www.bixby.org/mark/bindix.html).
181 !!How to Obtain Perl/iX
182
183
184 1.
185
186
187 Download Perl using either FTP .ARPA.SYS or
188 some other client
189
190
191 2.
192
193
194 Extract the installation script
195
196
197 3.
198
199
200 Edit the installation script
201
202
203 4.
204
205
206 Run the installation script
207
208
209 5.
210
211
212 Convert your *.a system archive libraries to *.sl
213 shared libraries
214
215
216 Download Perl using FTP .ARPA.SYS from
217 your HP 3000 (the preferred
218 method).....
219
220
221 :HELLO MANAGER.SYS
222 :XEQ FTP.ARPA.SYS
223 open ftp.bixby.org
224 anonymous
225 your@email.address
226 bytestream
227 cd /pub/mpe
228 get perl-5.6.0-mpe.tar.Z /tmp/perl.tar.Z;disc=2147483647
229 exit
230 .....Or download using some other generic web or ftp client (the alternate method)
231
232
233 Download the following files (make sure that you use
234 ``binary mode'' or whatever client feature that is 8-bit
235 clean):
236
237
238 Perl from
239
240
241 http://www.bixby.org/ftp/pub/mpe/perl-5.6.0-mpe.tar.Z
242 or
243
244
245 ftp://ftp.bixby.org/pub/mpe/perl-5.6.0-mpe.tar.Z
246
247
248 Upload those files to your HP 3000 in an
249 8-bit clean bytestream manner to:
250
251
252 /tmp/perl.tar.Z
253
254
255 Then extract the installation script (after both
256 download methods)
257
258
259 :CHDIR /tmp
260 :XEQ TAR.HPBIN.SYS 'xvfopz /tmp/perl.tar.Z INSTALL'
261
262
263 Edit the installation script
264
265
266 Examine the accounting structure creation commands and
267 modify if necessary (adding additional capabilities,
268 choosing a non-system volume set, etc).
269
270
271 :XEQ VI.HPBIN.SYS /tmp/INSTALL
272
273
274 Run the installation script.
275
276
277 The accounting structure will be created and then all
278 files will be extracted from the archive.
279
280
281 :XEQ SH.HPBIN.SYS /tmp/INSTALL
282
283
284 Convert your *.a system archive libraries to *.sl
285 shared libraries
286
287
288 You only have to do this ONCE on your MPE/iX
289 5.5 machine in order to convert /lib/lib*.a and
290 /usr/lib/lib*.a libraries to their *.sl equivalents. This
291 step should not be necessary on MPE/iX 6.0 or later machines
292 because the 6.0 or later update process does it for
293 you.
294
295
296 :XEQ SH.HPBIN.SYS /PERL/PUB/LIBSHP3K
297 !!Distribution Contents Highlights
298
299
300 README
301
302
303 The file you're reading now.
304
305
306 INSTALL
307
308
309 Perl/iX Installation script.
310
311
312 LIBSHP3K
313
314
315 Script to convert *.a system archive libraries to *.sl
316 shared libraries.
317
318
319 PERL
320
321
322 Perl NMPRG executable. A version-numbered
323 backup copy also exists. You might wish to ``ln -s
324 /PERL/PUB/PERL /usr/local/bin/perl''.
325
326
327 .cpan/
328
329
330 Much add-on source code downloaded with the CPAN
331 module.
332
333
334 lib/
335
336
337 Perl libraries, both core and
338 add-on.
339
340
341 man/
342
343
344 Perl man page documentation.
345
346
347 public_html/feedback.cgi
348
349
350 Sample feedback CGI form written in
351 Perl.
352
353
354 src/perl-5.6.0-mpe
355
356
357 Source code.
358 !!How to Compile Perl/iX
359
360
361 1.
362
363
364 cd src/perl-5.6.0-mpe
365
366
367 2.
368
369
370 Read the INSTALL file for the official
371 instructions
372
373
374 3.
375
376
377 ./Configure -d
378
379
380 4.
381
382
383 make
384
385
386 5.
387
388
389 ./mpeix/relink
390
391
392 6.
393
394
395 make test (expect approximately 15 out of 11306
396 subtests to fail, mostly due to MPE not
397 supporting hard links, UDP socket problems, and
398 handling ''exit()'' return codes
399 improperly)
400
401
402 7.
403
404
405 make install
406
407
408 8.
409
410
411 Optionally create symbolic links that point to the Perl
412 executable, i.e. ln -s /PERL/PUB/PERL
413 /usr/local/bin/perl
414
415
416 The summary test results from ``cd t; ./perl -I../lib
417 harness'':
418
419
420 Failed Test Status Wstat Total Fail Failed List of failed
421 ---------------------------------------------------------------------------
422 io/fs.t 29 8 27.59% 2-5, 7-9, 11
423 io/openpid.t 10 1 10.00% 7
424 lib/io_sock.t 14 1 7.14% 13
425 lib/io_udp.t 7 2 28.57% 3, 5
426 lib/posix.t 27 1 3.70% 12
427 op/lex_assign.t 187 1 0.53% 13
428 op/stat.t 58 1 1.72% 3
429 15 tests and 94 subtests skipped.
430 Failed 7/236 test scripts, 97.03% okay. 15/11306 subtests failed, 99.87% okay.
431 !!Getting Started with Perl/iX
432
433
434 Create your Perl script files with ``#!/PERL/PUB/perl''
435 (or an equivalent symbolic link) as the first line. Use the
436 chmod command to make sure that your script has execute
437 permission. Run your script!
438
439
440 Be sure to take a look at the CPAN module
441 list (http://www.cpan.org/CPAN.html). A wide variety of free
442 Perl software is available. You can automatically download
443 these packages by using the CPAN module
444 (http://theoryx5.uwinnipeg.ca/CPAN/data/perl/CPAN.html).
445 !!MPE/iX Implementation Considerations
446
447
448 There some minor functionality issues to be aware of
449 when comparing Perl for Unix (Perl/UX) to
450 Perl/iX:
451
452
453 MPE gcc/ld doesn't properly support linking NMPRG
454 executables against NMXL dynamic libraries,
455 so you must manually run mpeix/relink after each re-build of
456 Perl.
457
458
459 Perl/iX File::Copy will use MPE 's /bin/cp
460 command to copy files by name in order to preserve file
461 attributes like file code.
462
463
464 MPE (and thus Perl/iX) lacks support for
465 ''setgrent()'', ''endgrent()'', ''setpwent()'',
466 ''endpwent()''.
467
468
469 MPE (and thus Perl/iX) lacks support for hard
470 links.
471
472
473 MPE requires ''GETPRIVMODE ()''
474 in order to ''bind()'' to ports less than 1024.
475 Perl/iX will call ''GETPRIVMODE ()''
476 automatically on your behalf if you attempt to
477 ''bind()'' to these low-numbered ports. Note that the
478 Perl/iX executable and the PERL account do not
479 normally have CAP=PM, so if you will be ''bind()''-ing to
480 these privileged ports, you will manually need to add
481 PM capability as appropriate.
482
483
484 MPE requires that you ''bind()'' to an IP
485 address of zero. Perl/iX automatically replaces
486 the IP address that you pass to ''bind()''
487 with a zero.
488
489
490 If you use Perl/iX ''fcntl()'' against a socket it
491 will fail, because MPE requires that you use
492 ''sfcntl()'' instead. Perl/iX does not presently support
493 ''sfcntl()''.
494
495
496 MPE requires ''GETPRIVMODE ()''
497 in order to ''setuid()''. There are too many calls
498 to ''setuid()'' within Perl/iX, so I have not attempted
499 an automatic ''GETPRIVMODE ()''
500 solution similar to ''bind()''.
501 !!Known Bugs Under Investigation
502
503
504 None.
505 !!To-Do List
506
507
508 Make ''setuid()''/''setgid()'' support
509 work.
510
511
512 Make sure that ''fcntl()'' against a socket
513 descriptor is redirected to
514 ''sfcntl()''.
515
516
517 Add support for Berkeley DB once I've
518 finished porting Berkeley DB .
519
520
521 Write an MPE XS extension library containing
522 miscellaneous important MPE functions like
523 ''GETPRIVMODE ()'', ''GETUSERMODE
524 ()'', and
525 ''sfcntl()''.
526 !!Change History
527
528
529 May 6, 1999
530
531
532 Patch LBCJXT6A is required on MPE/iX 5.5
533 machines in order to prevent Perl/iX from dying with an
534 unresolved external reference to
535 _getenv_libc.
536
537
538 April 7, 1999
539
540
541 Updated to version 5.005_03.
542
543
544 The official source distribution once again compiles
545 ``straight out of the box'' for MPE
546 .
547
548
549 The current incarnation of the 5.5 POSIX
550 filename extended characters patch is now
551 MPEKX40B .
552
553
554 The LIBSHP3K *.a -
555
556
557 November 20, 1998
558
559
560 Updated to version 5.005_02.
561
562
2 perry 563 Fixed a !DynaLoader bug that was unable to load symbols
1 perry 564 from relative path name libraries.
565
566
567 Fixed a .xs compilation bug where the mpeixish.sh
568 include file wasn't being installed into the proper
569 directory.
570
571
572 All bugfixes will be submitted back to the official
573 Perl developers.
574
575
576 The current incarnation of the POSIX
577 filename extended characters patch is now
578 MPEKXJ3A .
579
580
581 August 14, 1998
582
583
584 The previous POSIX filename extended
585 characters patch MPEKX44C has been superseded
586 by MPEKXB5A .
587
588
589 August 7, 1998
590
591
592 The previous POSIX filename extended
593 characters patch MPEKX76A has been superseded
594 by MPEKX44C .
595
596
597 July 28, 1998
598
599
600 Updated to version 5.005_01.
601
602
603 July 23, 1998
604
605
606 Updated to version 5.005 (production release). The
607 public freeware sources are now 100% MPE-ready ``straight
608 out of the box''.
609
610
611 July 17, 1998
612
613
614 Updated to version 5.005b1 (public beta release). The
615 public freeware sources are now 99.9% MPE-ready. By
616 installing and testing this beta on your own HP3000
617 , you will be helping to insure that the final release
618 of 5.005 will be 100% MPE-ready and 100% bug
619 free.
620
621
622 My MPE binary release is now extracted using
623 my standard INSTALL script.
624
625
626 July 15, 1998
627
628
629 Changed startperl to #!/PERL/PUB/perl so that Perl will
630 recognize scripts more easily and
631 efficiently.
632
633
634 July 8, 1998
635
636
637 Updated to version 5.004_70 (internal developer
638 release) which is now MPE-ready. The next public freeware
639 release of Perl should compile ``straight out of the box''
640 on MPE . Note that this version of Perl/iX was
641 strictly internal to me and never publicly released. Note
642 that [[21]BIND/iX is now required (well, the include files
643 and libbind.a) if you wish to compile
644 Perl/iX.
645
646
647 November 6, 1997
648
649
650 Updated to version 5.004_04. No changes in MPE-specific
651 functionality.
652
653
654 October 16, 1997
655
656
657 Added Demos section to the Perl/iX home page so you can
658 see some sample Perl applications running on my
659 3000.
660
661
662 October 3, 1997
663
664
665 Added System Requirements section to the Perl/iX home
666 page just so the prerequisites stand out more. Various other
667 home page tweaks.
668
669
670 October 2, 1997
671
672
673 Initial public release.
674
675
676 September 1997
677
678
679 Porting begins.
680 !!Author
681
682
683 Mark Bixby, mark@bixby.org
684 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.