161 lines
4.1 KiB
Markdown
161 lines
4.1 KiB
Markdown
# ROOT Recipe Notes
|
|
|
|
ROOT has a significant number of build options. Not all of them are supported by this package recipe at this time. Relevant notes on support (or lack thereof) for various options is below.
|
|
|
|
## Fixed and unsupported options
|
|
|
|
### Missing dependencies
|
|
|
|
The following configuration options are unsupported (set to `OFF`) due to missing dependencies:
|
|
|
|
#### `alien`
|
|
|
|
Requires `libgapiUI` from ALICE.
|
|
|
|
#### `gfal`
|
|
|
|
#### `http`
|
|
|
|
ROOT looks for and uses the FastCGI package on the system if found, creating a possible non-portable dependency. There is currently no `fastcgi` recipe, nor any way to unconditionally disable the search for the package.
|
|
|
|
#### `monalisa`
|
|
|
|
Monitoring with Monalisa depends on `libapmoncpp`.
|
|
|
|
#### `odbc`
|
|
|
|
#### `tcmalloc`
|
|
|
|
#### `xinetd`
|
|
|
|
### Discontinued options
|
|
|
|
Support for several options was discontinued in ROOT without prior support in the recipe:
|
|
|
|
#### `afdsmgrd`
|
|
|
|
#### `afs`
|
|
|
|
#### `bonjour`
|
|
|
|
#### `castor`
|
|
|
|
#### `chirp`
|
|
|
|
#### `geocad`
|
|
|
|
#### `glite`
|
|
|
|
#### `globus`
|
|
|
|
#### `hdfs`
|
|
|
|
#### `ios`
|
|
|
|
#### `krb5`
|
|
|
|
#### `ldap`
|
|
|
|
#### `rfio`
|
|
|
|
#### `ruby`
|
|
|
|
#### `sapdb`
|
|
|
|
#### `srp`
|
|
|
|
### Other fixed or unsupported options
|
|
|
|
### `arrow=OFF`
|
|
|
|
#### `asimage=ON`, `astiff=ON`, `builtin_afterimage=ON`
|
|
|
|
Full control of `asimage` and `astiff` would require a package recipe for libAfterImage or Afterstep. In their absence, we use the provided and internally built version of libAfterImage.
|
|
|
|
#### `ccache=OFF`
|
|
|
|
Only useful for repeated builds.
|
|
|
|
#### `cling=OFF`
|
|
|
|
The use of Cling is assumed.
|
|
|
|
#### `cxxmodules`
|
|
|
|
This option should not be confused with `runtime_cxxmodules`. `cxxmodules` is an optimization that affects only the efficiency of building ROOT.
|
|
|
|
#### `exceptions=ON`
|
|
|
|
Support for C++ exceptions is assumed.
|
|
|
|
#### `explicitlink=ON`
|
|
|
|
Use of explicit linking when making shared libraries is assumed.
|
|
|
|
#### `fail-on-missing=ON`
|
|
|
|
Failure on missing dependencies is assumed (_vs_ automatically setting `builtin_XXX`).
|
|
|
|
#### `gnuinstall=OFF`
|
|
|
|
GNU-compliant install layout.
|
|
|
|
#### `libcxx`
|
|
|
|
This option controls use of the libC++ standard C++ library via compiler options. It is set automatically by ROOT's configuration on macOS >=10.7 when a Clang compiler is configured. Due to complexities related to compiler options and the way a compiler might have been configured, configurable support is disabled until (at least) Spack supports the standard library as a virtual dependency.
|
|
|
|
#### `pch=ON`
|
|
|
|
The use of pre-compiled headers when building is assumed.
|
|
|
|
#### `roottest=OFF`
|
|
|
|
`roottest` requires access to the network.
|
|
|
|
#### `runtime_cxxmodules=OFF`
|
|
|
|
This option tells ROOT to generate and use PCMs for its own libraries. This functionality is experimental for ROOT < 6.20, and is currently not supported by the recipe.
|
|
|
|
#### `shared=ON`
|
|
|
|
The use of shared libraries is assumed.
|
|
|
|
#### `soversion=ON`
|
|
|
|
The use of versioning for shared libraries is assumed.
|
|
|
|
#### `testing`
|
|
|
|
The building of ROOT's test suite and its availability for use by CTest is pegged to Spack's determination of whether testing is required for the current installation procedure.
|
|
|
|
## Variants and version dependent support for options
|
|
|
|
Some configuration options are version dependent---unavailable before or after a specific version. The current accounting for such options in the recipe is far from exhaustive, and a survey of the various options and the versions that support them would be useful. However, accounting for them is somewhat clumsy absent a `when` clause for variants, or similar.
|
|
|
|
### Conflicting variants since 6.18
|
|
|
|
#### `memstat`
|
|
|
|
#### `qt4`
|
|
|
|
Representing the obsolete `qt` and `qtgsi` ROOT build options.
|
|
|
|
#### `table`
|
|
|
|
### Temporarily conflicting variants
|
|
|
|
The `http` variant is currently an unconditional conflict due to the non-portable dependency mentioned above.
|
|
|
|
## Permanently removed variants
|
|
|
|
The following variants have been removed from the recipe as they have always been ineffective:
|
|
|
|
* `avahi`
|
|
* `kerberos`
|
|
* `ldap`
|
|
* `libcxx`
|
|
* `odbc`
|
|
* `tiff`
|
|
|
|
In addition, the `test` variant has been removed as its actions are irrelevant to the installed source---the corresponding `testing` ROOT option is enabled if and only if `self.run_tests` is set.
|