perlmachten.pod
来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· POD 代码 · 共 117 行
POD
117 行
If you read this file _as_is_, just ignore the funny characters yousee. It is written in the POD format (see pod/perlpod.pod) which isspecially designed to be readable as is.=head1 NAMEREADME.machten - Perl version 5 on Power MachTen systems=head1 DESCRIPTIONThis document describes how to build Perl 5 on Power MachTen systems,and discusses a few wrinkles in the implementation.=head2 Perl version 5.8.x and greater not supportedB<Power MachTen is not supported by versions of Perl later than5.6.x.>If you wish to build a version from the 5.6 track, pleaseobtain a source distribution from the archive atL<http://cpan.org/src/5.0/> and follow the instructions in itsREADME.machten file.MachTen is no longer supported by its developers, Tenon Intersystems.A UNIX environment hosted on Mac OS Classic, MachTen has beensuperseded by Mac OS X and by BSD and Linux implementations for Macintoshhardware.The final version of Power MachTen, 4.1.4, lacks many features found inmodern implementations of UNIX, and has a number of bugs.These shortcomings prevent recent versions of Perl from being able to useextensions on MachTen, and cause numerous test suite failures in theperl core.In September 2003, a discussion on the MachTen mailing list determinedthat there was no interest in making a later version of Perl buildsuccessfully on MachTen.Consequently, support for building Perl under MachTen has been suppressedin Perl distributions published after February 2004.The hints file, F<hints/machten.sh>, remains a part of thedistributions for reference purposes.=head2 Compiling Perl 5.6.x on MachTenTo compile perl 5.6.x under MachTen 4.1.4 (and probably earlier versions): ./Configure -de make make test make installThis builds and installs a statically-linked perl; MachTen's dynamiclinking facilities are not adequate to support Perl's use ofdynamically linked libraries. (See F<hints/machten.sh> for moreinformation.)You should have at least 32 megabytes of free memory on yoursystem before running the C<make> command.For much more information on building perl -- for example, on how tochange the default installation directory -- see F<INSTALL>.=head2 Failures during C<make test> on MachTen=over 4=item op/lexassign.tThis test may fail when first run after building perl. It does notfail subsequently. The cause is unknown.=item pragma/warnings.tTest 257 fails due to a failure to warn about attempts to read from afilehandle which is a duplicate of stdout when stdout is attached to apipe. The output of the test contains a block comment which discussesa different failure, not applicable to MachTen.The root of the problem is that Machten does not assign a file type toeither end of a pipe (see L<stat>), resulting, among other thingsin Perl's C<-p> test failing on file descriptors belonging to pipes.As a result, perl becomes confused, and the test for reading from awrite-only file fails. I am reluctant to patch perl to get aroundthis, as it's clearly an OS bug (about which Tenon has been informed),and limited in its effect on practical Perl programs.=back=head2 Building external modules on MachTenTo add an external module to perl, build in the normal way, whichis documented in L<ExtUtils::MakeMaker>, or which can be drivenautomatically by the CPAN module (see L<CPAN>), which is part of thestandard distribution. If you want to install a module whichcontains XS code (C or C++ source which compiles to object codefor linking with perl), you will have to replace your perl binary witha new version containing the new statically-linked object module. Thebuild process tells you how to do this.There is a gotcha, however, which users usually encounter immediatelythey respond to CPAN's invitation to C<install Bundle::CPAN>. Wheninstalling a I<bundle> -- a group of modules which together achievesome particular purpose, the installation process for later modules inthe bundle tends to assume that earlier modules have been fullyinstalled and are available for use. This is not true on astatically-linked system for earlier modules which contain XS code.As a result the installation of the bundle fails. The work-around isnot to install the bundle as a one-shot operation, but instead to seewhat modules it contains, and install these one-at-a-time by hand inthe order given.=head1 AUTHORDominic Dunlop <domo@computer.org>=head1 DATEVersion 1.1.0 2004-02-13
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?