The following items might vary for your client machine's operating
system:
- Different set of compilation flags
There are different
sets of compilation flags based on compilers or operating systems.
For example:
- AIX (on System p) has the unique flags
_BSD, _SUN, and BSD_INCLUDES.
- DOS compilers have different compiler models, which require the
corresponding compiler flag (for example, -AL and -AS).
- Include files in different directories
Because the include files can be installed differently
based on the operating systems and their toolkits, the include files
could be in different directories.
- Include file has a different name
Include files for the
same or similar functions could have the same or similar file names.
For example, DOS uses the file name "string.h", and the other
platforms use "strings.h".
- System variables in different include files
The system
variables are usually in different include files, based on the operating
systems. For example, to access the mount table some AIX and UNIX
clients use mntent.h.
- System variables have different names
The variables related
to operating systems could have different variable names. For example;
some AIX and UNIX clients use getuid to get the real UID.
- System variables have different structure
The structures
related to operating systems could be different. For example, DOS
FAT file systems have file name length restrictions which cause them
to have a different directory structure from AIX or UNIX.
- System variables not supported
Some system variables are
supported by one operating system but not another.
- Sequence of include files
Some include files are based
on the precedence of another include file. The prerequisite include
file has to come before the other include files. For example, some
Programming Libraries offer types.h which is based on C compiler sys/types.h.
Therefore, #include <sys/types.h> should be before #include <types.h>.
- Mount information varies depending on the client operating system
The information about mount points provided by vendors of the
client operating systems and client TCP/IP products varies and might
not always be complete. To find the mount information:
- Search through the documentation (for example, the TCP/IP development
toolkit and the installation and administration guides).
- If you cannot find the mount information in the documentation,
contact the vendor that offers the TCP/IP development toolkit.
- 32-bit mode and 64-bit mode
IBM supports the compilation
of the client enabling commands in 32-bit mode on all supported platforms
and in 64-bit mode on AIX, Sun, Linux, and z/Linux.
IBM has tested the client enabling commands in 32-bit mode and 64-bit
mode on both 32-bit and 64-bit capable systems using the standard
gcc (GNU Compiler collection) 4.0.x compiler command for Linux, gcc
3.4.x compiler command for Sun, and gcc 4.0.x compiler command for
AIX. Compiler support has been expanded to include Sun Studio 11 for
Solaris 10 and XLC v11 for AIX.
The IBM-supplied makefile for
the NFS client enabling commands provides the following keywords to
enable the use of 64-bit addressing on various platforms:
- AIX64
- for the AIX platform
- LINUX64
- for the Linux platform
- SUN64
- for the SUN platform
- ZLINUX64
- for the z/Linux platform.
The IBM-supplied makefile for the NFS client enabling
commands also provides the following keywords to override some of
the default values:
- CC
- Allows the default compiler used by the makefile for the target
platform to be overridden with a different compiler name. For example, “make
cc=gcc sun” builds the utilities for the SUN Solaris platform
using the gcc compiler.
- CFLAGS
- Allows the default compiler options to be used for the target
platform to be overridden with a different set of compiler options.
The options string must be placed in double quotes, because the string
can include any characters, including blanks.
Note: - 64-bit mode is not currently supported for the z/OS client.
- IBM cannot test all possible compiler/option combinations. Any
compilation or execution failures experienced when the default compiler/option
values are overridden are the customer’s responsibility to resolve.
- The required system run-time libraries for 64-bit support
must be available on the platform.