Common options

The following are common options of the compile_ae utility.
--language {system | cpp | java | fortran | perl | python64 | python3x |r}
Identifies the programming language that is used to write the AE. Accepted options are system (for the base C API), cpp (for C++), java, fortran, perl, python64, python3x (for Python version 3.x) and r. For example:
--language java
Note: For information about how to install R, see the IBM developerWorks Netezza Developer Network (NDN) community. You need to register first at developerWorks https://www.ibm.com/developerWorks. Search for “NDN” to locate the Netezza Developer Network community. Follow the instructions in the overview page to get access to the private part of the community.
--template <registration_type>
Defines the registration type. Look at the language's template directory for a complete list. Common values include:
  • compile that is used to compile non-scripting languages. It also deploys.
  • compile64 that is used for 64-bit version of compile. Note that only C and C++ support 64-bit operation.
  • deploy that is used for deploying a script to the export directory. This is the only valid value for Perl and Python AEs.
  • deploydir that is used for deploying the contents of a directory to the export directory.
  • compilejar that is used to produce a Java JAR file.
For example:
--template compilejar
--version <ae_version>
Sets the AE version in use. This value is tied to the current IBM Netezza analytics version, and is used to track incompatibility. You can display the contents of /nz/export/ae/adapters/system_ae/ to list versions. For example:
--version 3
--db <system_db>
Selects the target Netezza system database and the default location of output files (where the compiled/deployed files are copied). The location must be the same as the location expected by register_ae. Otherwise, when the process registers the executable, it refers to a file that does not exist and therefore cannot be run. By default (if --db is not specified), the target database is the database set in the Linux environment variable NZ_DATABASE. For example:
--db dev
--user <db_user>
Sets the database user name. This option also helps determine the default location of output files. By default (if --user is not specified) compile_ae uses the Linux environment variable NZ_USER. For more information, see User definition. For example:
--user Joe_User
--pw <password>
Sets the database password. By default (if --pw is not specified) compile_ae uses the Linux environment variable NZ_PASSWORD. For example:
--pw MyPassword

The compile_ae utility also supports nzpassword caching. nzpassword is an NPS system command-line utility.

--compargs “<args> <args>...<args>”
Specifies additional arguments to pass to the compiler as specified. This option is typically used for compiled languages, but can be used for other purposes by some compile templates. For example:
--compargs "-g -Wall"
--linkargs “<args> <args>...<args>”
Specifies additional arguments to pass to the linker. This option is typically used for linked languages, but can be used for other purposes by some compile templates. For example:
--linkargs "-g"
--hostcompargs “<args> <args>...<args>”
Specifies additional arguments relevant to the host that are to be passed to the compiler as specified. This option is typically used for compiled languages, but can be used for other purposes by some compile templates. For example:
--hostcompargs "-g -Wall"
--hostlinkargs “<args> <args>...<args>”
Specifies additional arguments relevant to the host that are to be passed to the linker as specified. This option is typically used for linked languages, but can be used for other purposes by some compile templates. For example:
--hostlinkargs "-g"
--spucompargs “<args> <args>...<args>”
Specifies additional arguments relevant to the SPU, which are passed to the compiler as specified. This option is typically used for compiled languages, but can be used for other purposes by some compile templates. For example:
--spuhostcompargs "-g -Wall"
--spuhostlinkargs “<args> <args>...<args>”
Specifies additional arguments relevant to the SPU, which are passed to the linker as specified. This option is typically used for linked languages, but can be used for other purposes by some compile templates. For example:
--spuhostlinkargs "-g"
--exe <filename>
Sets the executable name of the executable file or Java JAR file being created. Since Java can use class files directly, the use of --exe to specify a JAR file is optional. If --exe is not specified, the output file takes the name of the first input file minus the file type suffix. To use the –exe option:
-- exe testapply
--path <pathname>
Sets the directory path of the location where files are stored. For example:
--path /nz/export/ae/applications/special
Note: The output location for compile_ae files and the input location for register_ae files for a specific application must match. The register_ae utility searches for files in the location wherecompile_ae deploys files. This can be configured using the default database settings, by specifying the same database options for compile_ae and register_ae, or by using the --path option.
--warn
Provides a warning instead of an error, allowing processing to continue, if the output location does not start with <ae_export_dir>/ae/applications/<ae_db>. Warning applies only if you are using a non-standard output location with the --path option. For example:
--warn
Sample output:
WARNING: --path should start with /nz/export/ae/applications/mydb
--object <filename>
Provides an optional name of output object file. Use this option to compile one source file into an object file of the specified name. This can be an intermediate file with the final file that is specified by --exe. For example:
--object myobj.o