Installing and configuring the SMP/E format

The following checklist summarizes the key configuration steps for a successful installation.
Notes:
  • The Program Directory includes specific installation requirements and instructions in Chapter 5 and Chapter 6.

Hardware prerequisites

    • IBM® z16® (all models)
    • IBM z15® (all models)
    • IBM z14®® (all models)
    • IBM z13® (all models)

Software prerequisites

Note: The recommended shell is Bash. To download Bash, visit Bash on z/OS.

Optional prerequisites

  • Python 3.11 or later releases are required to compile native add-ons. It must also be defined in your PATH environment variable. To obtain IBM Open Enterprise SDK for Python, visit IBM Open Enterprise SDK for Python product page.
  • Make 4.4.1 or later is required to compile native add-ons. Its path must be included in your PATH environment variable. To obtain Make, visit the Make download page.
  • IBM C/C++ for Open Enterprise Languages on z/OS 2.0 is required to build native C/C++ add-ons. To install the compiler, download the pax edition of the compiler from the IBM C/C++ for Open Enterprise Languages on z/OS download page.

Configuring

Open Enterprise SDK for Node.js is a z/OS UNIX-based application, which requires certain configuration on the z/OS UNIX System Services file system to ensure proper operation.
  • Validate that /usr/bin/env exists. If not configured, see the instructions in Verifying the env command path.
  • Ensure that /tmp has at least 1 GB or more of disk space configured. To use an alternative file system, set the TMPDIR environment variable to a directory that has sufficient space.

Running setup.sh

  1. Run setup.sh to validate system prerequisites and setup environment variables:
    $ cd <nodejs_dir>
    $ ./setup.sh
  2. In order for Node.js to operate correctly, specific environment variables must be set. Source the generated .env script that is generated by setup.sh to set the required environment variables in the current shell using the dot command (.) followed by a blank space:
    $ . <nodejs_dir>/.env
    This command also adds <nodejs_dir>/bin to your PATH, where the node binary is located.
    Note: This command sets the CC, CXX, and LINK environment variables. If you have other tooling that uses the C/C++ compiler, you need to modify these environment variables.
    Note: The following command (followed by a blank space after the initial dot) can be added to the profile of the user running Node.js, so that the Node.js environment variables are set every time the user logs in:
    $ . <nodejs_dir>/.env

(Optional) npm configuration when running as BPXROOT

The npm utility is included in Open Enterprise SDK for Node.js to install Node.js modules and packages. The npm utility performs checks to limit unsafe installation of modules by root / BPXROOT. To proceed to use BPXROOT id, you can take either of the following steps:

  • Run with the --unsafe-perm npm option. For example:
    $ npm install <npm_module> --unsafe-perm
    You can configure this option as default with:
    $ npm config set unsafe-perm true
  • Create a user id: nobody and ensure it is a member of a group. npm switches to this nobody uid/gid as necessary when running as BPXROOT.

Related reference