Perforce Platform Notes

Revised April 16, 2004

These notes provide additional information about using Perforce on the following platforms. You can find all past and present versions of the Perforce clients and server on our ftp site. For general product information, see the Perforce home page

 


UNIX

For best performance, place the server root ($P4ROOT) on a local disk and not an NFS mount. The Perforce server's file locking semantics do work with NFS mounts on Solaris 2.5.1 and later, but are incompatible with BSD and Linux variants. Perforce client workspaces can reside on NFS mounts without problems.

Microsoft Windows

Last update: 12/30/2002

Installation

To install Perforce on Windows computers, use our Windows installer, which correctly manages changes in the environment and can install the server as an NT service.

System requirements

The Perforce server is not supported on Windows 95 or Windows 98, because these operating systems do not support sufficient file locking.

Filesystem requirements

Don't run the Perforce NT server on a Novell filesystem, or any filesystem that only supports the 8.3 naming scheme.  Perforce database files have long suffixes and under the 8.3 naming these file names are folded.  Both NTFS and the NT implementation of the FAT16 DOS filesystem will support long file names.  The FAT32 filesystem under Windows 2000 is also supported.  It is recommended that a network mounted filesystem not be used for the Perforce server root.  This configuration will work but the full speed of Perforce will not be present due to network disk access rates.

Service Pack requirements

To ensure Y2K compatibility, run at least Windows NT Service Pack 5. Last time we checked, Service Pack 6a was available and was OK to use.  Sometimes a Windows NT system will go haywire without a solid reason as to why.  Short of reinstalling the OS we have found that reinstalling the Service Pack can help.  This trick works since the current Service Packs replace a large number of the system files.  For more information about OS idiosyncrasies, refer to technical note019.

Special Considerations

Configuring the editor

By default, the NT client uses notepad as an editor and an internal diff routine.  If $SHELL is set, it is assumed that you have installed the MKS toolkit, and vi is the default editor. To override this default, set the environment variables P4EDITOR and P4DIFF.

Using multiple drives for the client workspace

On Windows, a client workspace can span multiple drives.  To enable this feature, specify a client root using the keyword null.  Specify the drive letter in each line of the client view.  The following is a sample client specification for the client named foocli.
Client: foocli

Owner:  joe

Description:
	Created by joe.

	Root: null

	Options: noallwrite noclobber nocompress crlf unlocked nomodtime normdir

	View:
		//depot/foo/...	//foocli/c:/projects/proj1/...
		//depot/bar/...	//foocli/e:/projects/proj2/...

Wildcard expansion

On NT the Perforce client executable performs wildcard expansion directly (via setargv.obj) rather than relying on the shell. While this works well with both the DOS box (which doesn't do wildcard expansion) and the MKS Korn Shell (which does), it means that to get a * past the Perforce client under the Korn Shell, you must quote it twice (i.e. '"*"'): once to get past the Korn Shell, and once to get past the wildcard expansion in the Perforce client.

Filenames containing tilde (~)

To avoid inadvertently overwriting files when syncing to a Windows computer, do not use the tilde character in filenames. The Windows operating system uses
the tilde to represent long filenames, and attempts to expand such filenames when you sync.

Starting the Perforce server from the command line

The Windows NT p4d.exe Perforce server is an NT console application.  The application does not automatically run itself as a background process.  If you want to run the server from a DOS box you would use the following command line, start p4d.  This assumes you have already set the appropriate environment for the Perforce server.  If not, please see the Perforce System Administrator's Guide.  There is also a discussion on Windows specific environment variables in technical note036.

For details about running multiple Perforce services on the same Windows NT system, refer to technical note035.


HPUX 11.11

Last update: September 2001

Large File Support

The file system on which the P4 depot files (P4ROOT) will reside must have large file support enabled. The HPUX file system administration command for enabling this feature is "fsadm". To see if your file system supports large files, first find the volume using the df command:

   % df /source/p4root
   /source/p4root         (/dev/vg00/lvol8):    206504044 blocks   18900001 i-nodes

Then use the fsadm command (using the raw device):

   % fsadm -F hfs /dev/vg00/rlvol8
   file system                 :        /dev/vg00/rlvol8
   magic number                :                 4324334
   feature bits                :                       3
   file system supports        : largefiles, longfilenames

If the output reads "nolargefiles" instead of "largefiles" you will need to do the following:

See "man fsadm" for more details.

VMS

Last update: December 1999

System requirements

The Perforce p4 command-line client is available on Alpha OpenVMS 6.1 and 7.0 and VAX VMS 5.5. The VMS client works with any Perforce server on UNIX or NT.

Installation

On VMS, you use logicals where Perforce normally expects environment variable, for example, P4PORT, P4CLIENT, P4USER. Enclose case-sensitive values for logicals in quotes.

To install the p4 client:

  1. Download p4.exe to your VMS host.
  2. Define a symbol for p4; for example:
  3. 	$ p4 :== $device:[directory]p4.exe
    

    You can put this definition into your login.com so that it takes effect every time you log in.

NOTE: The client program information is displayed unversioned on VMS: 'p4 -V' displays 'P4-VMS' (on other platforms it includes the version number).

Special Considerations

Configuring the editor

By default, the VMS client uses EDIT as an editor. If the logical POSIX$SHELL is set, it is assumed that the user has the Posix environment installed so vi is used instead. To override this default, set the logical EDITOR.

VMS files and file names


AS400

Last update: 4/16/2004

The AS400 version of the Perforce p4 client was built on AS400 V4R4, using the Visual Age C++ compiler. The Perforce server is not available on this platform. The ASCII/EBCDIC conversion is handled by the iconv() function, using the IBMCCSID00819 EBCDIC codepage.

[General AS400 information]

Installation

The following procdure tells you how to install Perforce on the AS400 using a Windows NT workstation as an intermediary.
  1. Download (as binary) the following AS400 savefile onto your NT workstation:
            ftp://ftp.perforce.com/pub/perforce/r01.1/bin.as400/p4
    
    The file size is 3005376 bytes.

  2. On the AS400, create a library named PERFORCE. In the PERFORCE library, create a save file named PERFSAVE, as follows:
            CRTLIB LIB(PERFORCE)
            CRTSAVF FILE(PERFORCE/PERFSAVF)
    

  3. On the NT workstation, open a DOS command box and ftp the p4 file (as binary) to the PERFORCE/PERFSAVF savefile on your AS400:
            C:\> ftp as400hostname
            ...
            ftp> binary
            ftp> put p4 PERFORCE/PERFSAVF
            ftp> quit
    

  4. Back on the AS400, verify the contents of the savefile
            DSPSAVF FILE(PERFORCE/PERFSAVF)
    

    The following objects are listed:

            Object        Type      Attribute  Owner       Size     Data
            PERFORCE     *LIB       PROD      LORI          73728     YES
            P4           *PGM       CPPLE     LORI        4157440     YES
            P4           *CMD                 QPGMR          4096     YES
            P4SYNC       *CMD                 QPGMR          4096     YES
            QCMDSRC      *FILE      PF        QPGMR         32768     YES
            QREXSRC      *FILE      PF        QPGMR         40960     YES
    

  5. Restore the savefile from the PERFORCE/PERFSAVF into the library PERFORCE (the same library where the PERFSAVF savefile is):
            RSTLIB SAVLIB(PERFORCE) DEV(*SAVF) SAVF(PERFORCE/PERFSAVF)
    

    (This step attempts to extract the PERFORCE library you created in step 2. The resulting error is harmless.)

  6. To make the p4 command available to you, add the PERFORCE library to your library list as follows:
    	ADDLIBLE PERFORCE
    

Now you can run the 'p4' command. The 'p4' CMD file wraps up the arguments and passes them to the 'p4' PGM executable.

Special Considerations

Configuring the editor

The default editor (set by P4EDITOR) is edtf.

OS/2

Last update: December 1999

The Perforce OS/2 command-line client is the p4.exe executable. The Perforce server is not available on this platform.

Special considerations

Configuring the editor

By default, the Perforce editor is vi and the file comparison program is diff (same defaults as UNIX). To override the defaults, set the EDITOR and DIFF variables.

Using multiple drives for the client workspace

On OS/2, a client workspace can span multiple drives.  To enable this feature, specify a client root using the keyword null.  Specify the drive letter in each line of the client view.  The following is a sample client specification for the client named foocli.
Client: foocli

Owner:  joe

Description:
	Created by joe.

	Root: null

	Options: noallwrite noclobber nocompress crlf unlocked nomodtime normdir

	View:
		//depot/foo/...	//foocli/c:/projects/proj1/...
		//depot/bar/...	//foocli/e:/projects/proj2/...

BeOS

Last update: December 1999

The Perforce BeOS client can be used on BeOS DR9 for Macintosh and Power Computing PowerPCs to access a Perforce server on any platform. This version was developed using BeOS DR9 with Metrowerks CodeWarrior. Run the BeOS p4 client from the shell command line in a terminal window.

Special considerations

Configuring the editor

The default Perforce editor is Edit, the BeOS system GUI editor. To override this default, set the $EDITOR environment variable. Be sure to set your editor for "Multiple Launch", as follows:
  1. Invoke IconWorld.
  2. Drag the Edit icon onto the IconWorld window.
  3. Change the App Info settings.

Perforce file permissions

The Be Box is meant to be used as a single-user machine and the effective user has superuser permission, which can circumvent the read-only permissions that Perforce uses to prevent outside modifications to the files it controls. To determine if files have been changed, use the 'p4 diff' command.

Amiga

Last update: December 1999

The Perforce Amiga client program can be run against any Perforce server on UNIX or NT. The Perforce server is not available on this platform.

System requirements

AmigaOS 3.1 using ixemul.library version 47. The library is available from ftp.ninemoons.com.

Special considerations

Specifying file paths

The Amiga version of p4 uses UNIX path names: an Amiga path in the format "drive:path/path/name" gets converted to and from the UNIX format "/drive/path/path/name". Make sure conversion between Amiga and UNIX path names is enabled in ixemul, and keep this conversion in mind when specifying file paths.

Perforce Cygwin Client

If you have your Perforce depot files stored on Windows and you use the Perforce Cygwin command line client to sync files to a client computer, mount your Cygwin volume in text mode to ensure that Windows line endings (CRLF or \r\n) are preserved. If you mount your Cygwin volume in binary mode, the CR (\r) character is deleted when you sync.


Novell File Server

Do not run the Perforce server on a Novell file system disk. The Perforce server creates database files with names that are not 8.3 compliant, and the Novell file system does not support such extended file names. As a result, for example, the files "db.rev," "db.revcx," and "db.review" cannot be distinguished as different files, and are overwritten and corrupted.