Requirements
Supported Platforms
HeexSDK has been tested on the following platforms.
Architecture | Ubuntu 18.04 LTS | Ubuntu 20.04 LTS | Ubuntu 22.04 LTS | Windows 7 | Windows 10 | Windows 11 | CentOS 7.9-2009 |
---|---|---|---|---|---|---|---|
x86_64 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
ARM | ✅ | ✅ | ✅ |
Supported Compilers
HeexSDK has been tested with the following compilers for c++14
:
gcc: 11.4.0
(22.04), 9.4.0
(20.04), 7.5.0
(18.04), 9.3.1
(CentOS)
msvc: 14.2
⚠️ Warning:
GLIBC version 3.4.30 is required to be able to use the
heexCore
.
On Ubuntu 18.04, you can add support for GLIBC 3.4.30 by running the following commands:
Supported Python versions
HeexSDK has been tested with the following python library:
python: 3.10
(Ubuntu 22.04 & Windows), 3.8
(20.04), 3.6
(18.04 & CentOS)
⚠️ Warning:
Due to the Boost library version we are using (1.84.0), python 3.11 is currently not supported.
Configuring and building with python requires the --with-python
optional flags to be provided to the ./heex sdk build
CLI command.
Required libraries
The Heex SDK automates the installation of most of the dependencies and 3rd-party softwares required, with the Heex CLI
.
Some software dependencies are not integrated in our solution, but are required to build and operate it at run-time.
Affected dependencies are tagged for non-automated install (ie. user manual installation is required) and for external tool (ie. the tool need to be available in the machine).
Pre-required on platforms
The following dependencies are required to be installed previous to any usage of the SDK.
- sudo
- jq
→ jq is a lightweight and flexible command-line JSON processor
→ Solely for users that call therunHeexKernel.sh
script with thewait-for-jobs-completion
option.
- sudo
- jq
→ jq is a lightweight and flexible command-line JSON processor
→ Solely for users that call therunHeexKernel.sh
script with thewait-for-jobs-completion
option.
- C++ development Build essentials package and tools
→ cmake
→ Windows 10 SDK and compiler v142 (manual installation required) - Git
- Python (Only for Python use cases, not mandatory in other cases)
Automatically installed
The following dependencies are installed by our CLI.
Global dependencies
- Boost 1.84.0
- Some boost libraries used are not header-only and require a .lib to be provided to the linker. They are
program_options
,thread
,filesystem
,system
,date_time
,regex
,serialization
, andlog
. andpython
. Also requirespython
when enabled.
- Some boost libraries used are not header-only and require a .lib to be provided to the linker. They are
- C++ development Build essentials package and tools
build-essential
package (libc, gcc, g++, make, dpkg-dev, …)cmake
3.24.0 binaries (for 18.04 and CentOS only)
- Archiver
- 7zip (external tool, pre-compiled binary): We use the pre-compiled binaries only, no usage of the source code.
- whereami
- makeself
SDK-specific dependencies
- units units library auto-installed when building Heex SDK with
Heex CLI
.
Global dependencies
- Boost 1.84.0
- Some boost libraries used are not header-only and require a .lib to be provided to the linker. They are
program_options
,thread
,filesystem
,system
,date_time
,regex
,serialization
, andlog
. andpython
. Also requirespython
when enabled.
- Some boost libraries used are not header-only and require a .lib to be provided to the linker. They are
- C++ development Build essentials package and tools
build-essential
package (libc, gcc, g++, make, dpkg-dev, …)cmake
3.24.0 binaries (for 18.04 and CentOS only)
- Archiver
- 7zip (external tool, pre-compiled binary): We use the pre-compiled binaries only, no usage of the source code.
- whereami
- makeself
SDK-specific dependencies
- units units library auto-installed when building Heex SDK with
Heex CLI
.
Global dependencies
- Boost 1.84.0
- Some boost libraries used are not header-only and require a .lib to be provided to the linker. They are
program_options
,thread
,filesystem
,system
,date_time
,regex
,serialization
, andlog
. andpython
. Also requirespython
when enabled.
- Some boost libraries used are not header-only and require a .lib to be provided to the linker. They are
- C++ development Build essentials package and tools
- cmake (external tool)
- Windows 10 SDK and compiler v142 (external tool, no automated install)
- Archiver
- 7zip (external tool, pre-compiled binary): We use the pre-compiled binaries only, no usage of the source code.
- whereami
- NSSM
SDK-specific dependencies
- units units library auto-installed when building Heex SDK with
Heex CLI
.