makepp_compatibility man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

MAKEPP_COMPATIBILITY(1)		    Makepp	       MAKEPP_COMPATIBILITY(1)

NAME
       makepp_compatibility -- Compatibility list for makepp

DESCRIPTION
   Perl Version vs. System
       The many Perl versions available and still installed on many machines
       come with various subtle bugs.  We have tried to work around most of
       them, but a few remain.	We have a test suite of around 75 tests, all
       of which usually pass.  On some platforms lacking some features,
       notably Cygwin, a few tests are explicitly skipped.  This table shows
       with what version this has been tested where, and whether it was
       successful.  We would like to hear of your results on other platforms
       too!

		       #||     5.6	       #|||||||||		       5.8					       #|      5.10    #||||	       5.12		       #|| 5.14		       #

		       # .0    | .1    | .2    # .0    | .1    | .2    | .3    | .4    | .5    | .6    | .7    | .8    | .9    # .0    | .1    # .0    | .1    | .2    | .3    | .4    # .0    | .1    | .2    #

	GNU/Linux (x86)# x     | x     | req   # x     | x     | x     | x     | x     |       | x     | x     | x     | x     # x     | x     # x     | x     | x     | x     | x     # x     | x     | x     #

	GNU/Linux (amd64)#     |       |       #       |       |       |       |       | x     |       |       |       | x     #       |       #       |       | x     | x     |       # x     |       | x     #

	GNU/Linux (Alpha)#     | x     |       #       |       |       |       |       |       |       |       |       |       #       |       #       |       |       |       |       #       |       |       #

	GNU/Linux (S/390)#     |       | x     #       |       |       |       |       |       |       |       | x     | x     # x     | x     #       |       |       |       |       #       |       |       #

	FreeBSD (x86)  #       | x     | x     #       |       |       |       |       |       |       |       | x     | x     # x     | x     # x     | x     | x     | x     |       #       | x     |       #

	NetBSD (x86)   #       |       |       #       |       |       |       |       |       |       |       |       | x     # x     | x     # x     | x     | x     | x     |       #       | x     | x     #

	NetBSD (Alpha) #       |       |       #       |       |       |       |       |       |       |       |       | x     # x     | x     #       |       |       |       |       #       |       |       #

	OpenBSD (x86)  #       |       |       # x     |       |       |       |       |       |       |       |       | x     # x     | x     # x     | x     | x     |       | x     # x     | x     | x     #

	AIX (PPC)      #       |       |       #       | x     | x     |       |       |       |       | x     | x     |       #       |       #       |       |       |       |       #       |       |       #

	Darwin (x86)   # x     |       |       #       |       |       |       |       |       |       |       |       |       #       |       #       | x     |       |       |       #       |       | x     #

	Darwin (PPC)   # x     |       |       #       |       |       |       |       |       | x     | x     | x     | x     # x     | x     # x     | x     | x     |       |       #       |       |       #

	HP/UX (IA64)   #       |       |       # HPUX  |       |       | HPUX  |       |       |       |       |       |       #       |       #       |       |       |       |       #       |       |       #

	Irix	       #       |       |       #       |       |       |       |       |       |       |       | x     |       #       |       #       |       |       |       |       #       |       |       #

	Reliant (Mips) # Nest  | Nest  |       #       |       |       |       |       |       |       |       |       |       #       |       #       |       |       |       |       #       |       |       #

	Solaris (Sparc)# x     | req   |       # x     | x     | x     | x     | x     | x     | x     | x     | x     | x     # x     |       # x     | x     |       |       |       #       |       |       #

	Solaris (64bit)#       |       |       #       | x     |       |       |       |       |       |       | x     |       # x     |       #       |       |       |       |       #       |       |       #

	Solaris (x86)  #       | x     |       #       | x     |       |       |       |       |       |       | x     | x     # x     | x     # x     | x     | x     |       |       #       |       |       #

	BS2000 (S/390) #       | x     |       #       | x     |       |       |       |       |       |       |       |       # /     |       #       |       |       |       |       #       |       |       #

	z/OS USS (S/390)#      |       |       #       |       |       |       |       |       |       |       | zOS   |       # /     |       #       |       |       |       |       #       |       |       #

	Cygwin (x86)   #       |       |       #       |       |       |       |       |       |       | Win   | x     |       # x     | x     #       |       |       |       |       #       |       |       #

	MinGW MSYS     #       | Win   |       #       |       |       |       |       |       |       |       | x     |       #       |       #       |       |       |       |       #       |       |       #

	Stawberry      #       |       |       #       |       |       |       |       |       |       |       | x     | x     # x     | x     #       | x     | x     | x     |       #       |       |       #

	ActiveState Win# Win   | Win   |       # x     | x     | x     | x     | x     |       | x     | x     | x     | x     # x     | x     # x     | x     |       | x     |       # x     |       |       #

       HPUX
	   Perl at least up to V5.8.8 has a 64bitall bug on HP/UX that hurts
	   makepp badly.  If it recognized that it's running on a 64 bit Perl,
	   it will rewrite several sources so as to have a workaround for this
	   problem.

       req Some instances of 5.6 at least on Linux and Solaris will dump in a
	   Perl "require" statement.  Strangely this only happens in one test,
	   so you are probably ok using these Perls.

       Win There are 4 different Perl environments on Windows, which normally
	   extend one another when installed in parallel.  Here they have been
	   tested with a minimal PATH, so as to separate them completely.
	   When using native programs, you may need to see the note under &ln.

	   ·   Cygwin fairly closely emulates GNU/Linux and gives the best
	       results.	 Perl 5.8.7 has a small problem with environment vars,
	       making one test fail.  In the long gone past, parallel builds
	       didn't work, but it hasn't be verified which version of Cygwin
	       or Perl made them usable.  Perl 5.10.1 has a problem with chmod
	       0 files, so they can't be used to prevent repository imports.
	       In rare cases recent Cygwin also leads stat() to report a
	       symlink for an inexistent file.	This does not seem a Perl bug,
	       since the same perls that were error free before, now show this
	       behaviour.  Makepp has been reorganized to much reduce this, so
	       you may never see it.

	   ·   MinGW stays close to Windows, giving it only a Unixy look and
	       feel.  It has a clever workaround for lack of symbolic links,
	       namely copying instead (&ln has stolen this idea).  Alas this
	       is not good enough for the repository mechanism, so that isn't
	       available, in addition to the Cygwin deficiencies.

	   ·   On Strawberry Perl with only native Windows most customary Unix
	       commands (except Gnu compilers) are missing, and the "shell" is
	       extremely primitive.  A maximal use of makepp's builtin
	       commands and embedded Perl can increase makefile portability.

	       While Windows programs can handle normal slashes as directory
	       separators, this does not work for command names.  Those should
	       always be portably written as dir$/command, where $/ gets
	       replaced by a forward or backward slash, depending on the
	       environment.  If you tell makepp, via the SHELL variable, where
	       to find a Unix-like Shell, you don't have these worries.

	       It cannot do smart recursive makes (but who would want them,
	       since they are known to be a broken paradigm) and parallel
	       builds.

	   ·   ActiveState Perl is very similar to Strawberry, as far as
	       makepp goes, though it doesn't come with Gnu compilers.	Perl
	       5.6.0 fails on quite a few tests, especially with $SHELL, 5.6.1
	       fails on two tests.  Up to 5.8.6, it will rewrite Mpp/File.pm
	       so as to have a needed workaround for an lstat bug.

       zOS On z/OS (alias VMS or OS/390) Unix System Services smart recursive
	   make doesn't work.  If your compiler is picky about option order,
	   you may have to write your own rules.  (To compile Perl 5.8.8 you
	   may have to remove the silly "(void)env;" in miniperlmain.c.	 Perl
	   5.10.0 is not compilable on an Ebcdic system while 5.12.1 and
	   5.14.0 may have macro errors with the z/OS C compiler.)

       Nest
	   Some old compilers do not like nested comments.  Since
	   additional_tests/2006_03_23_c_comments.test looks at all kinds of
	   constellations, and verifies it's conclusions with the compiler,
	   this test can fail if you do not use gcc.

   File Systems
       Various special file systems have unusual properties, giving makepp a
       hard time when working on them:

       NFS NFS may reorder file operations at its discretion, leading to
	   unexpected relationships between time stamps.  This is relevant for
	   the build info meta-data files, which makepp stores alongside each
	   file.  Especially in build caches, with their concurrent access,
	   some workaround handling was necessary, but it is shown by load
	   test to work fine.

       Windows CIFS on Gnu/Linux
	   A few special characters are not allowed in filenames.  Links are
	   emulated by copying while symbolic linking fails.  Apparently write
	   operations come back before they are visible on disk, which
	   confuses makepp about the success of the commands it executes.  Six
	   out of 76 tests fail due to this.  On the bright side, timestamps
	   have a precision of 100 nanoseconds (though the observed obtainable
	   differences are only about a centisecond).  This is much better
	   than most older Unix file systems -- alas Perl's "stat" function
	   has no access to this very welcome precision.

       Windows Server Share on Cygwin
	   The same CIFS disk that was works so badly on Linux, passes all
	   tests on Cygwin.  Possibly there are CIFS mount options that might
	   improve something.

       Unix SMBFS from Gnu/Linux
	   Linking and symbolic linking fails.	No other tests fail.  I have
	   no access to a more realistic Windows SMB server, where the
	   situation might be different.

       VFAT on Gnu/Linux
	   A few special characters are not allowed in filenames.  Linking and
	   symbolic linking fails.  The file permission mask and owner are
	   mount options, while the time stamps are not settable.

AUTHOR
       Daniel Pfeiffer (occitan@esperanto.org)

perl v5.20.3			  2012-02-28	       MAKEPP_COMPATIBILITY(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net