From 64621bf9559af4c208736210f8ad438f3d0e6126 Mon Sep 17 00:00:00 2001 From: Ian Stewart Date: Mon, 19 Dec 2022 19:12:12 -0700 Subject: [PATCH] Holoscan OpenEmbedded Layer v0.4.0 Release --- CHANGELOG.md | 56 +- README.md | 167 +-- conf/holoscan-dgpu.conf | 8 +- conf/layer.conf | 12 +- conf/rivermax.conf | 2 +- env/Dockerfile | 4 +- env/README.md | 30 +- env/container_setup.sh | 22 +- env/docker_build.sh | 4 +- env/docker_check_packages.sh | 14 +- env/host_bitbake.sh | 2 +- env/templates/conf/bblayers.conf | 2 +- env/templates/conf/local.conf | 13 +- ...1.29-1.57102.bb => dpcp_1.1.37-1.58101.bb} | 5 - .../mlnx-ofed/files/fix-kernel-build.patch | 52 +- .../mlnx-ofed/ibacm_58mlnx43-1.58101.bb | 44 + ...x40-1.57102.bb => ibdump_6.0.0-1.58101.bb} | 8 +- .../mlnx-ofed/ibsim_0.10-1.58101.bb | 45 + ...2.1.1-0.156.MLNX20221016.g4aceb16.58101.bb | 41 + .../ibverbs-providers_58mlnx43-1.58101.bb | 42 + ...2.bb => ibverbs-utils_58mlnx43-1.58101.bb} | 8 +- .../infiniband-diags_58mlnx43-1.58101.bb | 35 + .../mlnx-ofed/libibmad5_58mlnx43-1.58101.bb | 34 + .../libibnetdisc5_58mlnx43-1.58101.bb | 34 + .../mlnx-ofed/libibumad3_58mlnx43-1.58101.bb | 30 + ...102.bb => libibverbs1_58mlnx43-1.58101.bb} | 9 +- ...m_5.13.0.MLNX20221016.10d3954-0.1.58101.bb | 33 + .../libopenvswitch_2.17.2-1.58101.bb | 29 + .../mlnx-ofed/librdmacm1_58mlnx43-1.58101.bb | 39 + .../mlnx-ofed/libvma-utils_9.7.0-1.bb | 28 + .../{libvma_9.6.4-1.bb => libvma_9.7.0-1.bb} | 15 +- .../mlnx-ofed/libxlio-utils_2.0.6-1.58101.bb | 28 + ....7-1.0.2.0.bb => libxlio_2.0.6-1.58101.bb} | 30 +- .../mlnx-ofed/mft_4.22.0-96.bb | 36 + .../mlnx-ofed/mlnx-ethtool_5.18-1.58101.bb | 33 + .../mlnx-ofed/mlnx-ofed-common.inc | 42 + ...0.bb => mlnx-ofed-download_5.8-1.0.1.1.bb} | 4 +- ...-ofed-kernel-dkms_5.8-OFED.5.8.1.0.1.1.bb} | 45 +- ...-ofed-kernel-utils_5.8-OFED.5.8.1.0.1.1.bb | 37 + .../mlnx-ofed/mlnx-ofed-package.inc | 34 +- .../mlnx-ofed/mlnx-ofed_5.8-1.0.1.1.bb | 65 ++ .../mlnx-ofed/mlnx-tools_5.2.0-0.58101.bb | 35 + .../mstflint/files/0001-Fix-OE-build.patch | 951 ++++++++++++++++++ .../0002-Remove-EXTERNAL-build-flag.patch | 38 + .../mstflint/mstflint_4.22.0-1.bb | 49 + ...ps_1.11.11.bb => rivermax-apps_1.20.10.bb} | 4 +- ...x_13.3.12.11.bb => rivermax_14.1.13.10.bb} | 5 +- ...01-Fix-parameter_storage-build-error.patch | 8 +- ...penameAsString-from-nvidia-namespace.patch | 10 +- .../0003-Fix-std-iterator-deprecation.patch | 71 ++ .../files/0004-Fix-unused-parameters.patch | 80 ++ ...-Fix-GxfEntityCreateInfo-initializer.patch | 25 + ...06-Remove-complex-primitives-support.patch | 42 + .../{gxf-core_2.4.3.bb => gxf-core_2.5.0.bb} | 11 +- ...o-deprecated-declarations-build-flag.patch | 26 - .../0001-Fix-GXF-TypenameAsString-error.patch | 43 + ...OSCAN_LOG_ERROR-issue-with-YAML-Node.patch | 46 - ...stall-rules-for-ping_tx-rx-libraries.patch | 34 - .../0004-Holoviz-add-stdexcept-includes.patch | 116 --- ...-Findajantv2.cmake-from-install-list.patch | 24 - ...can-sdk_0.3.0.bb => holoscan-sdk_0.4.0.bb} | 70 +- .../onnxruntime/onnxruntime_1.12.1.bb | 54 + recipes-graphics/glad/glad_0.1.36.bb | 8 +- .../nvidia-dgpu-drivers_515.65.01.bb | 4 + .../ajantv2/ajantv2-common_16.2.0.inc | 4 +- 65 files changed, 2461 insertions(+), 518 deletions(-) rename recipes-connectivity/mlnx-ofed/{dpcp_1.1.29-1.57102.bb => dpcp_1.1.37-1.58101.bb} (92%) create mode 100644 recipes-connectivity/mlnx-ofed/ibacm_58mlnx43-1.58101.bb rename recipes-connectivity/mlnx-ofed/{ibverbs-providers_56mlnx40-1.57102.bb => ibdump_6.0.0-1.58101.bb} (88%) create mode 100644 recipes-connectivity/mlnx-ofed/ibsim_0.10-1.58101.bb create mode 100644 recipes-connectivity/mlnx-ofed/ibutils2_2.1.1-0.156.MLNX20221016.g4aceb16.58101.bb create mode 100644 recipes-connectivity/mlnx-ofed/ibverbs-providers_58mlnx43-1.58101.bb rename recipes-connectivity/mlnx-ofed/{librdmacm1_56mlnx40-1.57102.bb => ibverbs-utils_58mlnx43-1.58101.bb} (88%) create mode 100644 recipes-connectivity/mlnx-ofed/infiniband-diags_58mlnx43-1.58101.bb create mode 100644 recipes-connectivity/mlnx-ofed/libibmad5_58mlnx43-1.58101.bb create mode 100644 recipes-connectivity/mlnx-ofed/libibnetdisc5_58mlnx43-1.58101.bb create mode 100644 recipes-connectivity/mlnx-ofed/libibumad3_58mlnx43-1.58101.bb rename recipes-connectivity/mlnx-ofed/{libibverbs1_56mlnx40-1.57102.bb => libibverbs1_58mlnx43-1.58101.bb} (90%) create mode 100644 recipes-connectivity/mlnx-ofed/libopensm_5.13.0.MLNX20221016.10d3954-0.1.58101.bb create mode 100644 recipes-connectivity/mlnx-ofed/libopenvswitch_2.17.2-1.58101.bb create mode 100644 recipes-connectivity/mlnx-ofed/librdmacm1_58mlnx43-1.58101.bb create mode 100644 recipes-connectivity/mlnx-ofed/libvma-utils_9.7.0-1.bb rename recipes-connectivity/mlnx-ofed/{libvma_9.6.4-1.bb => libvma_9.7.0-1.bb} (88%) create mode 100644 recipes-connectivity/mlnx-ofed/libxlio-utils_2.0.6-1.58101.bb rename recipes-connectivity/mlnx-ofed/{mlnx-ofed_5.7-1.0.2.0.bb => libxlio_2.0.6-1.58101.bb} (72%) create mode 100644 recipes-connectivity/mlnx-ofed/mft_4.22.0-96.bb create mode 100644 recipes-connectivity/mlnx-ofed/mlnx-ethtool_5.18-1.58101.bb create mode 100644 recipes-connectivity/mlnx-ofed/mlnx-ofed-common.inc rename recipes-connectivity/mlnx-ofed/{mlnx-ofed-download_5.7-1.0.2.0.bb => mlnx-ofed-download_5.8-1.0.1.1.bb} (91%) rename recipes-connectivity/mlnx-ofed/{mlnx-ofed-kernel-dkms_5.7-OFED.5.7.1.0.2.1.bb => mlnx-ofed-kernel-dkms_5.8-OFED.5.8.1.0.1.1.bb} (67%) create mode 100644 recipes-connectivity/mlnx-ofed/mlnx-ofed-kernel-utils_5.8-OFED.5.8.1.0.1.1.bb create mode 100644 recipes-connectivity/mlnx-ofed/mlnx-ofed_5.8-1.0.1.1.bb create mode 100644 recipes-connectivity/mlnx-ofed/mlnx-tools_5.2.0-0.58101.bb create mode 100644 recipes-connectivity/mstflint/files/0001-Fix-OE-build.patch create mode 100644 recipes-connectivity/mstflint/files/0002-Remove-EXTERNAL-build-flag.patch create mode 100644 recipes-connectivity/mstflint/mstflint_4.22.0-1.bb rename recipes-connectivity/rivermax/{rivermax-apps_1.11.11.bb => rivermax-apps_1.20.10.bb} (93%) rename recipes-connectivity/rivermax/{rivermax_13.3.12.11.bb => rivermax_14.1.13.10.bb} (91%) create mode 100644 recipes-devtools/gxf/files/0003-Fix-std-iterator-deprecation.patch create mode 100644 recipes-devtools/gxf/files/0004-Fix-unused-parameters.patch create mode 100644 recipes-devtools/gxf/files/0005-Fix-GxfEntityCreateInfo-initializer.patch create mode 100644 recipes-devtools/gxf/files/0006-Remove-complex-primitives-support.patch rename recipes-devtools/gxf/{gxf-core_2.4.3.bb => gxf-core_2.5.0.bb} (81%) delete mode 100644 recipes-devtools/holoscan/files/0001-Add-Wno-deprecated-declarations-build-flag.patch create mode 100644 recipes-devtools/holoscan/files/0001-Fix-GXF-TypenameAsString-error.patch delete mode 100644 recipes-devtools/holoscan/files/0002-Fix-HOLOSCAN_LOG_ERROR-issue-with-YAML-Node.patch delete mode 100644 recipes-devtools/holoscan/files/0003-Add-install-rules-for-ping_tx-rx-libraries.patch delete mode 100644 recipes-devtools/holoscan/files/0004-Holoviz-add-stdexcept-includes.patch delete mode 100644 recipes-devtools/holoscan/files/0005-Remove-Findajantv2.cmake-from-install-list.patch rename recipes-devtools/holoscan/{holoscan-sdk_0.3.0.bb => holoscan-sdk_0.4.0.bb} (63%) create mode 100644 recipes-devtools/onnxruntime/onnxruntime_1.12.1.bb diff --git a/CHANGELOG.md b/CHANGELOG.md index 408935f..370d266 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,49 @@ +## [0.4.0] - 2022-12-20 +### Added +- ONNX Runtime 1.12.1 recipe +- Missing mlnx-ofed components (libibmad5, libibumad3, libibnetdisc5, etc.) +- mstflint 4.22.0-1 recipe + +### Changed +- Renamed layer to meta-tegra-holoscan +- Updated Holsocan SDK to 0.4.0 using new GitHub repository + (https://github.com/nvidia-holoscan/holoscan-sdk) +- Updated GXF to 2.5.0 +- glad is now built as a shared library. +- Updated mlnx-ofed to 5.8-1.0.1.1 +- Updated Rivermax to 1.20.10 + +### Fixed +- Added host network option to docker run commands to work with VPN. +- Added missing Vulkan ICD to GPU drivers. +- The AJA kernel module will now load automatically if an AJA device is + found, eliminating the need to add it to `KERNEL_MODULE_AUTOLOAD`. + +### Known Issues +- A build-time race condition may lead to Rivermax packaging conflicts. + See the "Building and Flashing" section of README.md for a solution. +- The display may not be detected during first boot. + See the "Building and Flashing" section of README.md for a solution. + +### Component Versions +| | iGPU and dGPU | +| --------------- | ------------- | +| L4T | 35.1.0 | +| Holoscan SDK | 0.4.0 | +| GXF | 2.5.0 | +| AJA NTV2 | 16.2.0 | +| MLNX OFED | 5.8-1.0.1.1 | +| Rivermax | 1.20.10 | + +| | iGPU | dGPU | +| -------------- | -------- | --------- | +| GPU Drivers | 35.1.0 | 515.65.01 | +| CUDA | 11.4.239 | 11.7.1 | +| cuDNN | 8.4.1.50 | 8.5.0.96 | +| TensorRT | 8.4.1 | 8.4.3.1 | +| nvidia-peermem | N/A | 1.3.0 | + + ## [0.3.0] - 2022-10-19 ### Added - Support for the NVIDIA IGX Orin Developer Kit (`holoscan-devkit`). @@ -12,8 +58,9 @@ Module Source](https://github.com/NVIDIA/open-gpu-kernel-modules). Repo](https://github.com/NVIDIA/cuda-samples). ### Known Issues -- Holoscan SDK Ultrasound segmentation application is not functional on NVIDIA IGX Orin Developer Kit (holoscan-devkit) with iGPU configuration. -- Holoscan SDK High-Speed Endoscopy application is not supported in deployment stack. +- Holoscan SDK Ultrasound segmentation application is not functional on NVIDIA + IGX Orin Developer Kit (holoscan-devkit) with iGPU configuration. +- Holoscan SDK High-Speed Endoscopy application is not yet supported. ### Component Versions | | iGPU and dGPU | @@ -52,5 +99,6 @@ Repo](https://github.com/NVIDIA/cuda-samples). | AJA NTV2 | 16.2.0 | | Holoscan SDK | 0.2.0 | -[0.3.0]: https://github.com/NVIDIA/meta-tegra-clara-holoscan-mgx/compare/v0.2.0...v0.3.0 -[0.2.0]: https://github.com/NVIDIA/meta-tegra-clara-holoscan-mgx/releases/tag/v0.2.0 +[0.4.0]: https://github.com/nvidia-holoscan/meta-tegra-holoscan/compare/v0.3.0...v0.4.0 +[0.3.0]: https://github.com/nvidia-holoscan/meta-tegra-holoscan/compare/v0.2.0...v0.3.0 +[0.2.0]: https://github.com/nvidia-holoscan/meta-tegra-holoscan/releases/tag/v0.2.0 diff --git a/README.md b/README.md index 7f5bcea..58d2f70 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ -# OpenEmbedded/Yocto layer for NVIDIA Clara Holoscan +# OpenEmbedded/Yocto layer for NVIDIA Holoscan This layer adds OpenEmbedded recipes and sample build configurations to build -BSPs for NVIDIA Clara Developer Kits that feature support for discrete GPUs -(dGPU), AJA Video Systems I/O boards, and the Clara Holoscan SDK. These BSPs -are built on a developer's host machine and are then flashed onto a Clara -Developer Kit using provided scripts. +BSPs for NVIDIA Holoscan Developer Kits that feature support for discrete GPUs +(dGPU), Rivermax, AJA Video Systems I/O boards, and the NVIDIA Holoscan SDK. +These BSPs are built on a developer's host machine and are then flashed onto a +Holoscan Developer Kit using provided scripts. This is an add-on layer to the [meta-tegra](https://github.com/OE4T/meta-tegra) BSP layer with additions to enable the discrete GPU (dGPU) and other hardware -drivers and toolkits that are used by the Clara Holoscan SDK. +drivers and toolkits that are used by the NVIDIA Holoscan SDK. ## Supported Boards @@ -17,7 +17,7 @@ drivers and toolkits that are used by the Clara Holoscan SDK. ## System Requirements -Building a BSP for Clara Holoscan requires a significant amount of system +Building a BSP for NVIDIA Holoscan requires a significant amount of system resources. Available disk space is the only strict requirement that must be met, with **a minimum of 200GB of free disk space required for a build** using the default configuration as described in this document. It is recommended, @@ -60,8 +60,8 @@ on the host machine. #### Dependencies Unless otherwise stated, the following dependencies should all be cloned into -the same working directory that this `meta-tegra-clara-holoscan-mgx` repo -has been cloned into. +the same working directory that this `meta-tegra-holoscan` repo has been cloned +into. Also note that these dependencies are being actively developed, so compatibility can not be guaranteed when using the latest versions. Each @@ -102,14 +102,14 @@ into and then run `git checkout {commit id}`. * #### Additional Metadata Layers The following additional layers are required and must be added to the - `BBLAYERS` list (along with this `meta-tegra-clara-holoscan-mgx` layer - itself) in the `build/conf/bblayers.conf` configuration file that is - created by the `oe-init-build-env` script. Note that the paths in this - configuration file must be full paths; see the template file in - `meta-tegra-clara-holoscan-mgx/env/templates/conf/bblayers.conf` for an - example when these layers are cloned into a `/workspace` root directory. - Also note that this `meta-tegra-clara-holoscan-mgx` layer must be listed - before the `meta-tegra` layer in `bblayers.conf`. + `BBLAYERS` list (along with this `meta-tegra-holoscan` layer itself) in the + `build/conf/bblayers.conf` configuration file that is created by the + `oe-init-build-env` script. Note that the paths in this configuration file + must be full paths; see the template file in + `meta-tegra-holoscan/env/templates/conf/bblayers.conf` for an example when + these layers are cloned into a `/workspace` root directory. Also note that + this `meta-tegra-holoscan` layer must be listed before the `meta-tegra` + layer in `bblayers.conf`. Note that the repo used here for the `meta-tegra` layer is a fork of the official `meta-tegra` repo found at https://github.com/OE4T/meta-tegra. @@ -118,7 +118,7 @@ into and then run `git checkout {commit id}`. that aren't suitable for the upstream repo. * **meta-openembedded/meta-oe**: https://github.com/openembedded/meta-openembedded **(commit: `a755af4f`)** - * **meta-tegra**: https://github.com/ibstewart/meta-tegra **(commit: `b4fa3baf`)** + * **meta-tegra**: https://github.com/nvidia-holoscan/meta-tegra **(commit: `81e851ff`)** * #### Proprietary NVIDIA Binary Packages @@ -135,39 +135,42 @@ into and then run `git checkout {commit id}`. * #### cuDNN (8.5.0.96) Download: https://developer.nvidia.com/compute/cudnn/secure/8.5.0/local_installers/11.7/cudnn-linux-sbsa-8.5.0.96_cuda11-archive.tar.xz - Local Destination: `meta-tegra-clara-holoscan-mgx/recipes-devtools/cudnn/files/cudnn-linux-sbsa-8.5.0.96_cuda11-archive.tar.xz` + Local Destination: `meta-tegra-holoscan/recipes-devtools/cudnn/files/cudnn-linux-sbsa-8.5.0.96_cuda11-archive.tar.xz` * #### TensorRT (8.4.3.1) Download: https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/8.4.3/tars/tensorrt-8.4.3.1.ubuntu-20.04.aarch64-gnu.cuda-11.6.cudnn8.4.tar.gz - Local Destination: `meta-tegra-clara-holoscan-mgx/recipes-devtools/tensorrt/files/TensorRT-8.4.3.1.Ubuntu-20.04.aarch64-gnu.cuda-11.6.cudnn8.4.tar.gz` + Local Destination: `meta-tegra-holoscan/recipes-devtools/tensorrt/files/TensorRT-8.4.3.1.Ubuntu-20.04.aarch64-gnu.cuda-11.6.cudnn8.4.tar.gz` - * #### GXF (2.4.3) + * #### GXF (2.5.0) Download: https://catalog.ngc.nvidia.com/orgs/nvidia/teams/clara-holoscan/resources/gxf_arm64_holoscan_sdk - Local Destination: `meta-tegra-clara-holoscan-mgx/recipes-devtools/gxf/files/gxf_2.4.3_20220811_6ff6ffd4_holoscan-sdk_arm64.tar.gz` + Local Destination: `meta-tegra-holoscan/recipes-devtools/gxf/files/gxf_22.11_20221116_8fbe43cb_holoscan-sdk_arm64.tar.gz` - > Note that when GXF is downloaded from NGC it will download a ZIP archive - > named `files.zip` that contains the above `tar.gz` file; extract this - > `tar.gz` file from the archive and move it to the destination given + > **_Note:_** When GXF is downloaded from NGC it will download a ZIP + > archive named `files.zip` that contains the above `tar.gz` file; extract + > this `tar.gz` file from the archive and move it to the destination given > above. - * #### Holoscan SDK (0.3.0) + * #### Holoscan SDK (0.4.0) - Endoscopy Sample Data: https://catalog.ngc.nvidia.com/orgs/nvidia/teams/clara-holoscan/resources/holoscan_endoscopy_sample_data - Local Destination: `meta-tegra-clara-holoscan-mgx/recipes-devtools/holoscan/files/holoscan_endoscopy_data.zip` + Endoscopy Sample Data (20221121): https://catalog.ngc.nvidia.com/orgs/nvidia/teams/clara-holoscan/resources/holoscan_endoscopy_sample_data + Local Destination: `meta-tegra-holoscan/recipes-devtools/holoscan/files/holoscan_endoscopy_data_20221121.zip` - Ultrasound Sample Data: https://catalog.ngc.nvidia.com/orgs/nvidia/teams/clara-holoscan/resources/holoscan_ultrasound_sample_data - Local Destination: `meta-tegra-clara-holoscan-mgx/recipes-devtools/holoscan/files/holoscan_ultrasound_data.zip` + Ultrasound Sample Data (20220608): https://catalog.ngc.nvidia.com/orgs/nvidia/teams/clara-holoscan/resources/holoscan_ultrasound_sample_data + Local Destination: `meta-tegra-holoscan/recipes-devtools/holoscan/files/holoscan_ultrasound_data_20220608.zip` - > Note that when downloading these resources from NGC they will be + Multi-AI Sample Data (20221201): https://catalog.ngc.nvidia.com/orgs/nvidia/teams/clara-holoscan/resources/holoscan_multi_ai_ultrasound_sample_data + Local Destination: `meta-tegra-holoscan/recipes-devtools/holoscan/files/holoscan_multi_ai_ultrasound_data_20221201.zip` + + > **_Note:_** When downloading these resources from NGC they will be > downloaded using the name `files.zip`, so they will need to be renamed > when they are moved to the correct destinations given above. - * #### Rivermax SDK (1.11.11) + * #### Rivermax SDK (1.20.10) - Download: https://developer.nvidia.com/networking/secure/rivermax-linux-sdk/installation-package/version-1.11.x/1.11/rivermax_ubuntu2004_1.11.11.tar.gz - Local Destination: `meta-tegra-clara-holoscan-mgx/recipes-connectivity/rivermax/files/rivermax_ubuntu2004_1.11.11.tar.gz` + Download: https://developer.nvidia.com/networking/secure/rivermax-linux-sdk/installation-package/version-1.20.x/1.20/rivermax_ubuntu2004_1.20.10.tar.gz + Local Destination: `meta-tegra-holoscan/recipes-connectivity/rivermax/files/rivermax_ubuntu2004_1.20.10.tar.gz` #### iGPU and dGPU Configurations @@ -196,28 +199,23 @@ To configure a Holoscan BSP, the `MACHINE` setting in the `build/conf/local.conf` configuration file that is initially generated by `oe-init-build-env` must be changed to one of the boards supported by this layer (see above), and the iGPU or dGPU configuration must be selected by -including either `conf/holoscan-igpu.conf` or `conf/holoscan-dgpu.conf', +including either `conf/holoscan-igpu.conf` or `conf/holoscan-dgpu.conf`, respectively: ``` -MACHINE ??= "clara-agx-xavier-devkit" +MACHINE ??= "holoscan-devkit" require conf/holoscan-dgpu.conf ``` > **_NOTE:_** If the configuration is switched between iGPU and dGPU, the -> graphics driver packages need to be cleaned before building the -> BSP in order to prevent file conflict errors. To clean these -> packages, issue these commands: -> -> $ bitbake nvidia-display-driver -c clean -> $ bitbake nvidia-open-gpu-kernel-modules -c clean +> graphics driver packages need to be cleaned before building the BSP in order +> to prevent file conflict errors. To clean these packages, issue these +> commands: > -> It is also possible that other components may fail to build if the -> GPU configuration changes. If another component fails to build, -> try cleaning it before attempting the build again. For example, to -> clean the `rivermax` component, issue the command: -> -> $ bitbake rivermax -c clean +> ```sh +> $ bitbake nvidia-display-driver -c clean +> $ bitbake nvidia-open-gpu-kernel-modules -c clean +> ``` Additional components from this layer can then be added to the BSP by appending them to `CORE_IMAGE_EXTRA_INSTALL`. For example, to install the Holoscan SDK @@ -251,9 +249,10 @@ CORE_IMAGE_EXTRA_INSTALL:append = " \ " ``` -If you are unsure what drivers are needed, one method of determining what is -needed is to connect the devices to your host development machine and look to -see which drivers were loaded using `lsmod`. +If you are unsure what drivers are needed, the generic `kernel-modules` package +can be added to the install list instead to install all of the upstream kernel +modules. This will increase build time and image size, so it is suggested to +install just the specific kernel modules that are actually needed if possible. ##### Enabling Rivermax @@ -265,7 +264,7 @@ require conf/rivermax.conf Using Rivermax requires a valid license file, and the `rivermax-license` recipe is responsible for installing the Rivermax license file provided by -`meta-tegra-clara-holoscan-mgx/recipes-connectivity/rivermax/files/rivermax.lic`. +`meta-tegra-holoscan/recipes-connectivity/rivermax/files/rivermax.lic`. This file is an empty (invalid) license file by default, and must be replaced with a valid Rivermax license file in order to fully enable Rivermax support. Alternatively, the license file can be copied to the device at runtime by @@ -281,16 +280,6 @@ built into the image by adding the `kernel-module-ajantv2` component to CORE_IMAGE_EXTRA_INSTALL:append = " kernel-module-ajantv2" ``` -This will build the kernel module but it will not load the module -automatically, and so the module would need to be loaded every time the device -boots with `insmod`. To load the module and initialize the AJA devices -automatically when the device boots, the `ajantv2` module can be added to -`KERNEL_MODULE_AUTOLOAD` using the following: - -``` -KERNEL_MODULE_AUTOLOAD:append = " ajantv2" -``` - #### Building and Flashing Building a BSP is done with `bitbake`; for example, to build a `core-image-x11` @@ -300,8 +289,13 @@ image, use the following: $ bitbake core-image-x11 ``` -> Note: If the build fails due to unavailable resource errors, try the build -> again. Builds are extremely resource-intensive, and having a number of +> **_Note:_** If the `bitbake` command is not found, ensure that the current +> shell has been initialized using `source openembedded-core/oe-init-build-env`. +> This script will add the required paths to the `PATH` environment variable so +> that the `bitbake` command can be run from any directory. + +> **_Note:_** If the build fails due to unavailable resource errors, try the +> build again. Builds are extremely resource-intensive, and having a number of > particularly large tasks running in parallel can exceed even 32GB of system > memory usage. Repeating the build can often reschedule the tasks so that > they can succeed. If errors are still encountered, try lowering the value @@ -309,33 +303,40 @@ $ bitbake core-image-x11 > in `build/conf/local.conf` to reduce the maximum number of tasks that BitBake > should run in parallel at any one time. -> Note: If the `bitbake` command is not found, ensure that the current shell -> has been initialized using `source openembedded-core/oe-init-build-env`. This -> script will add the required paths to the `PATH` environment variable so that -> the `bitbake` command can be run from any directory. +> **_Note:_** Race conditions have been encountered that lead to errors during +> the `do_rootfs` stage of the build such as `Couldn't find anything to satisfy +> 'rivermax'`. If this occurs, try cleaning the failing package, build the +> package by itself, then build the image again. For example, if the `rivermax` +> package fails to install, try the following: +> +> ```sh +> $ bitbake rivermax -c cleansstate +> $ bitbake rivermax +> $ bitbake core-image-x11 +> ``` Using the configuration described above, this will build the BSP image and write the output to ``` -build/tmp-glibc/deploy/images/clara-agx-xavier-devkit/core-image-x11-clara-agx-xavier-devkit.tegraflash.tar.gz +build/tmp-glibc/deploy/images/holoscan-devkit/core-image-x11-holoscan-devkit.tegraflash.tar.gz ``` The above file can then be extracted and the `doflash.sh` script that it includes can be used to flash the device while it is in recovery mode and connected to the host via the USB-C debug port: -> To put a NVIDIA Clara Developer Kit into recovery mode, first remove the -> left-hand side cover to expose the recover and reset buttons; then while the -> unit is powered on, press the recovery and reset buttons, then release both -> buttons. For more information see the [NVIDIA Clara Developer Kit User Guide](https://developer.nvidia.com/clara-agx-developer-kit-user-guide). - ```sh $ tar -xf ${image_path} $ sudo ./doflash.sh ``` -Once flashed, the NVIDIA Clara Developer Kit can then be disconnected from the +> **_Note:_** For instructions on how to put the developer kit into recovery +> mode, see the developer kit user guide: +> - [Clara AGX Developer Kit User Guide](https://developer.nvidia.com/clara-agx-developer-kit-user-guide). +> - [IGX Orin Developer Kit User Guide](https://developer.nvidia.com/igx-orin-developer-kit-user-guide). + +Once flashed, the Holoscan Developer Kit can then be disconnected from the host system and booted. The display connection that is used depends on the GPU configuration that was used for the build: the iGPU configuration uses the onboard HDMI or DisplayPort connection on the developer kit, while the dGPU @@ -343,6 +344,18 @@ configuration uses one of the DisplayPort connections on the discrete GPU. During boot you will see a black screen with only a cursor for a few moments before an X11 terminal appears (no additional GUI will appear). +> **_Note:_** If the monitor never receives a signal there may be an issue +> configuring the monitor during the initial boot process. If this occurs, +> the `xrandr` utility can generally be used from a remote shell to display +> the available monitor modes and to select a current mode. For example, to +> configure a 1920x1080 display connected to the HDMI-0 output, use the +> following: +> +> ```sh +> $ export DISPLAY=:0 +> $ xrandr --output HDMI-0 --mode 1920x1080 +> ``` + #### Running the Holoscan SDK Sample Applications When the `holoscan-sdk` component is installed, the Holoscan SDK extensions and @@ -353,7 +366,7 @@ the endoscopy instrument tracking application using sample recorded video data: ```sh $ cd /workspace -$ ./apps/endoscopy_tool_tracking_gxf/tracking_replayer +$ ./apps/endoscopy_tool_tracking/cpp/tracking_replayer ``` Note that the first execution of the samples will rebuild the model engine files @@ -365,7 +378,7 @@ executions. Instead of downloading and installing all of the build tools, dependencies, and proprietary binaries manually, NVIDIA also provides a [Holoscan OpenEmbedded/Yocto Build -Container](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/clara-holoscan/containers/holoscan-mgx-oe-builder) +Container](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/clara-holoscan/containers/holoscan-oe-builder) on the [NVIDIA GPU Cloud (NGC)](https://catalog.ngc.nvidia.com/) website. This container image includes all of the tools and dependencies that are needed either within the container or as part of a setup script that initializes a diff --git a/conf/holoscan-dgpu.conf b/conf/holoscan-dgpu.conf index 81df85b..e9142d2 100644 --- a/conf/holoscan-dgpu.conf +++ b/conf/holoscan-dgpu.conf @@ -108,8 +108,8 @@ PREFERRED_PROVIDER_tensorrt-plugins = "tensorrt" PREFERRED_PROVIDER_tensorrt-trtexec = "tensorrt" # Override the CUDA version (11.7) and GPU arch to: -# 7.5 (Turing) for the RTX 6000 in the Clara AGX Devkit. -# 8.6 (Ampere) for the RTX A6000 in the Holoscan Devkit. +# 8.6 (Ampere) for the RTX A6000 (default). +# 7.5 (Turing) for the RTX 6000 (Clara AGX Devkit). CUDA_VERSION = "11.7" -TEGRA_CUDA_ARCHITECTURE:clara-agx-xavier-devkit ?= "75" -TEGRA_CUDA_ARCHITECTURE:holoscan-devkit ?= "86" +TEGRA_CUDA_ARCHITECTURE = "86" +TEGRA_CUDA_ARCHITECTURE:clara-agx-xavier-devkit = "75" diff --git a/conf/layer.conf b/conf/layer.conf index 6c7edb2..f343b04 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -23,12 +23,12 @@ BBFILES += " \ ${LAYERDIR}/recipes-*/*/*.bb \ ${LAYERDIR}/recipes-*/*/*.bbappend" -BBFILE_COLLECTIONS += "tegra-clara-holoscan-mgx" -BBFILE_PATTERN_tegra-clara-holoscan-mgx = "^${LAYERDIR}/" -BBFILE_PRIORITY_tegra-clara-holoscan-mgx = "6" +BBFILE_COLLECTIONS += "tegra-holoscan" +BBFILE_PATTERN_tegra-holoscan = "^${LAYERDIR}/" +BBFILE_PRIORITY_tegra-holoscan = "6" -LAYERVERSION_tegra-clara-holoscan-mgx = "1" +LAYERVERSION_tegra-holoscan = "1" -LAYERDEPENDS_tegra-clara-holoscan-mgx = "core tegra openembedded-layer" +LAYERDEPENDS_tegra-holoscan = "core tegra openembedded-layer" -LAYERSERIES_COMPAT_tegra-clara-holoscan-mgx = "kirkstone" +LAYERSERIES_COMPAT_tegra-holoscan = "kirkstone" diff --git a/conf/rivermax.conf b/conf/rivermax.conf index 958ed7f..8d38813 100644 --- a/conf/rivermax.conf +++ b/conf/rivermax.conf @@ -19,7 +19,7 @@ # DEALINGS IN THE SOFTWARE. CORE_IMAGE_EXTRA_INSTALL:append = " \ - mlnx-ofed-kernel-dkms \ + mlnx-ofed \ rivermax \ rivermax-apps \ rivermax-license \ diff --git a/env/Dockerfile b/env/Dockerfile index d4f9e9f..8598bf2 100644 --- a/env/Dockerfile +++ b/env/Dockerfile @@ -55,10 +55,10 @@ RUN apt-get update -y \ RUN locale-gen en_US.UTF-8 -WORKDIR /opt/nvidia/meta-tegra-clara-holoscan-mgx +WORKDIR /opt/nvidia/meta-tegra-holoscan COPY . . RUN env/docker_check_packages.sh RUN ln -s container_setup.sh env/setup.sh -ENV PATH="/opt/nvidia/meta-tegra-clara-holoscan-mgx/env:${PATH}" +ENV PATH="/opt/nvidia/meta-tegra-holoscan/env:${PATH}" WORKDIR /workspace diff --git a/env/README.md b/env/README.md index 059b1ca..a13eea7 100644 --- a/env/README.md +++ b/env/README.md @@ -1,8 +1,8 @@ -# OpenEmbedded/Yocto Build Container for NVIDIA Clara Holoscan +# OpenEmbedded/Yocto Build Container for NVIDIA Holoscan This container image contains runtime dependencies, scripts, and the NVIDIA-proprietary binary packages that are required to build an OpenEmbedded -BSP image for NVIDIA Clara Developer Kits with dGPU support. +BSP image for NVIDIA Holoscan Developer Kits with dGPU support. The following documentation provides information specific to the usage of the Holoscan Build Container, and may be missing information from the main @@ -10,10 +10,10 @@ documentation that may be useful to know when configuring or using the BSP. Please see the main [README](../README.md) file for additional documentation. > Note: the main `README` file can be found at -> `meta-tegra-clara-holoscan-mgx/README.md` after following the `1. Setting up +> `meta-tegra-holoscan/README.md` after following the `1. Setting up > the Local Development Environment` section, below. -Also note that building a BSP for Clara Holoscan requires a significant +Also note that building a BSP for NVIDIA Holoscan requires a significant amount of resources, and at least **200GB of free disk space is required to build**. See the `System Requirements` section in the main [README](../README.md) for more details. @@ -35,8 +35,8 @@ would like to initialize the development environment and run the following (making sure `IMAGE` matches the name and tag of this container image): ```sh -$ export IMAGE=nvcr.io/nvidia/clara-holoscan/holoscan-mgx-oe-builder:v0.3.0 -$ docker run --rm -v $(pwd):/workspace ${IMAGE} setup.sh ${IMAGE} $(id -u) $(id -g) +$ export IMAGE=nvcr.io/nvidia/clara-holoscan/holoscan-oe-builder:v0.4.0 +$ docker run --rm -v $(pwd):/workspace --network host ${IMAGE} setup.sh ${IMAGE} $(id -u) $(id -g) ``` This setup processes initializes the following: @@ -48,7 +48,7 @@ This setup processes initializes the following: openembedded-core meta-openembedded meta-tegra - meta-tegra-clara-holoscan-mgx + meta-tegra-holoscan ``` 2. A sample build configuration in the `build` folder. @@ -79,8 +79,8 @@ details. To see the additional configuration that is added to this file relative to the standard OpenEmbedded `local.conf`, as well as some documentation as to what -additional components offered by this meta-tegra-clara-holoscan-mgx layer may be -enabled, scroll down to the "BEGIN NVIDIA CONFIGURATION" section in this file. +additional components offered by this meta-tegra-holoscan layer may be enabled, +scroll down to the "BEGIN NVIDIA CONFIGURATION" section in this file. ## 3. Build the Image @@ -114,7 +114,7 @@ build/tmp-glibc/deploy/images/holoscan-devkit/core-image-x11-holoscan-devkit.teg ## 4. Flash the Image The `flash.sh` script can be used to flash the BSP image that is output by the -previous step onto the Clara Developer Kit hardware. For example, to flash the +previous step onto the Holoscan Developer Kit hardware. For example, to flash the `core-image-x11` image that was produced by the previous step, connect the developer kit to the host via the USB-C debug port, put it into recovery mode, then run: @@ -123,10 +123,10 @@ mode, then run: $ ./flash.sh core-image-x11 ``` -> To put a Clara AGX Developer Kit into recovery mode, first remove the -> left-hand side cover to expose the recover and reset buttons; then while the -> unit is powered on, press the recovery and reset buttons, then release both -> buttons. For more information see the [Clara Developer Kit User Guide](https://developer.nvidia.com/clara-agx-developer-kit-user-guide). +> For instructions on how to put the developer kit into recovery mode, see the +> developer kit user guide: +> - [Clara AGX Developer Kit User Guide](https://developer.nvidia.com/clara-agx-developer-kit-user-guide). +> - [IGX Orin Developer Kit User Guide](https://developer.nvidia.com/igx-orin-developer-kit-user-guide). Note that flashing the device will require root privileges and so you may be asked for a sudo password by this script. @@ -141,7 +141,7 @@ the endoscopy instrument tracking application using sample recorded video data: ```sh $ cd /workspace -$ ./apps/endoscopy_tool_tracking_gxf/tracking_replayer +$ ./apps/endoscopy_tool_tracking/cpp/tracking_replayer ``` Note that the first execution of the samples will rebuild the model engine files diff --git a/env/container_setup.sh b/env/container_setup.sh index d21e24c..039ca33 100755 --- a/env/container_setup.sh +++ b/env/container_setup.sh @@ -62,22 +62,22 @@ META_OPENEMBEDDED_REV="a755af4fb5ca2e158b00214bb18e27ba69c200fd" git_clone "https://github.com/openembedded/meta-openembedded.git" ${META_OPENEMBEDDED_REV} # meta-tegra layer -META_TEGRA_REV="b4fa3bafc4efa48248b94d8c69366eb42ac45aef" -git_clone "https://github.com/ibstewart/meta-tegra.git" ${META_TEGRA_REV} +META_TEGRA_REV="81e851ffb66917bdc7e5e9135661f6bfcce47fc3" +git_clone "https://github.com/nvidia-holoscan/meta-tegra.git" ${META_TEGRA_REV} -# meta-tegra-clara-holoscan-mgx layer (copied from build container) -if [ ! -d "meta-tegra-clara-holoscan-mgx" ]; then - cp -r /opt/nvidia/meta-tegra-clara-holoscan-mgx . - chown -R ${user}:${group} meta-tegra-clara-holoscan-mgx - echo "Initialized meta-tegra-clara-holoscan-mgx" +# meta-tegra-holoscan layer (copied from build container) +if [ ! -d "meta-tegra-holoscan" ]; then + cp -r /opt/nvidia/meta-tegra-holoscan . + chown -R ${user}:${group} meta-tegra-holoscan + echo "Initialized meta-tegra-holoscan" else - echo "meta-tegra-clara-holoscan-mgx already exists; skipping" + echo "meta-tegra-holoscan already exists; skipping" fi # Default configuration (copied from build container) if [ ! -d "build/conf" ]; then mkdir -p build/conf - cp /opt/nvidia/meta-tegra-clara-holoscan-mgx/env/templates/conf/* build/conf + cp /opt/nvidia/meta-tegra-holoscan/env/templates/conf/* build/conf chown -R ${user}:${group} build echo "Initialized configuration defaults in build/conf" else @@ -85,8 +85,8 @@ else fi # Host-side scripts (copied from build container) -cp /opt/nvidia/meta-tegra-clara-holoscan-mgx/env/host_bitbake.sh bitbake.sh -cp /opt/nvidia/meta-tegra-clara-holoscan-mgx/env/host_flash.sh flash.sh +cp /opt/nvidia/meta-tegra-holoscan/env/host_bitbake.sh bitbake.sh +cp /opt/nvidia/meta-tegra-holoscan/env/host_flash.sh flash.sh chown ${user}:${group} bitbake.sh chown ${user}:${group} flash.sh diff --git a/env/docker_build.sh b/env/docker_build.sh index 88b070b..b20aed6 100755 --- a/env/docker_build.sh +++ b/env/docker_build.sh @@ -22,7 +22,7 @@ # # This script is run on the host, and builds the docker image. # -# Usage: docker_build.sh [image name, default = holoscan-mgx-oe-builder] +# Usage: docker_build.sh [image name, default = holoscan-oe-builder] # script_path=$(readlink -f ${0}) @@ -31,7 +31,7 @@ root_path=$(dirname ${env_path}) image_name="${1}" if [ -z "${image_name}" ]; then - image_name="holoscan-mgx-oe-builder" + image_name="holoscan-oe-builder" fi docker build -f ${env_path}/Dockerfile -t ${image_name} ${root_path} diff --git a/env/docker_check_packages.sh b/env/docker_check_packages.sh index 8e2193e..08958a6 100755 --- a/env/docker_check_packages.sh +++ b/env/docker_check_packages.sh @@ -21,16 +21,17 @@ # # This script is run when the docker image is being built, and checks to make -# sure that the binary packages required by the meta-tegra-clara-holoscan-mgx -# layer exist in the current build context. +# sure that the binary packages required by the meta-tegra-holoscan layer +# exist in the current build context. # CUDNN_PACKAGE="recipes-devtools/cudnn/files/cudnn-linux-sbsa-8.5.0.96_cuda11-archive.tar.xz" TENSORRT_PACKAGE="recipes-devtools/tensorrt/files/TensorRT-8.4.3.1.Ubuntu-20.04.aarch64-gnu.cuda-11.6.cudnn8.4.tar.gz" -GXF_PACKAGE="recipes-devtools/gxf/files/gxf_2.4.3_20220811_6ff6ffd4_holoscan-sdk_arm64.tar.gz" -HOLOSCAN_ENDOSCOPY_DATA="recipes-devtools/holoscan/files/holoscan_endoscopy_data.zip" -HOLOSCAN_ULTRASOUND_DATA="recipes-devtools/holoscan/files/holoscan_ultrasound_data.zip" -RIVERMAX_PACKAGE="recipes-connectivity/rivermax/files/rivermax_ubuntu2004_1.11.11.tar.gz" +GXF_PACKAGE="recipes-devtools/gxf/files/gxf_22.11_20221116_8fbe43cb_holoscan-sdk_arm64.tar.gz" +HOLOSCAN_ENDOSCOPY_DATA="recipes-devtools/holoscan/files/holoscan_endoscopy_data_20221121.zip" +HOLOSCAN_ULTRASOUND_DATA="recipes-devtools/holoscan/files/holoscan_ultrasound_data_20220608.zip" +HOLOSCAN_MULTI_AI_DATA="recipes-devtools/holoscan/files/holoscan_multi_ai_ultrasound_data_20221201.zip" +RIVERMAX_PACKAGE="recipes-connectivity/rivermax/files/rivermax_ubuntu2004_1.20.10.tar.gz" script_path=$(readlink -f ${0}) env_path=$(dirname ${script_path}) @@ -48,6 +49,7 @@ check_package ${TENSORRT_PACKAGE} check_package ${GXF_PACKAGE} check_package ${HOLOSCAN_ENDOSCOPY_DATA} check_package ${HOLOSCAN_ULTRASOUND_DATA} +check_package ${HOLOSCAN_MULTI_AI_DATA} check_package ${RIVERMAX_PACKAGE} exit 0 diff --git a/env/host_bitbake.sh b/env/host_bitbake.sh index c709a3a..aa6f781 100755 --- a/env/host_bitbake.sh +++ b/env/host_bitbake.sh @@ -38,4 +38,4 @@ if [ -z "${1}" ]; then exit 1 fi -docker run --rm -it -v ${workspace_path}:/workspace --user $(id -u):$(id -g) ${build_image} container_bitbake.sh ${@} +docker run --rm -it -v ${workspace_path}:/workspace --network host --user $(id -u):$(id -g) ${build_image} container_bitbake.sh ${@} diff --git a/env/templates/conf/bblayers.conf b/env/templates/conf/bblayers.conf index 18752eb..92f16ab 100644 --- a/env/templates/conf/bblayers.conf +++ b/env/templates/conf/bblayers.conf @@ -8,6 +8,6 @@ BBFILES ?= "" BBLAYERS ?= " \ /workspace/openembedded-core/meta \ /workspace/meta-openembedded/meta-oe \ - /workspace/meta-tegra-clara-holoscan-mgx \ + /workspace/meta-tegra-holoscan \ /workspace/meta-tegra \ " diff --git a/env/templates/conf/local.conf b/env/templates/conf/local.conf index 93c91cd..499a315 100644 --- a/env/templates/conf/local.conf +++ b/env/templates/conf/local.conf @@ -245,8 +245,8 @@ CONF_VERSION = "2" # Other than the MACHINE configuration (i.e. "clara-agx-xavier-devkit"), # everything above mirrors the default configuration provided by OpenEmbedded # Core. The following adds additional features that are provided or used by the -# meta-tegra-clara-holoscan-mgx layer to support a Clara Holoscan MGX platform -# with a discrete GPU. +# meta-tegra-holoscan layer to support an NVIDIA Holoscan platform with a +# discrete GPU. # ################################################################################ @@ -264,7 +264,7 @@ CORE_IMAGE_EXTRA_INSTALL:append = " \ # Add an SSH server for debugging purposes EXTRA_IMAGE_FEATURES:append = " ssh-server-dropbear" -# The following components are provided by the meta-tegra-clara-holoscan-mgx +# The following components are provided by the meta-tegra-holoscan # layer and can be built into the image by adding them to # CORE_IMAGE_EXTRA_INSTALL:append, above: # @@ -272,9 +272,4 @@ EXTRA_IMAGE_FEATURES:append = " ssh-server-dropbear" # tensorrt-samples - TensorRT Sample Applications (/usr/bin/tensorrt-samples) # kernel-module-ajantv2 - AJA NTV2 Drivers # ajantv2-sdk - AJA NTV2 SDK and Sample Apps -# holoscan-sdk - Clara Holoscan Embedded SDK - -# When the AJA NTV2 drivers are included above (kernel-module-ajantv2), they can -# be loaded automatically when the system boots by uncommenting the following. -# -#KERNEL_MODULE_AUTOLOAD:append = " ajantv2" +# holoscan-sdk - Holoscan Embedded SDK diff --git a/recipes-connectivity/mlnx-ofed/dpcp_1.1.29-1.57102.bb b/recipes-connectivity/mlnx-ofed/dpcp_1.1.37-1.58101.bb similarity index 92% rename from recipes-connectivity/mlnx-ofed/dpcp_1.1.29-1.57102.bb rename to recipes-connectivity/mlnx-ofed/dpcp_1.1.37-1.58101.bb index cfd06e3..5567b08 100644 --- a/recipes-connectivity/mlnx-ofed/dpcp_1.1.29-1.57102.bb +++ b/recipes-connectivity/mlnx-ofed/dpcp_1.1.37-1.58101.bb @@ -23,11 +23,6 @@ LICENSE = "CLOSED" require mlnx-ofed-package.inc -do_install() { - install -d ${D}${libdir} - install -m 0644 ${S}/usr/lib/*.so.* ${D}${libdir} -} - RDEPENDS:${PN} += " \ ibverbs-providers \ libibverbs1 \ diff --git a/recipes-connectivity/mlnx-ofed/files/fix-kernel-build.patch b/recipes-connectivity/mlnx-ofed/files/fix-kernel-build.patch index a5ee801..3d6d3b2 100644 --- a/recipes-connectivity/mlnx-ofed/files/fix-kernel-build.patch +++ b/recipes-connectivity/mlnx-ofed/files/fix-kernel-build.patch @@ -1,6 +1,6 @@ -diff -ur usr/src/mlnx-ofed-kernel-5.7/compat/config/build-linux.m4 mlnx-ofed-kernel-dkms-5.7-OFED.5.7.1.0.2.1/usr/src/mlnx-ofed-kernel-5.7/compat/config/build-linux.m4 ---- a/usr/src/mlnx-ofed-kernel-5.7/compat/config/build-linux.m4 2022-10-06 17:29:40.162708337 -0600 -+++ b/usr/src/mlnx-ofed-kernel-5.7/compat/config/build-linux.m4 2022-10-06 17:30:08.086658076 -0600 +diff -Naur old/usr/src/mlnx-ofed-kernel-5.8/compat/config/build-linux.m4 new/usr/src/mlnx-ofed-kernel-5.8/compat/config/build-linux.m4 +--- old/usr/src/mlnx-ofed-kernel-5.8/compat/config/build-linux.m4 2022-12-01 13:11:05.418783197 -0700 ++++ new/usr/src/mlnx-ofed-kernel-5.8/compat/config/build-linux.m4 2022-12-01 13:09:45.467175367 -0700 @@ -337,7 +337,7 @@ [m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl MAKE=${MAKE:-make} @@ -10,9 +10,9 @@ diff -ur usr/src/mlnx-ofed-kernel-5.7/compat/config/build-linux.m4 mlnx-ofed-ker [$4], [_AC_MSG_LOG_CONFTEST m4_ifvaln([$5],[$5])dnl]) -diff -ur usr/src/mlnx-ofed-kernel-5.7/compat/config/parallel-build.m4 mlnx-ofed-kernel-dkms-5.7-OFED.5.7.1.0.2.1/usr/src/mlnx-ofed-kernel-5.7/compat/config/parallel-build.m4 ---- a/usr/src/mlnx-ofed-kernel-5.7/compat/config/parallel-build.m4 2022-10-06 17:29:40.162708337 -0600 -+++ b/usr/src/mlnx-ofed-kernel-5.7/compat/config/parallel-build.m4 2022-10-06 17:30:12.954649306 -0600 +diff -Naur old/usr/src/mlnx-ofed-kernel-5.8/compat/config/parallel-build.m4 new/usr/src/mlnx-ofed-kernel-5.8/compat/config/parallel-build.m4 +--- old/usr/src/mlnx-ofed-kernel-5.8/compat/config/parallel-build.m4 2022-12-01 13:11:05.418783197 -0700 ++++ new/usr/src/mlnx-ofed-kernel-5.8/compat/config/parallel-build.m4 2022-12-01 13:09:45.467175367 -0700 @@ -101,7 +101,7 @@ tmpbuild=$(/bin/mktemp -d $PWD/build/build_XXXXX) /bin/cp build/Makefile $tmpbuild/ @@ -22,3 +22,43 @@ diff -ur usr/src/mlnx-ofed-kernel-5.7/compat/config/parallel-build.m4 mlnx-ofed- [$4], [_MLNX_AC_MSG_LOG_CONFTEST m4_ifvaln([$5],[$5])dnl]) +diff -Naur old/usr/src/mlnx-ofed-kernel-5.8/ofed_scripts/configure new/usr/src/mlnx-ofed-kernel-5.8/ofed_scripts/configure +--- old/usr/src/mlnx-ofed-kernel-5.8/ofed_scripts/configure 2022-12-01 13:11:05.390783333 -0700 ++++ new/usr/src/mlnx-ofed-kernel-5.8/ofed_scripts/configure 2022-12-01 13:21:52.999669202 -0700 +@@ -740,7 +740,7 @@ + # Parsing parameters + while [ ! -z "$1" ] + do +- case $1 in ++ case "$1" in + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p | -p) + shift + prefix=$1 +@@ -760,6 +760,9 @@ + ofed_patch_params="$ofed_patch_params $1" + KVERSION=`expr "x$1" : 'x[^=]*=\(.*\)'` + ;; ++ --configureopts=*) ++ CONFIGUREOPTS=`expr "x$1" : 'x[^=]*=\(.*\)'` ++ ;; + + -modules-dir | --modules-dir | --mod-dir) + shift +@@ -1991,7 +1994,7 @@ + /bin/cp -f Makefile.real Makefile + /bin/cp -f Makefile.real Makefile.in + +- ex ./configure --with-linux-obj=$KSRC_OBJ --with-linux=$KSRC --with-njobs=$NJOBS ++ ex ./configure $CONFIGUREOPTS --with-linux-obj=$KSRC_OBJ --with-linux=$KSRC --with-njobs=$NJOBS + + cd - + +@@ -1999,7 +2002,7 @@ + fi + } + +-main $@ ++main "$@" + if [ "X$BUILD_DUMMY_MODS" == "X1" ]; then + echo + echo "Going to build dummy modules for ULPs and storage drivers..." diff --git a/recipes-connectivity/mlnx-ofed/ibacm_58mlnx43-1.58101.bb b/recipes-connectivity/mlnx-ofed/ibacm_58mlnx43-1.58101.bb new file mode 100644 index 0000000..d3a1e5b --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/ibacm_58mlnx43-1.58101.bb @@ -0,0 +1,44 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox ibacm" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +FILES:${PN} += " \ + ${datadir} \ +" + +RDEPENDS:${PN} += " \ + libibverbs1 \ + libibumad3 \ + libnl \ + libnl-route \ + libsystemd \ +" + +do_install:append() { + mv ${D}${libdir}/ibacm/* ${D}${libdir} + rm -r ${D}${libdir}/ibacm +} + +SOLIBS = "*.so*" +FILES_SOLIBSDEV = "" diff --git a/recipes-connectivity/mlnx-ofed/ibverbs-providers_56mlnx40-1.57102.bb b/recipes-connectivity/mlnx-ofed/ibdump_6.0.0-1.58101.bb similarity index 88% rename from recipes-connectivity/mlnx-ofed/ibverbs-providers_56mlnx40-1.57102.bb rename to recipes-connectivity/mlnx-ofed/ibdump_6.0.0-1.58101.bb index ceb39ad..45fc946 100644 --- a/recipes-connectivity/mlnx-ofed/ibverbs-providers_56mlnx40-1.57102.bb +++ b/recipes-connectivity/mlnx-ofed/ibdump_6.0.0-1.58101.bb @@ -18,16 +18,12 @@ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. -SUMMARY = "Mellanox ibverbs-providers" +SUMMARY = "Mellanox ibdump" LICENSE = "CLOSED" require mlnx-ofed-package.inc -do_install() { - install -d ${D}${libdir} - install -m 0644 ${S}/usr/lib/aarch64-linux-gnu/*.so.* ${D}${libdir} -} - RDEPENDS:${PN} += " \ + bash \ libibverbs1 \ " diff --git a/recipes-connectivity/mlnx-ofed/ibsim_0.10-1.58101.bb b/recipes-connectivity/mlnx-ofed/ibsim_0.10-1.58101.bb new file mode 100644 index 0000000..cd69ae4 --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/ibsim_0.10-1.58101.bb @@ -0,0 +1,45 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox ibsim" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +PACKAGES = "${PN} ${PN}-doc" + +DEB_FILES = " \ + ibsim_${PV}_arm64.deb \ + ibsim-doc_${PV}_all.deb \ +" + +do_install:append() { + mv ${D}${libdir}/umad2sim/* ${D}${libdir} + rm -r ${D}${libdir}/umad2sim +} + +FILES:${PN} += " \ + ${libdir} \ +" + +RDEPENDS:${PN} += " \ + libibmad5 \ + libibumad3 \ +" diff --git a/recipes-connectivity/mlnx-ofed/ibutils2_2.1.1-0.156.MLNX20221016.g4aceb16.58101.bb b/recipes-connectivity/mlnx-ofed/ibutils2_2.1.1-0.156.MLNX20221016.g4aceb16.58101.bb new file mode 100644 index 0000000..54ef8fc --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/ibutils2_2.1.1-0.156.MLNX20221016.g4aceb16.58101.bb @@ -0,0 +1,41 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox ibutils2" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +PACKAGES = "${PN} ${PN}-dev ${PN}-doc ${PN}-staticdev" + +FILES:${PN} += " \ + ${libdir}/libibdiag-*.so \ + ${libdir}/libibdiagnet_plugins_ifc-*.so \ + ${libdir}/libibdmcom-*.so \ + ${libdir}/libibsysapi-*.so \ + ${datadir} \ +" + +RDEPENDS:${PN} += " \ + libibumad3 \ + libibverbs1 \ +" + +INSANE_SKIP:${PN} += "dev-so libdir" diff --git a/recipes-connectivity/mlnx-ofed/ibverbs-providers_58mlnx43-1.58101.bb b/recipes-connectivity/mlnx-ofed/ibverbs-providers_58mlnx43-1.58101.bb new file mode 100644 index 0000000..a4c7c49 --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/ibverbs-providers_58mlnx43-1.58101.bb @@ -0,0 +1,42 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox ibverbs-providers" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +RDEPENDS:${PN} += " \ + libibverbs1 \ +" + +FILES:${PN} += " \ + ${libdir}/libibverbs \ +" + +do_install:append() { + ln -s libmlx5.so.1.24.40.0 ${D}${libdir}/libmlx5-rdmav34.so + rm -rf ${D}${libdir}/libibverbs +} + +FILES_SOLIBSDEV = "" +FILES:${PN} += "${libdir}/libmlx5-rdmav34.so" + +INSANE_SKIP:${PN} += "dev-so" diff --git a/recipes-connectivity/mlnx-ofed/librdmacm1_56mlnx40-1.57102.bb b/recipes-connectivity/mlnx-ofed/ibverbs-utils_58mlnx43-1.58101.bb similarity index 88% rename from recipes-connectivity/mlnx-ofed/librdmacm1_56mlnx40-1.57102.bb rename to recipes-connectivity/mlnx-ofed/ibverbs-utils_58mlnx43-1.58101.bb index 10fa609..cc143db 100644 --- a/recipes-connectivity/mlnx-ofed/librdmacm1_56mlnx40-1.57102.bb +++ b/recipes-connectivity/mlnx-ofed/ibverbs-utils_58mlnx43-1.58101.bb @@ -18,17 +18,11 @@ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. -SUMMARY = "Mellanox librdmacm1" +SUMMARY = "Mellanox ibverbs-utils" LICENSE = "CLOSED" require mlnx-ofed-package.inc -do_install() { - install -d ${D}${libdir} - install -m 0644 ${S}/usr/lib/aarch64-linux-gnu/*.so.* ${D}${libdir} -} - RDEPENDS:${PN} += " \ libibverbs1 \ - libnl \ " diff --git a/recipes-connectivity/mlnx-ofed/infiniband-diags_58mlnx43-1.58101.bb b/recipes-connectivity/mlnx-ofed/infiniband-diags_58mlnx43-1.58101.bb new file mode 100644 index 0000000..d42e9a2 --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/infiniband-diags_58mlnx43-1.58101.bb @@ -0,0 +1,35 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox infiniband-diags" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +FILES:${PN} += " \ + ${datadir} \ +" + +RDEPENDS:${PN} += " \ + libibmad5 \ + libibnetdisc5 \ + libibumad3 \ + perl \ +" diff --git a/recipes-connectivity/mlnx-ofed/libibmad5_58mlnx43-1.58101.bb b/recipes-connectivity/mlnx-ofed/libibmad5_58mlnx43-1.58101.bb new file mode 100644 index 0000000..86e87f5 --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/libibmad5_58mlnx43-1.58101.bb @@ -0,0 +1,34 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox libibmad5" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +DEB_FILES = " \ + libibmad5_${PV}_arm64.deb \ + libibmad5-dbg_${PV}_arm64.deb \ + libibmad-dev_${PV}_arm64.deb \ +" + +DEPENDS = " \ + libibumad3 \ +" diff --git a/recipes-connectivity/mlnx-ofed/libibnetdisc5_58mlnx43-1.58101.bb b/recipes-connectivity/mlnx-ofed/libibnetdisc5_58mlnx43-1.58101.bb new file mode 100644 index 0000000..129ac8b --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/libibnetdisc5_58mlnx43-1.58101.bb @@ -0,0 +1,34 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox libibnetdisc5" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +DEB_FILES = " \ + libibnetdisc5_${PV}_arm64.deb \ + libibnetdisc5-dbg_${PV}_arm64.deb \ + libibnetdisc-dev_${PV}_arm64.deb \ +" + +DEPENDS = " \ + libibmad5 \ +" diff --git a/recipes-connectivity/mlnx-ofed/libibumad3_58mlnx43-1.58101.bb b/recipes-connectivity/mlnx-ofed/libibumad3_58mlnx43-1.58101.bb new file mode 100644 index 0000000..50449a5 --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/libibumad3_58mlnx43-1.58101.bb @@ -0,0 +1,30 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox libibumad3" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +DEB_FILES = " \ + libibumad3_${PV}_arm64.deb \ + libibumad3-dbg_${PV}_arm64.deb \ + libibumad-dev_${PV}_arm64.deb \ +" diff --git a/recipes-connectivity/mlnx-ofed/libibverbs1_56mlnx40-1.57102.bb b/recipes-connectivity/mlnx-ofed/libibverbs1_58mlnx43-1.58101.bb similarity index 90% rename from recipes-connectivity/mlnx-ofed/libibverbs1_56mlnx40-1.57102.bb rename to recipes-connectivity/mlnx-ofed/libibverbs1_58mlnx43-1.58101.bb index 0109e5e..dc78609 100644 --- a/recipes-connectivity/mlnx-ofed/libibverbs1_56mlnx40-1.57102.bb +++ b/recipes-connectivity/mlnx-ofed/libibverbs1_58mlnx43-1.58101.bb @@ -23,10 +23,11 @@ LICENSE = "CLOSED" require mlnx-ofed-package.inc -do_install() { - install -d ${D}${libdir} - install -m 0644 ${S}/usr/lib/aarch64-linux-gnu/*.so.* ${D}${libdir} -} +DEB_FILES = " \ + libibverbs1_${PV}_arm64.deb \ + libibverbs1-dbg_${PV}_arm64.deb \ + libibverbs-dev_${PV}_arm64.deb \ +" RDEPENDS:${PN} += " \ libnl \ diff --git a/recipes-connectivity/mlnx-ofed/libopensm_5.13.0.MLNX20221016.10d3954-0.1.58101.bb b/recipes-connectivity/mlnx-ofed/libopensm_5.13.0.MLNX20221016.10d3954-0.1.58101.bb new file mode 100644 index 0000000..01899d0 --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/libopensm_5.13.0.MLNX20221016.10d3954-0.1.58101.bb @@ -0,0 +1,33 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox libopensm" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +DEB_FILES = " \ + libopensm_${PV}_arm64.deb \ + libopensm-devel_${PV}_arm64.deb \ +" + +RDEPENDS:${PN} += " \ + libibumad3 \ +" diff --git a/recipes-connectivity/mlnx-ofed/libopenvswitch_2.17.2-1.58101.bb b/recipes-connectivity/mlnx-ofed/libopenvswitch_2.17.2-1.58101.bb new file mode 100644 index 0000000..7f860d7 --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/libopenvswitch_2.17.2-1.58101.bb @@ -0,0 +1,29 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox libopenvswitch" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +DEB_FILES = " \ + libopenvswitch_${PV}_arm64.deb \ + libopenvswitch-dev_${PV}_arm64.deb \ +" diff --git a/recipes-connectivity/mlnx-ofed/librdmacm1_58mlnx43-1.58101.bb b/recipes-connectivity/mlnx-ofed/librdmacm1_58mlnx43-1.58101.bb new file mode 100644 index 0000000..a86e3be --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/librdmacm1_58mlnx43-1.58101.bb @@ -0,0 +1,39 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox librdmacm1" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +DEB_FILES = " \ + librdmacm1_${PV}_arm64.deb \ + librdmacm1-dbg_${PV}_arm64.deb \ + librdmacm-dev_${PV}_arm64.deb \ +" + +FILES:${PN} += " \ + ${libdir}/rsocket \ +" + +RDEPENDS:${PN} += " \ + libibverbs1 \ + libnl \ +" diff --git a/recipes-connectivity/mlnx-ofed/libvma-utils_9.7.0-1.bb b/recipes-connectivity/mlnx-ofed/libvma-utils_9.7.0-1.bb new file mode 100644 index 0000000..799f54a --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/libvma-utils_9.7.0-1.bb @@ -0,0 +1,28 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox libvma-utils" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +RDEPENDS:${PN} += " \ + libvma \ +" diff --git a/recipes-connectivity/mlnx-ofed/libvma_9.6.4-1.bb b/recipes-connectivity/mlnx-ofed/libvma_9.7.0-1.bb similarity index 88% rename from recipes-connectivity/mlnx-ofed/libvma_9.6.4-1.bb rename to recipes-connectivity/mlnx-ofed/libvma_9.7.0-1.bb index d25ec65..c12e1a7 100644 --- a/recipes-connectivity/mlnx-ofed/libvma_9.6.4-1.bb +++ b/recipes-connectivity/mlnx-ofed/libvma_9.7.0-1.bb @@ -23,13 +23,14 @@ LICENSE = "CLOSED" require mlnx-ofed-package.inc -PACKAGES = "${PN}" +DEB_FILES = " \ + libvma_${PV}_arm64.deb \ + libvma-dbg_${PV}_arm64.deb \ + libvma-dev_${PV}_arm64.deb \ +" -do_install() { - install -d ${D}${libdir} - install -m 0644 ${S}/usr/lib/*.so.* ${D}${libdir} - ln -s libvma.so.9 ${D}${libdir}/libvma.so -} +FILES_SOLIBSDEV = "" +FILES:${PN} += "${libdir}" RDEPENDS:${PN} += " \ dpcp \ @@ -40,6 +41,4 @@ RDEPENDS:${PN} += " \ librdmacm1 \ " -SOLIBS = ".so*" - INSANE_SKIP:${PN} += "dev-so" diff --git a/recipes-connectivity/mlnx-ofed/libxlio-utils_2.0.6-1.58101.bb b/recipes-connectivity/mlnx-ofed/libxlio-utils_2.0.6-1.58101.bb new file mode 100644 index 0000000..3102af4 --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/libxlio-utils_2.0.6-1.58101.bb @@ -0,0 +1,28 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox libxlio-utils" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +RDEPENDS:${PN} += " \ + libxlio \ +" diff --git a/recipes-connectivity/mlnx-ofed/mlnx-ofed_5.7-1.0.2.0.bb b/recipes-connectivity/mlnx-ofed/libxlio_2.0.6-1.58101.bb similarity index 72% rename from recipes-connectivity/mlnx-ofed/mlnx-ofed_5.7-1.0.2.0.bb rename to recipes-connectivity/mlnx-ofed/libxlio_2.0.6-1.58101.bb index 3d74338..4fcca8c 100644 --- a/recipes-connectivity/mlnx-ofed/mlnx-ofed_5.7-1.0.2.0.bb +++ b/recipes-connectivity/mlnx-ofed/libxlio_2.0.6-1.58101.bb @@ -18,21 +18,31 @@ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. -SUMMARY = "Dummy recipe for bringing in all Mellanox OFED components" +SUMMARY = "Mellanox libxlio" LICENSE = "CLOSED" -DEPENDS = " \ +require mlnx-ofed-package.inc + +DEB_FILES = " \ + libxlio_${PV}_arm64.deb \ + libxlio-dbg_${PV}_arm64.deb \ + libxlio-dev_${PV}_arm64.deb \ +" + +RDEPENDS_COMMON = " \ dpcp \ ibverbs-providers \ libibverbs1 \ + libnl \ + libnl-route \ librdmacm1 \ - libvma \ " -# Disable unused tasks for this dummy recipe. -do_fetch[noexec] = "1" -do_unpack[noexec] = "1" -do_patch[noexec] = "1" -do_configure[noexec] = "1" -do_compile[noexec] = "1" -do_install[noexec] = "1" +FILES_SOLIBSDEV = "" +FILES:${PN} += "${libdir}/libxlio-debug.so" +FILES:${PN}-dev += "${libdir}/libxlio.so" + +RDEPENDS:${PN} += "${RDEPENDS_COMMON}" +RDEPENDS:${PN}-dev += "${RDEPENDS_COMMON}" + +INSANE_SKIP:${PN}-dev += "dev-elf" diff --git a/recipes-connectivity/mlnx-ofed/mft_4.22.0-96.bb b/recipes-connectivity/mlnx-ofed/mft_4.22.0-96.bb new file mode 100644 index 0000000..e6714b9 --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/mft_4.22.0-96.bb @@ -0,0 +1,36 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox mft" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +do_install:append() { + install -d ${D}${sysconfdir} + cp -rd --no-preserve=ownership ${S}/usr/* ${D}${prefix} +} + +RDEPENDS:${PN} += " \ + bash \ + python3 \ +" + +INSANE_SKIP:${PN} += "ldflags" diff --git a/recipes-connectivity/mlnx-ofed/mlnx-ethtool_5.18-1.58101.bb b/recipes-connectivity/mlnx-ofed/mlnx-ethtool_5.18-1.58101.bb new file mode 100644 index 0000000..5f2961e --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/mlnx-ethtool_5.18-1.58101.bb @@ -0,0 +1,33 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox ethtool" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +do_install:append() { + install -d ${D}${sbindir} + install -m 0755 ${S}/opt/mellanox/ethtool/sbin/ethtool ${D}${sbindir}/mlnx-ethtool +} + +RDEPENDS:${PN} += " \ + libmnl \ +" diff --git a/recipes-connectivity/mlnx-ofed/mlnx-ofed-common.inc b/recipes-connectivity/mlnx-ofed/mlnx-ofed-common.inc new file mode 100644 index 0000000..6a6c5f2 --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/mlnx-ofed-common.inc @@ -0,0 +1,42 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +MLNX_OFED_VER = "5.8" +MLNX_OFED_PATCH_VER = "1.0.1.1" + +DEB_FILES ?= "${PN}_${PV}_arm64.deb" + +do_fetch[noexec] = "1" + +do_unpack[depends] += " \ + mlnx-ofed-download:do_unpack \ + xz-native:do_populate_sysroot \ +" + +do_unpack() { + rm -rf ${S} + mkdir ${S} + cd ${S} + for deb in ${DEB_FILES}; do + ar x ${TMPDIR}/work-shared/mlnx-ofed-${MLNX_OFED_VER}-${MLNX_OFED_PATCH_VER}/MLNX_OFED_LINUX-${MLNX_OFED_VER}-${MLNX_OFED_PATCH_VER}-ubuntu20.04-aarch64/DEBS/${deb} + tar xf data.tar.xz + rm -f control.tar.* data.tar.xz debian-binary + done +} diff --git a/recipes-connectivity/mlnx-ofed/mlnx-ofed-download_5.7-1.0.2.0.bb b/recipes-connectivity/mlnx-ofed/mlnx-ofed-download_5.8-1.0.1.1.bb similarity index 91% rename from recipes-connectivity/mlnx-ofed/mlnx-ofed-download_5.7-1.0.2.0.bb rename to recipes-connectivity/mlnx-ofed/mlnx-ofed-download_5.8-1.0.1.1.bb index 0358b53..b738fe7 100644 --- a/recipes-connectivity/mlnx-ofed/mlnx-ofed-download_5.7-1.0.2.0.bb +++ b/recipes-connectivity/mlnx-ofed/mlnx-ofed-download_5.8-1.0.1.1.bb @@ -22,8 +22,8 @@ SUMMARY = "NVIDIA MLNX_OFED Package Download" LICENSE = "CLOSED" SRC_URI = "https://www.mellanox.com/downloads/ofed/MLNX_OFED-${PV}/MLNX_OFED_LINUX-${PV}-ubuntu20.04-${TARGET_ARCH}.tgz" -SRC_URI[md5sum] = "7c108889d14a8985701e83cdf1e665c6" -SRC_URI[sha256sum] = "5948b847dd686fd7ebd0c63a016104d5369dc94b920dc26fc77d2335e0f7d667" +SRC_URI[md5sum] = "28737c03233f4b3830f5d17051aaacbc" +SRC_URI[sha256sum] = "6110246b84be74b53b7bcbeba6b458e4f9e8462bf89eeb9e34bf3f0998f36315" WORKDIR = "${TMPDIR}/work-shared/mlnx-ofed-${PV}" diff --git a/recipes-connectivity/mlnx-ofed/mlnx-ofed-kernel-dkms_5.7-OFED.5.7.1.0.2.1.bb b/recipes-connectivity/mlnx-ofed/mlnx-ofed-kernel-dkms_5.8-OFED.5.8.1.0.1.1.bb similarity index 67% rename from recipes-connectivity/mlnx-ofed/mlnx-ofed-kernel-dkms_5.7-OFED.5.7.1.0.2.1.bb rename to recipes-connectivity/mlnx-ofed/mlnx-ofed-kernel-dkms_5.8-OFED.5.8.1.0.1.1.bb index ab9a188..1428e9f 100644 --- a/recipes-connectivity/mlnx-ofed/mlnx-ofed-kernel-dkms_5.7-OFED.5.7.1.0.2.1.bb +++ b/recipes-connectivity/mlnx-ofed/mlnx-ofed-kernel-dkms_5.8-OFED.5.8.1.0.1.1.bb @@ -21,9 +21,9 @@ SUMMARY = "Mellanox ofed-kernel-dkms" LICENSE = "CLOSED" -DEB_PACKAGE_SUFFIX = "all" +DEB_FILES = "mlnx-ofed-kernel-dkms_${PV}_all.deb" -require mlnx-ofed-package.inc +require mlnx-ofed-common.inc SRC_URI += " \ file://fix-kernel-build.patch \ @@ -35,34 +35,35 @@ DEPENDS = " \ coreutils-native \ " -do_configure() { - cp -rf ${S}/usr/src/mlnx-ofed-kernel-5.7/* ${B} +# Default module configuration taken from ofed_scripts/dkms_ofed +MLNX_MODULE_CONFIG = " \ + --with-core-mod \ + --with-user_mad-mod \ + --with-user_access-mod \ + --with-addr_trans-mod \ + --with-mlx5-mod \ + --with-mlxfw-mod \ + --with-ipoib-mod \ +" - ./configure \ - --skip-autoconf \ - --with-core-mod \ - --with-mlx5-mod \ - --with-user_access-mod \ - --with-linux=${STAGING_KERNEL_DIR} \ - --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \ - --kernel-sources=${STAGING_KERNEL_DIR} \ - --kernel-version=${KERNEL_VERSION} +do_configure() { + cp -rf ${S}/usr/src/mlnx-ofed-kernel-${MLNX_OFED_VER}/* ${B} - cd compat - ./autogen.sh - cp -f Makefile.real Makefile - cp -f Makefile.real Makefile.in - ./configure ${CONFIGUREOPTS} \ - --with-linux=${STAGING_KERNEL_DIR} \ - --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \ - --with-njobs=12 + ./configure ${PARALLEL_MAKE} \ + --force-autogen \ + --configureopts="${CONFIGUREOPTS}" \ + --with-linux="${STAGING_KERNEL_DIR}" \ + --with-linux-obj="${STAGING_KERNEL_BUILDDIR}" \ + --kernel-sources="${STAGING_KERNEL_DIR}" \ + --kernel-version="${KERNEL_VERSION}" \ + ${MLNX_MODULE_CONFIG} } MODULES_INSTALL_TARGET = "install_modules" do_install:prepend() { install -d ${D}/usr/src/mlnx-ofed-kernel-dkms - cp -rd --no-preserve=ownership ${S}/usr/src/mlnx-ofed-kernel-5.7/* ${D}/usr/src/mlnx-ofed-kernel-dkms + cp -rd --no-preserve=ownership ${S}/usr/src/mlnx-ofed-kernel-${MLNX_OFED_VER}/* ${D}/usr/src/mlnx-ofed-kernel-dkms export INSTALL_MOD_PATH=${D} } diff --git a/recipes-connectivity/mlnx-ofed/mlnx-ofed-kernel-utils_5.8-OFED.5.8.1.0.1.1.bb b/recipes-connectivity/mlnx-ofed/mlnx-ofed-kernel-utils_5.8-OFED.5.8.1.0.1.1.bb new file mode 100644 index 0000000..86b3fa8 --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/mlnx-ofed-kernel-utils_5.8-OFED.5.8.1.0.1.1.bb @@ -0,0 +1,37 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox Kernel Utilities" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +do_install:append() { + cp ${S}/bin/* ${D}${bindir} +} + +FILES:${PN} += " \ + ${datadir}/mlnx_ofed \ +" + +RDEPENDS:${PN} += " \ + bash \ + perl \ +" diff --git a/recipes-connectivity/mlnx-ofed/mlnx-ofed-package.inc b/recipes-connectivity/mlnx-ofed/mlnx-ofed-package.inc index 8de60c4..3669600 100644 --- a/recipes-connectivity/mlnx-ofed/mlnx-ofed-package.inc +++ b/recipes-connectivity/mlnx-ofed/mlnx-ofed-package.inc @@ -18,23 +18,27 @@ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. -MLNX_OFED_VER = "5.7-1.0.2.0" +require mlnx-ofed-common.inc -DEPENDS = " \ - mlnx-ofed-download \ -" +do_patch[noexec] = "1" +do_configure[noexec] = "1" +do_compile[noexec] = "1" -do_unpack[depends] += "xz-native:do_populate_sysroot" - -DEB_PACKAGE_SUFFIX ?= "arm64" - -do_unpack() { - rm -rf ${S} - mkdir ${S} - cd ${S} - ar x ${TMPDIR}/work-shared/mlnx-ofed-${MLNX_OFED_VER}/MLNX_OFED_LINUX-${MLNX_OFED_VER}-ubuntu20.04-aarch64/DEBS/${PN}_${PV}_${DEB_PACKAGE_SUFFIX}.deb - tar xf data.tar.xz - rm control.tar.xz data.tar.xz debian-binary +do_install() { + if [ -d ${S}/usr ]; then + install -d ${D}${prefix} + cp -rd --no-preserve=ownership ${S}/usr/* ${D}${prefix} + fi + if [ -d ${S}/etc ]; then + install -d ${D}${sysconfdir} + cp -rd --no-preserve=ownership ${S}/etc/* ${D}${sysconfdir} + fi + if [ -d ${D}${prefix}/lib/aarch64-linux-gnu ]; then + install -d ${D}${libdir} + mv ${D}${prefix}/lib/aarch64-linux-gnu/* ${D}${libdir} + rm -r ${D}${prefix}/lib/aarch64-linux-gnu + fi + rm -rf ${D}${datadir}/lintian } INSANE_SKIP:${PN} += "already-stripped" diff --git a/recipes-connectivity/mlnx-ofed/mlnx-ofed_5.8-1.0.1.1.bb b/recipes-connectivity/mlnx-ofed/mlnx-ofed_5.8-1.0.1.1.bb new file mode 100644 index 0000000..e76dcc5 --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/mlnx-ofed_5.8-1.0.1.1.bb @@ -0,0 +1,65 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Meta recipe for bringing in all Mellanox OFED components" +LICENSE = "CLOSED" + +MLNX_OFED_INSTALL_PACKAGES = " \ + dpcp \ + ibacm \ + ibdump \ + ibsim \ + ibutils2 \ + ibverbs-providers \ + ibverbs-utils \ + infiniband-diags \ + libibmad5 \ + libibnetdisc5 \ + libibumad3 \ + libibverbs1 \ + libopensm \ + librdmacm1 \ + libvma \ + libvma-utils \ + libxlio \ + libxlio-utils \ + mft \ + mlnx-ethtool \ + mlnx-ofed-kernel-dkms \ + mlnx-ofed-kernel-utils \ + mlnx-tools \ +" + +MLNX_OFED_BUILD_PACKAGES = " \ + libopenvswitch \ +" + +DEPENDS = "${MLNX_OFED_INSTALL_PACKAGES} ${MLNX_OFED_BUILD_PACKAGES}" +RDEPENDS:${PN} = "${MLNX_OFED_INSTALL_PACKAGES}" + +# Disable unused tasks for this dummy recipe. +do_fetch[noexec] = "1" +do_unpack[noexec] = "1" +do_patch[noexec] = "1" +do_configure[noexec] = "1" +do_compile[noexec] = "1" +do_install[noexec] = "1" + +ALLOW_EMPTY:${PN} = "1" diff --git a/recipes-connectivity/mlnx-ofed/mlnx-tools_5.2.0-0.58101.bb b/recipes-connectivity/mlnx-ofed/mlnx-tools_5.2.0-0.58101.bb new file mode 100644 index 0000000..b8491e7 --- /dev/null +++ b/recipes-connectivity/mlnx-ofed/mlnx-tools_5.2.0-0.58101.bb @@ -0,0 +1,35 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox Tools" +LICENSE = "CLOSED" + +require mlnx-ofed-package.inc + +FILES:${PN} += " \ + ${libdir}/python3 \ +" + +RDEPENDS:${PN} += " \ + bash \ + python3 \ +" + +INSANE_SKIP:${PN} += "file-rdeps" diff --git a/recipes-connectivity/mstflint/files/0001-Fix-OE-build.patch b/recipes-connectivity/mstflint/files/0001-Fix-OE-build.patch new file mode 100644 index 0000000..cebfc25 --- /dev/null +++ b/recipes-connectivity/mstflint/files/0001-Fix-OE-build.patch @@ -0,0 +1,951 @@ +From 8f236fabd96574f7bd2bad491ad3fbdd3e80678f Mon Sep 17 00:00:00 2001 +From: Ian Stewart +Date: Thu, 17 Nov 2022 20:33:28 -0700 +Subject: [PATCH 1/2] Fix OE build + +--- + adb_parser/Makefile.am | 6 ++--- + cmdif/Makefile.am | 12 +++++---- + cmdparser/Makefile.am | 4 +-- + common/tools_version.h | 8 ------ + configure.ac | 4 +-- + dev_mgt/Makefile.am | 14 +++++------ + ext_libs/iniParser/Makefile.am | 6 ++--- + ext_libs/json/Makefile.am | 1 - + ext_libs/minixz/Makefile.am | 11 ++++----- + flint/Makefile.am | 30 +++++++++++------------ + fw_comps_mgr/Makefile.am | 6 ++--- + libmfa/Makefile.am | 8 +++--- + mad_ifc/Makefile.am | 4 +-- + mflash/Makefile.am | 6 ++--- + mft_utils/hsmclient/Makefile.am | 2 +- + mlxarchive/Makefile.am | 6 ++--- + mlxconfig/Makefile.am | 30 +++++++++++------------ + mlxfwops/lib/Makefile.am | 2 +- + mlxlink/Makefile.am | 3 +-- + mlxlink/modules/Makefile.am | 10 ++++---- + mlxlink/modules/printutil/Makefile.am | 10 ++++---- + mlxreg/Makefile.am | 8 +++--- + mlxsign_lib/Makefile.am | 6 ++--- + mstdump/crd_main/Makefile.am | 4 +-- + mtcr_ul/Makefile.am | 2 +- + mvpd/Makefile.am | 10 ++++---- + pldmlib/Makefile.am | 6 ++--- + reg_access/Makefile.am | 12 ++++----- + resourcedump/Makefile.am | 18 +++++++------- + resourcedump/resourcedump_lib/Makefile.am | 9 +++---- + resourceparse/Makefile.am | 12 ++++----- + small_utils/Makefile.am | 26 ++++++++++---------- + tools_layouts/Makefile.am | 4 +-- + tools_res_mgmt/Makefile.am | 2 +- + xz_utils/Makefile.am | 10 ++++---- + 35 files changed, 148 insertions(+), 164 deletions(-) + +diff --git a/adb_parser/Makefile.am b/adb_parser/Makefile.am +index dbe653c..582f1a6 100644 +--- a/adb_parser/Makefile.am ++++ b/adb_parser/Makefile.am +@@ -37,10 +37,10 @@ + DIST_SUBDIRS = . + + USER_DIR = .. +-INCLUDES = -I$(USER_DIR) -I$(USER_DIR)/common ++AM_CPPFLAGS = -I$(USER_DIR) -I$(USER_DIR)/common + AM_CXXFLAGS = -Wall -W -g -MP -MD -pipe $(COMPILER_FPIC) + +-lib_LTLIBRARIES = libadb_parser.a ++lib_LTLIBRARIES = libadb_parser.la + +-libadb_parser_a_SOURCES = buf_ops.cpp expr.cpp adb_expr.cpp adb_parser.cpp adb_db.cpp adb_config.cpp adb_exceptionHolder.cpp adb_field.cpp adb_instance.cpp adb_logfile.cpp adb_node.cpp adb_xmlCreator.cpp ++libadb_parser_la_SOURCES = buf_ops.cpp expr.cpp adb_expr.cpp adb_parser.cpp adb_db.cpp adb_config.cpp adb_exceptionHolder.cpp adb_field.cpp adb_instance.cpp adb_logfile.cpp adb_node.cpp adb_xmlCreator.cpp + +diff --git a/cmdif/Makefile.am b/cmdif/Makefile.am +index b6c43d5..ed03e1a 100644 +--- a/cmdif/Makefile.am ++++ b/cmdif/Makefile.am +@@ -35,23 +35,25 @@ + USER_DIR = $(top_srcdir) + MTCR_DIR = $(USER_DIR)/include/mtcr_ul + TOOLS_LAYOUTS_DIR = $(USER_DIR)/tools_layouts +-AM_CPPFLAGS = -I. -I../common -I../tools_layouts -I${MTCR_DIR} -I.. -I$(USER_DIR)/${MTCR_CONF_DIR} ++AM_CPPFLAGS = -I. -I${top_srcdir}/common -I${top_srcdir}/tools_layouts -I${MTCR_DIR} -I${top_srcdir} -I$(USER_DIR)/${MTCR_CONF_DIR} + CCMDIF_SO = ccmdif.so + + AM_CFLAGS = -W -Wall -g -MP -MD $(COMPILER_FPIC) -DCMDIF_EXPORTS + CMDIF_VERSION = 1 +-lib_LTLIBRARIES = libcmdif.a ++lib_LTLIBRARIES = libcmdif.la + + cmdifincludedir = $(includedir)/mstflint/cmdif/ + + cmdifinclude_HEADERS = icmd_cif_common.h icmd_cif_open.h + +-libcmdif_a_SOURCES = tools_cif.c tools_cif.h icmd_cif_common.c icmd_cif_common.h icmd_cif_open.c icmd_cif_open.h ++libcmdif_la_SOURCES = tools_cif.c tools_cif.h icmd_cif_common.c icmd_cif_common.h icmd_cif_open.c icmd_cif_open.h ++libcmdif_la_DEPENDENCIES = $(top_builddir)/tools_layouts/libtools_layouts.la ++libcmdif_la_LIBADD = $(libreg_access_a_DEPENDENCIES) + + cmdif_pylibdir = $(libdir)/mstflint/python_tools/ + cmdif_pylib_DATA = ${CCMDIF_SO} cmdif.py +-${CCMDIF_SO}: libcmdif.a ++${CCMDIF_SO}: libcmdif.la + $(CC) -g -Wall -pthread -shared ${CFLAGS} *.o -o ${CCMDIF_SO} \ +- -L$(USER_DIR)/tools_layouts -ltools_layouts -L$(USER_DIR)/${MTCR_CONF_DIR} -lmtcr_ul ++ -L$(top_builddir)/mtcr_ul -lmtcr_ul + + CLEANFILES = ${CCMDIF_SO} +diff --git a/cmdparser/Makefile.am b/cmdparser/Makefile.am +index b5367dc..22d2cba 100644 +--- a/cmdparser/Makefile.am ++++ b/cmdparser/Makefile.am +@@ -32,9 +32,7 @@ + + # Makefile.am -- Process this file with automake to produce Makefile.in + +-INCLUDES = -I. -I../common +- +-AM_CPPFLAGS = -W -g -MP -MD $(COMPILER_FPIC) $(COMPILER_FPIE) ++AM_CPPFLAGS = -I. -I${top_srcdir}/common -W -g -MP -MD $(COMPILER_FPIC) $(COMPILER_FPIE) + + noinst_LIBRARIES = libcmdparser.a + +diff --git a/common/tools_version.h b/common/tools_version.h +index c656076..c38efed 100644 +--- a/common/tools_version.h ++++ b/common/tools_version.h +@@ -41,14 +41,6 @@ + #include + #include + +-// To be replaced by an external script: +-#ifdef MST_UL +-#include "gitversion.h" +-#endif +-#ifndef TOOLS_GIT_SHA +-#define TOOLS_GIT_SHA "6469M" +-#endif +- + #ifdef HAVE_CONFIG_H + #include + #ifndef MSTFLINT_VERSION_STR +diff --git a/configure.ac b/configure.ac +index 2fe1934..4634a29 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -42,7 +42,7 @@ AC_SUBST([VERSION]) + AC_CONFIG_MACRO_DIR([m4]) + AC_CONFIG_AUX_DIR(config) + AC_CONFIG_SRCDIR([README]) +-AM_INIT_AUTOMAKE([foreign]) ++AM_INIT_AUTOMAKE([foreign subdir-objects]) + + dnl Checks for programs + AC_PROG_CC +@@ -66,8 +66,6 @@ MTCR_CONF_DIR="" + LDL="" + default_en_inband="" + +-LDFLAGS="${LDFLAGS} -L/usr/local/lib -L/usr/local/lib64 -L/usr/lib64" +-CXXFLAGS="${CXXFLAGS} -isystem /usr/local/include" + if test "x$OS" = "xFreeBSD"; then + AC_MSG_NOTICE(FreeBSD Build) + MTCR_CONF_DIR="mtcr_freebsd" +diff --git a/dev_mgt/Makefile.am b/dev_mgt/Makefile.am +index 2283c2d..8a91fca 100644 +--- a/dev_mgt/Makefile.am ++++ b/dev_mgt/Makefile.am +@@ -35,24 +35,24 @@ USER_DIR = .. + AM_CPPFLAGS = -I$(srcdir) -I$(top_srcdir) -I$(top_srcdir)/common -I$(top_srcdir)/include/mtcr_ul + + AM_CFLAGS = -W -Wall -g -MP -MD -Wswitch-enum $(COMPILER_FPIC) -DMTCR_EXPORT +-lib_LTLIBRARIES = libdev_mgt.a ++lib_LTLIBRARIES = libdev_mgt.la + +-libdev_mgt_a_SOURCES = \ ++libdev_mgt_la_SOURCES = \ + tools_dev_types.c \ + tools_dev_types.h \ + $(top_srcdir)/common/bit_slice.h \ + $(top_srcdir)/common/compatibility.h \ + $(top_srcdir)/common/tools_version.h ++libdev_mgt_la_DEPENDENCIES = $(top_builddir)/tools_layouts/libtools_layouts.la \ ++ $(top_builddir)/reg_access/libreg_access.la ++libdev_mgt_la_LIBADD = $(libreg_access_a_DEPENDENCIES) + + dev_mgt_pylibdir = $(libdir)/mstflint/python_tools/ + + dev_mgt_pylib_DATA = c_dev_mgt.so dev_mgt.py +-dist_dev_mgt_pylib_DATA = dev_mgt.py + +-c_dev_mgt.so: libdev_mgt.a ++c_dev_mgt.so: libdev_mgt.la + $(CC) -g -Wall -pthread -shared ${CFLAGS} tools_dev_types.o -o c_dev_mgt.so \ +- -L$(USER_DIR)/reg_access -lreg_access \ +- -L$(USER_DIR)/tools_layouts -ltools_layouts \ +- -L$(USER_DIR)/${MTCR_CONF_DIR} -lmtcr_ul ++ -L$(top_builddir)/mtcr_ul -lmtcr_ul + + CLEANFILES = c_dev_mgt.so +diff --git a/ext_libs/iniParser/Makefile.am b/ext_libs/iniParser/Makefile.am +index c4df7aa..fe26e67 100755 +--- a/ext_libs/iniParser/Makefile.am ++++ b/ext_libs/iniParser/Makefile.am +@@ -34,12 +34,12 @@ + + USER_DIR = ../.. + MTCR_DIR = $(USER_DIR)/${MTCR_CONFIG_DIR} +-INCLUDES = -I. -I$(USER_DIR) -I$(MTCR_DIR) -I$(USER_DIR)/common ++AM_CPPFLAGS = -I. -I$(USER_DIR) -I$(MTCR_DIR) -I$(USER_DIR)/common + + AM_CFLAGS = -W -g -MP -MD ${COMPILER_FPIC} + +-noinst_LTLIBRARIES = libiniparser.a ++noinst_LTLIBRARIES = libiniparser.la + +-libiniparser_a_SOURCES = \ ++libiniparser_la_SOURCES = \ + iniparser.c iniparser.h \ + dictionary.c dictionary.h +diff --git a/ext_libs/json/Makefile.am b/ext_libs/json/Makefile.am +index 1c60bad..ed8c63f 100755 +--- a/ext_libs/json/Makefile.am ++++ b/ext_libs/json/Makefile.am +@@ -34,7 +34,6 @@ + # Makefile.am -- Process this file with automake to produce Makefile.in + + USER_DIR = ../ +-INCLUDES = + AM_CPPFLAGS = -W -Werror -g -MP -MD ${COMPILER_FPIC} -Wno-missing-field-initializers -Wno-unused-parameter + noinst_LTLIBRARIES = libjson.la + libjson_la_SOURCES = json_reader.cpp json_value.cpp json_tool.h json_writer.cpp json/*.h +diff --git a/ext_libs/minixz/Makefile.am b/ext_libs/minixz/Makefile.am +index 2dd0d50..50ab3e8 100755 +--- a/ext_libs/minixz/Makefile.am ++++ b/ext_libs/minixz/Makefile.am +@@ -33,12 +33,11 @@ + # Makefile.am -- Process this file with automake to produce Makefile.in + + USER_DIR = .. +-INCLUDES = -I. +-AM_CPPFLAGS = -DXZ_DEC_ANY_CHECK -W -g -MP -MD ${COMPILER_FPIC} +-noinst_LTLIBRARIES = libminixz.a +-libminixz_a_SOURCES = xz_crc32.c xz_dec_bcj.c xz_dec_lzma2.c xz_dec_stream.c xz_config.h xz.h xz_lzma2.h xz_private.h xz_stream.h ++AM_CPPFLAGS = -I. -DXZ_DEC_ANY_CHECK -W -g -MP -MD ${COMPILER_FPIC} ++noinst_LTLIBRARIES = libminixz.la ++libminixz_la_SOURCES = xz_crc32.c xz_dec_bcj.c xz_dec_lzma2.c xz_dec_stream.c xz_config.h xz.h xz_lzma2.h xz_private.h xz_stream.h + +-libminixz_a_DEPENDENCIES = xz_crc32.c xz_dec_bcj.c xz_dec_lzma2.c xz_dec_stream.c xz_config.h xz.h xz_lzma2.h xz_private.h xz_stream.h +-libminixz_a_LIBADD = ++libminixz_la_DEPENDENCIES = xz_crc32.c xz_dec_bcj.c xz_dec_lzma2.c xz_dec_stream.c xz_config.h xz.h xz_lzma2.h xz_private.h xz_stream.h ++libminixz_la_LIBADD = + + +diff --git a/flint/Makefile.am b/flint/Makefile.am +index 6cf7c46..a85e6d9 100644 +--- a/flint/Makefile.am ++++ b/flint/Makefile.am +@@ -53,18 +53,18 @@ bin_PROGRAMS = mstflint + mstflint_SOURCES = flint.cpp flint.h subcommands.cpp subcommands.h subcommands_linkx.cpp \ + flint_params.cpp flint_params.h cmd_line_parser.cpp err_msgs.h + +-mstflint_LDADD = ../mlxfwops/lib/libmlxfwops.a \ +- ../cmdparser/libcmdparser.a \ +- ../mflash/libmflash.a \ +- ../tools_res_mgmt/libtools_res_mgmt.a \ +- $(CMDIF_DIR)/libcmdif.a \ +- ../reg_access/libreg_access.a \ +- ../dev_mgt/libdev_mgt.a \ +- ../${MTCR_CONF_DIR}/libmtcr_ul.a \ +- ../tools_layouts/libtools_layouts.a \ +- ../fw_comps_mgr/libfw_comps_mgr.a \ +- ../mft_utils/libmftutils.a\ +- ../mft_utils/hsmclient/libhsmclient.a\ ++mstflint_LDADD = $(top_builddir)/mlxfwops/lib/libmlxfwops.a \ ++ $(top_builddir)/cmdparser/libcmdparser.a \ ++ $(top_builddir)/mflash/libmflash.la \ ++ $(top_builddir)/tools_res_mgmt/libtools_res_mgmt.a \ ++ $(top_builddir)/cmdif/libcmdif.la \ ++ $(top_builddir)/reg_access/libreg_access.la \ ++ $(top_builddir)/dev_mgt/libdev_mgt.la \ ++ $(top_builddir)/mtcr_ul/libmtcr_ul.a \ ++ $(top_builddir)/tools_layouts/libtools_layouts.la \ ++ $(top_builddir)/fw_comps_mgr/libfw_comps_mgr.a \ ++ $(top_builddir)/mft_utils/libmftutils.a\ ++ $(top_builddir)/mft_utils/hsmclient/libhsmclient.a\ + ${LDL} + + +@@ -75,17 +75,17 @@ mstflint_CXXFLAGS += -DNO_ZLIB + endif + + if ENABLE_CS +-mstflint_LDADD += $(top_srcdir)/tools_crypto/libtools_crypto.a -lcrypto ++mstflint_LDADD += $(top_builddir)/tools_crypto/libtools_crypto.a -lcrypto + else + endif + + if ENABLE_INBAND +-mstflint_LDADD += $(MAD_IFC_DIR)/libmad_ifc.a ++mstflint_LDADD += $(top_builddir)/mad_ifc/libmad_ifc.a + else + endif + + if ENABLE_OPENSSL +-mstflint_LDADD += $(top_srcdir)/mlxsign_lib/libmlxsign.a -lcrypto -lssl ++mstflint_LDADD += $(top_builddir)/mlxsign_lib/libmlxsign.a -lcrypto -lssl + else + mstflint_CXXFLAGS += -DNO_OPEN_SSL + endif +diff --git a/fw_comps_mgr/Makefile.am b/fw_comps_mgr/Makefile.am +index 1e7449c..649f5b2 100755 +--- a/fw_comps_mgr/Makefile.am ++++ b/fw_comps_mgr/Makefile.am +@@ -43,7 +43,7 @@ MAD_IFC_DIR = $(USER_DIR)/mad_ifc + TOOLS_RES_MGMT_DIR = $(USER_DIR)/tools_res_mgmt + DEV_MGT_DIR = $(USER_DIR)/dev_mgt + +-INCLUDES = -I. -I$(USER_DIR) -I$(MTCR_INC_DIR) -I$(MTCR_DIR) -I$(REG_ACCESS_DIR) -I$(CMDIF_DIR) \ ++AM_CPPFLAGS = -I. -I$(USER_DIR) -I$(MTCR_INC_DIR) -I$(MTCR_DIR) -I$(REG_ACCESS_DIR) -I$(CMDIF_DIR) \ + -I$(COMMON_DIR) -I $(LAYOUTS_DIR) -I $(UTILS_DIR) -I$(TOOLS_RES_MGMT_DIR) -I$(DEV_MGT_DIR) + + FWCOMPS_VERSION = 1 +@@ -61,8 +61,8 @@ else + AM_CXXFLAGS += "-DNO_INBAND" + endif + +-libfw_comps_mgr_a_LIBADD = ../reg_access/libreg_access.a $(MTCR_DIR)/libmtcr_ul.a $(LAYOUTS_LIB) $(TOOLS_RES_MGMT_DIR)/libtools_res_mgmt.a ++libfw_comps_mgr_a_LIBADD = ${top_builddir}/reg_access/libreg_access.la $(top_builddir)/mtcr_ul/libmtcr_ul.a $(LAYOUTS_LIB) $(top_builddir)/tools_res_mgmt/libtools_res_mgmt.a + + if ENABLE_INBAND +-libfw_comps_mgr_a_LIBADD += $(top_srcdir)/mad_ifc/libmad_ifc.a ++libfw_comps_mgr_a_LIBADD += $(top_builddir)/mad_ifc/libmad_ifc.a + endif +diff --git a/libmfa/Makefile.am b/libmfa/Makefile.am +index abfba68..7be3f14 100644 +--- a/libmfa/Makefile.am ++++ b/libmfa/Makefile.am +@@ -34,14 +34,14 @@ + # Makefile.am -- Process this file with automake to produce Makefile.in + USER_DIR = $(top_srcdir) + #INCLUDES = -I. -I$(USER_DIR)/ext_libs/libtar -I$(USER_DIR)/ext_libs/libtar/listhash -I$(USER_DIR)/ext_libs/minixz +-INCLUDES = -I. -I$(USER_DIR)/ext_libs/minixz -I$(USER_DIR)/common ++AM_CPPFLAGS = -I. -I$(USER_DIR)/ext_libs/minixz -I$(USER_DIR)/common + + AM_CFLAGS = -MD -pipe -Wall -W -g $(COMPILER_FPIC) + +-noinst_LTLIBRARIES = libmfa.a +-libmfa_a_LIBADD = -L$(USER_DIR)/ext_libs/minixz -lminixz ++noinst_LTLIBRARIES = libmfa.la ++libmfa_la_LIBADD = -L$(USER_DIR)/ext_libs/minixz -lminixz + +-libmfa_a_SOURCES = \ ++libmfa_la_SOURCES = \ + mfa.c mfa.h\ + mfa_section.c mfa_section.h\ + xz_io_ops.c xz_io_ops.h\ +diff --git a/mad_ifc/Makefile.am b/mad_ifc/Makefile.am +index 40166c5..b9181cc 100644 +--- a/mad_ifc/Makefile.am ++++ b/mad_ifc/Makefile.am +@@ -35,7 +35,7 @@ USER_DIR = .. + MTCR_DIR = $(USER_DIR)/${MTCR_CONF_DIR} + MTCR_INC_DIR = $(top_srcdir)/include/mtcr_ul + +-INCLUDES = -I. -I.. -I$(MTCR_INC_DIR) -I../${MTCR_CONF_DIR} -I$(USER_DIR)/tools_ayouts/ ++AM_CPPFLAGS = -I. -I${top_srcdir} -I${top_srcdir}/mtcr_ul -I$(MTCR_INC_DIR) -I../${MTCR_CONF_DIR} -I$(USER_DIR)/tools_ayouts/ + + AM_CFLAGS = -W -Wall -g -MP -MD $(COMPILER_FPIC) + +@@ -43,6 +43,6 @@ AM_CFLAGS = -W -Wall -g -MP -MD $(COMPILER_FPIC) + noinst_LIBRARIES = libmad_ifc.a + + libmad_ifc_a_SOURCES = mad_ifc.c mad_ifc.h +-libmad_ifc_a_DEPENDENCIES = $(USER_DIR)/tools_layouts/libtools_layouts.a ++libmad_ifc_a_DEPENDENCIES = $(USER_DIR)/tools_layouts/libtools_layouts.la + libmad_ifc_a_LIBADD = $(libmad_ifc_a_DEPENDENCIES) + +diff --git a/mflash/Makefile.am b/mflash/Makefile.am +index d57abaf..e44c664 100644 +--- a/mflash/Makefile.am ++++ b/mflash/Makefile.am +@@ -31,14 +31,14 @@ + #-- + + # Makefile.am -- Process this file with automake to produce Makefile.in +-AM_CPPFLAGS = -I. -I$(top_srcdir)/include/mtcr_ul -I$(top_srcdir)/common -I$(top_srcdir)/tools_layouts -I$(top_srcdir)/reg_access \ ++AM_CPPFLAGS = -I. -I$(top_srcdir)/include/mtcr_ul -I${top_srcdir} -I$(top_srcdir)/common -I$(top_srcdir)/tools_layouts -I$(top_srcdir)/reg_access \ + -I$(top_srcdir)/cmdif -I$(top_srcdir)/tools_res_mgmt $(COMPILER_FPIC) + + AM_CFLAGS = -MD -pipe -Wall -W -DMST_UL -g ${MFLASH_INBAND_FLAG} $(COMPILER_FPIC) + +-noinst_LTLIBRARIES = libmflash.a ++noinst_LTLIBRARIES = libmflash.la + +-libmflash_a_SOURCES = mflash.c mflash.h mflash_gw.c mflash_gw.h mflash_new_gw.c mflash_new_gw.h \ ++libmflash_la_SOURCES = mflash.c mflash.h mflash_gw.c mflash_gw.h mflash_new_gw.c mflash_new_gw.h \ + mflash_dev_capability.c mflash_dev_capability.h \ + mflash_pack_layer.c mflash_pack_layer.h \ + mflash_access_layer.c mflash_access_layer.h \ +diff --git a/mft_utils/hsmclient/Makefile.am b/mft_utils/hsmclient/Makefile.am +index 911d356..e149aa0 100644 +--- a/mft_utils/hsmclient/Makefile.am ++++ b/mft_utils/hsmclient/Makefile.am +@@ -32,7 +32,7 @@ + + # Makefile.am -- Process this file with automake to produce Makefile.in + USER_DIR = $(top_srcdir) +-AM_CPPFLAGS = -I$(USER_DIR)/common -Iinc -Iinc/rsa $(COMPILER_FPIC) -DUNIX -DOS_UNIX -DOS_LINUX ++AM_CPPFLAGS = -I$(USER_DIR)/common -I${srcdir}/inc -I${srcdir}/inc/rsa $(COMPILER_FPIC) -DUNIX -DOS_UNIX -DOS_LINUX + + AM_CFLAGS = -Wall -W -g -MP -MD -pipe $(COMPILER_FPIC) + +diff --git a/mlxarchive/Makefile.am b/mlxarchive/Makefile.am +index 39e02e2..2e29e53 100755 +--- a/mlxarchive/Makefile.am ++++ b/mlxarchive/Makefile.am +@@ -42,16 +42,16 @@ CMDIF_DIR = $(USER_DIR)/cmdif + + CURL_LIBS = -lcurl -lssl -lcrypto -lrt + +-INCLUDES = $(JSON_CFLAGS) -I. \ ++AM_CPPFLAGS = $(JSON_CFLAGS) -I. \ + -I$(USER_DIR) -I$(USER_DIR)/libmfa \ + -I$(MTCR_DIR) -I$(USER_DIR)/include/mtcr_ul \ + -I$(USER_DIR)/mflash -I$(USER_DIR)/common \ + -I$(UTILS_DIR) -I$(USER_DIR)/mlxfwops/lib \ + -I$(USER_DIR)/dev_mgt -I$(USER_DIR)/tools_layouts + +-lib_LTLIBRARIES = libmstarchive.a ++lib_LTLIBRARIES = libmstarchive.la + +-libmstarchive_a_SOURCES = \ ++libmstarchive_la_SOURCES = \ + mlxarchive_mfa2_utils.h mlxarchive_mfa2_utils.cpp\ + mlxarchive_mfa2_common_header.h mlxarchive_mfa2_common_header.cpp\ + mlxarchive_mfa2_element.h mlxarchive_mfa2_element.cpp\ +diff --git a/mlxconfig/Makefile.am b/mlxconfig/Makefile.am +index 3641b60..8c63ac1 100755 +--- a/mlxconfig/Makefile.am ++++ b/mlxconfig/Makefile.am +@@ -37,11 +37,11 @@ COMMON_DIR = $(top_srcdir)/common + LAYOUTS_DIR = $(top_srcdir)/tools_layouts + UTILS_DIR = $(top_srcdir)/mft_utils + DEV_MGT_DIR = $(top_srcdir)/dev_mgt +-LAYOUTS_LIB = $(LAYOUTS_DIR)/libtools_layouts.a +-UTILS_LIB = $(USER_DIR)/mft_utils/libmftutils.a ++LAYOUTS_LIB = $(top_builddir)/tools_layouts/libtools_layouts.la ++UTILS_LIB = $(top_builddir)/mft_utils/libmftutils.a + CMDIF_DIR = $(USER_DIR)/cmdif + MLXSIGN_DIR = $(USER_DIR)/mlxsign_lib +-MLXSIGN_LIB = $(MLXSIGN_DIR)/libmlxsign.a ++MLXSIGN_LIB = $(top_builddir)/mlxsign_lib/libmlxsign.a + COMPS_MGR_DIR = $(USER_DIR)/fw_comps_mgr + TOOLS_RES_MGMT_DIR = $(USER_DIR)/tools_res_mgmt + +@@ -63,39 +63,39 @@ ${MLXPRIVHOST_PYTHON_WRAPPER}: $(PYTHON_WRAPPER_SCRIPT) + mlxprivhostlibdir=$(libdir)/mstflint/python_tools/$(MLXPRIVHOST_PYTHON_WRAPPER) + mlxprivhostlib_DATA = $(MLXPRIVHOST_PYTHON_WRAPPER).py + +-noinst_LTLIBRARIES = libmlxcfg.a ++noinst_LTLIBRARIES = libmlxcfg.la + +-libmlxcfg_a_SOURCES = mlxcfg_status.h mlxcfg_utils.h mlxcfg_utils.cpp mlxcfg_view.h\ ++libmlxcfg_la_SOURCES = mlxcfg_status.h mlxcfg_utils.h mlxcfg_utils.cpp mlxcfg_view.h\ + mlxcfg_expression.h mlxcfg_expression.cpp\ + mlxcfg_db_items.h mlxcfg_db_items.cpp\ + mlxcfg_db_manager.h mlxcfg_db_manager.cpp mlxcfg_param.h mlxcfg_param.cpp mlxcfg_tlv.h mlxcfg_tlv.cpp\ + mlxcfg_commander.h mlxcfg_commander.cpp mlxcfg_generic_commander.h mlxcfg_generic_commander.cpp\ + mlxcfg_param_lib.h mlxcfg_param_lib.cpp mlxcfg_4thgen_commander.h mlxcfg_4thgen_commander.cpp + +-libmlxcfg_a_LIBADD = $(UTILS_LIB) $(MUPARSER_LIBS) $(SQLITE_LIBS)\ +- $(CMDIF_DIR)/libcmdif.a ../reg_access/libreg_access.a $(LAYOUTS_LIB) $(MTCR_DIR)/libmtcr_ul.a\ +- $(DEV_MGT_DIR)/libdev_mgt.a $(COMPS_MGR_DIR)/libfw_comps_mgr.a $(TOOLS_RES_MGMT_DIR)/libtools_res_mgmt.a $(MLNXOS_PPC_LIBS) $(LIBSTD_CPP) ${LDL} ++libmlxcfg_la_LIBADD = $(UTILS_LIB) $(MUPARSER_LIBS) $(SQLITE_LIBS)\ ++ $(top_builddir)/cmdif/libcmdif.la $(top_builddir)/reg_access/libreg_access.la $(LAYOUTS_LIB) $(top_builddir)/mtcr_ul/libmtcr_ul.a\ ++ $(top_builddir)/dev_mgt/libdev_mgt.la $(top_builddir)/fw_comps_mgr/libfw_comps_mgr.a $(top_builddir)/tools_res_mgmt/libtools_res_mgmt.a $(MLNXOS_PPC_LIBS) $(LIBSTD_CPP) ${LDL} + +-mstconfig_LDADD = libmlxcfg.a $(UTILS_LIB) $(MUPARSER_LIBS) $(SQLITE_LIBS)\ +- $(CMDIF_DIR)/libcmdif.a ../reg_access/libreg_access.a $(LAYOUTS_LIB) $(MTCR_DIR)/libmtcr_ul.a\ +- $(DEV_MGT_DIR)/libdev_mgt.a $(COMPS_MGR_DIR)/libfw_comps_mgr.a $(TOOLS_RES_MGMT_DIR)/libtools_res_mgmt.a $(MLNXOS_PPC_LIBS) $(LIBSTD_CPP) ${LDL} ++mstconfig_LDADD = libmlxcfg.la $(UTILS_LIB) $(MUPARSER_LIBS) $(SQLITE_LIBS)\ ++ $(top_builddir)/cmdif/libcmdif.la $(top_builddir)/reg_access/libreg_access.la $(LAYOUTS_LIB) $(top_builddir)/mtcr_ul/libmtcr_ul.a\ ++ $(top_builddir)/dev_mgt/libdev_mgt.la $(top_builddir)/fw_comps_mgr/libfw_comps_mgr.a $(top_builddir)/tools_res_mgmt/libtools_res_mgmt.a $(MLNXOS_PPC_LIBS) $(LIBSTD_CPP) ${LDL} + + if DISABLE_XML2 + AM_CXXFLAGS += -DDISABLE_XML2 + else + mstconfig_LDADD += -lxml2 +-libmlxcfg_a_LIBADD += -lxml2 ++libmlxcfg_la_LIBADD += -lxml2 + endif + + if ENABLE_INBAND +-mstconfig_LDADD += $(top_srcdir)/mad_ifc/libmad_ifc.a +-libmlxcfg_a_LIBADD += $(top_srcdir)/mad_ifc/libmad_ifc.a ++mstconfig_LDADD += $(top_builddir)/mad_ifc/libmad_ifc.a ++libmlxcfg_la_LIBADD += $(top_builddir)/mad_ifc/libmad_ifc.a + else + endif + + if ENABLE_OPENSSL + mstconfig_LDADD += $(MLXSIGN_LIB) -lcrypto -lssl +-libmlxcfg_a_LIBADD += $(MLXSIGN_LIB) -lcrypto -lssl ++libmlxcfg_la_LIBADD += $(MLXSIGN_LIB) -lcrypto -lssl + else + AM_CXXFLAGS += -DNO_OPEN_SSL + endif +diff --git a/mlxfwops/lib/Makefile.am b/mlxfwops/lib/Makefile.am +index 364484f..15f9255 100644 +--- a/mlxfwops/lib/Makefile.am ++++ b/mlxfwops/lib/Makefile.am +@@ -43,7 +43,7 @@ UTILS_LIB = $(top_srcdir)/mft_utils + UEFI_COMMON_DIR = $(top_srcdir)/mlxfwops/uefi_c + DEV_MGT_DIR = $(top_srcdir)/dev_mgt + +-AM_CPPFLAGS = -I$(srcdir) -I$(MTCR_INC_DIR) -I$(MFLASH_DIR) $(JSON_CFLAGS) -I$(MINIXZ_DIR)\ ++AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) -I$(MTCR_INC_DIR) -I$(MFLASH_DIR) $(JSON_CFLAGS) -I$(MINIXZ_DIR)\ + -I$(COMMON_DIR) -I$(MFT_EXT_LIBS_INC_DIR) -I$(MFT_EXT_LIBS_INC_DIR)/zlib -I$(LAYOUTS_DIR) -I$(top_srcdir)/common -I$(UTILS_LIB) -I$(UEFI_COMMON_DIR) -I$(DEV_MGT_DIR) -I$(MTCR_UL_DIR) + + MLXFWOPS_VERSION = 1 +diff --git a/mlxlink/Makefile.am b/mlxlink/Makefile.am +index 7d6d9f6..5be037d 100644 +--- a/mlxlink/Makefile.am ++++ b/mlxlink/Makefile.am +@@ -45,10 +45,9 @@ MLXREG_DIR = $(top_srcdir)/mlxreg + LAYOUTS_DIR = $(top_srcdir)/tools_layouts + MLXLINK_MODULES_DIR = $(top_srcdir)/mlxlink + +-INCLUDES = -I. -I$(top_srcdir) -I$(MTCR_DIR) -I$(MFT_EXT_LIBS_INC_DIR) -I$(UTILS_DIR) -I$(MLXREG_DIR) -I$(MLXLINK_MODULES_DIR) -I$(MTCR_INC_DIR) $(JSON_CFLAGS) ++AM_CPPFLAGS = -I. -I$(top_srcdir) -I$(MTCR_DIR) -I$(MFT_EXT_LIBS_INC_DIR) -I$(UTILS_DIR) -I$(MLXREG_DIR) -I$(MLXLINK_MODULES_DIR) -I$(MTCR_INC_DIR) $(JSON_CFLAGS) + + AM_CXXFLAGS = -Wall -W -DMST_UL -g -MP -MD -pipe -std=c++11 +-AM_CPPFLAGS = $(AM_CXXFLAGS) + + bin_PROGRAMS = mstlink + +diff --git a/mlxlink/modules/Makefile.am b/mlxlink/modules/Makefile.am +index 7d811b2..dc7d381 100644 +--- a/mlxlink/modules/Makefile.am ++++ b/mlxlink/modules/Makefile.am +@@ -42,14 +42,14 @@ UTILS_DIR = $(top_srcdir)/mft_utils + MLXREG_DIR = $(top_srcdir)/mlxreg + MLXLINK_MODULES_DIR = $(top_srcdir)/mlxlink + +-INCLUDES = -I. -I$(USER_DIR) -I$(MTCR_DIR) -I$(MFT_EXT_LIBS_INC_DIR) -I$(UTILS_DIR) -I$(MLXREG_DIR) -I$(MLXLINK_MODULES_DIR) -I$(MTCR_INC_DIR) $(JSON_CFLAGS) ++AM_CPPFLAGS = -I. -I$(USER_DIR) -I$(MTCR_DIR) -I$(MFT_EXT_LIBS_INC_DIR) -I$(UTILS_DIR) -I$(MLXREG_DIR) -I$(MLXLINK_MODULES_DIR) -I$(MTCR_INC_DIR) $(JSON_CFLAGS) + + AM_CFLAGS = -Wall -W -g -MP -MD -pipe $(COMPILER_FPIC) -DDATA_PATH=\"$(pkgdatadir)\" + AM_CXXFLAGS = -Wall -W -g -MP -MD -pipe -std=c++11 #$(COMPILER_FPIC) + +-lib_LTLIBRARIES = libmodules_lib.a ++lib_LTLIBRARIES = libmodules_lib.la + +-libmodules_lib_a_SOURCES = mlxlink_commander.h \ ++libmodules_lib_la_SOURCES = mlxlink_commander.h \ + mlxlink_commander.cpp \ + mlxlink_user_input.h \ + mlxlink_user_input.cpp \ +@@ -77,5 +77,5 @@ libmodules_lib_a_SOURCES = mlxlink_commander.h \ + amber_field.cpp \ + mlxlink_enums.h + +-libmodules_lib_a_LIBADD = printutil/libprint_util_lib.a $(JSON_LIBS) +-libmodules_lib_a_CFLAGS = $(AM_CFLAGS) ++libmodules_lib_la_LIBADD = printutil/libprint_util_lib.a $(JSON_LIBS) ++libmodules_lib_la_CFLAGS = $(AM_CFLAGS) +diff --git a/mlxlink/modules/printutil/Makefile.am b/mlxlink/modules/printutil/Makefile.am +index d47b815..5e71fca 100644 +--- a/mlxlink/modules/printutil/Makefile.am ++++ b/mlxlink/modules/printutil/Makefile.am +@@ -40,15 +40,15 @@ MTCR_INC_DIR = $(top_srcdir)/include/mtcr_ul + UTILS_DIR = $(top_srcdir)/mft_utils + MLXREG_DIR = $(top_srcdir)/mlxreg + +-INCLUDES = -I. -I$(USER_DIR) -I$(MTCR_DIR) -I$(MFT_EXT_LIBS_INC_DIR) -I$(UTILS_DIR) -I$(MLXREG_DIR) -I$(MTCR_INC_DIR) $(JSON_CFLAGS) ++AM_CPPFLAGS = -I. -I$(USER_DIR) -I$(MTCR_DIR) -I$(MFT_EXT_LIBS_INC_DIR) -I$(UTILS_DIR) -I$(MLXREG_DIR) -I$(MTCR_INC_DIR) $(JSON_CFLAGS) + + AM_CFLAGS = -Wall -W -g -MP -MD -pipe -std=c++11 $(COMPILER_FPIC) -DDATA_PATH=\"$(pkgdatadir)\" + +-lib_LTLIBRARIES = libprint_util_lib.a ++lib_LTLIBRARIES = libprint_util_lib.la + +-libprint_util_lib_a_SOURCES = mlxlink_cmd_print.h \ ++libprint_util_lib_la_SOURCES = mlxlink_cmd_print.h \ + mlxlink_cmd_print.cpp \ + mlxlink_record.h \ + mlxlink_record.cpp +-libprint_util_lib_a_LIBDADD = $(JSON_LIBS) +-libprint_util_lib_a_CFLAGS = $(AM_CFLAGS) ++libprint_util_lib_la_LIBDADD = $(JSON_LIBS) ++libprint_util_lib_la_CFLAGS = $(AM_CFLAGS) +diff --git a/mlxreg/Makefile.am b/mlxreg/Makefile.am +index fe58f9c..eacbc12 100644 +--- a/mlxreg/Makefile.am ++++ b/mlxreg/Makefile.am +@@ -43,13 +43,13 @@ COMMON_DIR = $(top_srcdir)/common + LAYOUTS_DIR = $(top_srcdir)/tools_layouts + MFT_UTILS_DIR = $(top_srcdir)/mft_utils + +-INCLUDES = -I. -I$(USER_DIR) -I$(MTCR_DIR) -I$(MFT_EXT_LIBS_INC_DIR) -I$(UTILS_DIR) -I$(MTCR_INC_DIR) ++AM_CPPFLAGS = -I. -I$(USER_DIR) -I$(MTCR_DIR) -I$(MFT_EXT_LIBS_INC_DIR) -I$(UTILS_DIR) -I$(MTCR_INC_DIR) + + AM_CXXFLAGS = -Wall -W -DMST_UL -g -MP -MD -pipe + +-lib_LTLIBRARIES = libmstreg_lib.a ++lib_LTLIBRARIES = libmstreg_lib.la + +-libmstreg_lib_a_SOURCES = mlxreg_exception.h \ ++libmstreg_lib_la_SOURCES = mlxreg_exception.h \ + mlxreg_exception.cpp \ + mlxreg_parser.h \ + mlxreg_parser.cpp \ +@@ -60,7 +60,7 @@ mstreg_SOURCES = mlxreg_ui.cpp mlxreg_ui.h + + bin_PROGRAMS = mstreg + +-mstreg_LDADD = libmstreg_lib.a \ ++mstreg_LDADD = libmstreg_lib.la \ + $(USER_DIR)/cmdparser/libcmdparser.a \ + $(MFT_UTILS_DIR)/libmftutils.a \ + $(MTCR_DIR)/libmtcr_ul.a \ +diff --git a/mlxsign_lib/Makefile.am b/mlxsign_lib/Makefile.am +index 72e2e58..991b3d3 100644 +--- a/mlxsign_lib/Makefile.am ++++ b/mlxsign_lib/Makefile.am +@@ -31,8 +31,8 @@ + #-- + + # Makefile.am -- Process this file with automake to produce Makefile.in +-USER_DIR = .. +-INCLUDES = -I$(USER_DIR) -I$(USER_DIR)/common ++USER_DIR = ${top_srcdir} ++AM_CPPFLAGS = -I$(USER_DIR) -I$(USER_DIR)/common + AM_CXXFLAGS = -Wall -W -g -MP -MD -pipe $(COMPILER_FPIC) + AM_CXXFLAGS += -DTOOLS_CRYPTO_KEY='$(TOOLS_CRYPTO_KEY)' -DTOOLS_CRYPTO_IV='$(TOOLS_CRYPTO_IV)' + +@@ -43,6 +43,6 @@ libmlxsign_a_SOURCES = mlxsign_lib.cpp mlxsign_lib.h mlxsign_com_def.h \ + + if ENABLE_OPENSSL + else +-AM_CXXFLAGS = -DNO_OPEN_SSL ++AM_CXXFLAGS += -DNO_OPEN_SSL + endif + +diff --git a/mstdump/crd_main/Makefile.am b/mstdump/crd_main/Makefile.am +index 35c847b..07714e0 100755 +--- a/mstdump/crd_main/Makefile.am ++++ b/mstdump/crd_main/Makefile.am +@@ -37,8 +37,8 @@ AM_CFLAGS = -MD -pipe -g -Wall -W $(COMPILER_FPIC) + bin_PROGRAMS = mstregdump + + mstregdump_SOURCES = mstdump.c +-mstregdump_LDADD = ../crd_lib/libcrdump.a ../../dev_mgt/libdev_mgt.a ../../reg_access/libreg_access.a ../../tools_layouts/libtools_layouts.a \ +- ../../${MTCR_CONF_DIR}/libmtcr_ul.a -lm ${LDL} ++mstregdump_LDADD = $(builddir)/../crd_lib/libcrdump.a $(top_builddir)/dev_mgt/libdev_mgt.la $(top_builddir)/reg_access/libreg_access.la $(top_builddir)/tools_layouts/libtools_layouts.la \ ++ $(top_builddir)/${MTCR_CONF_DIR}/libmtcr_ul.a -lm ${LDL} + + mstregdump_CFLAGS = -DMSTDUMP_NAME=\"mstregdump\" -DDEV_EXAMPLE=\"0b:00.0\" + +diff --git a/mtcr_ul/Makefile.am b/mtcr_ul/Makefile.am +index 17626ed..a79d4ad 100644 +--- a/mtcr_ul/Makefile.am ++++ b/mtcr_ul/Makefile.am +@@ -31,7 +31,7 @@ + #-- + + # Makefile.am -- Process this file with automake to produce Makefile.in +-AM_CPPFLAGS = -I$(top_srcdir)/include/mtcr_ul -I$(top_srcdir)/common -I$(top_srcdir)/dev_mgt ++AM_CPPFLAGS = -I${top_srcdir} -I$(top_srcdir)/include/mtcr_ul -I$(top_srcdir)/common -I$(top_srcdir)/dev_mgt + + pkglib_LIBRARIES = libmtcr_ul.a + +diff --git a/mvpd/Makefile.am b/mvpd/Makefile.am +index fc2d4ad..3670ef3 100644 +--- a/mvpd/Makefile.am ++++ b/mvpd/Makefile.am +@@ -39,12 +39,12 @@ USER_DIR = $(top_srcdir) + AM_CPPFLAGS = -I. -I$(USER_DIR) -I$(srcdir) -I$(LAYOUTS_DIR) -I$(USER_DIR)/include/mtcr_ul -I$(USER_DIR)/dev_mgt + AM_CFLAGS = -W -Wall -g -MP -MD $(COMPILER_FPIC) + +-noinst_LTLIBRARIES = libmvpd.a ++noinst_LTLIBRARIES = libmvpd.la + +-libmvpd_a_SOURCES = mvpd.c mvpd.h ++libmvpd_la_SOURCES = mvpd.c mvpd.h + +-libmvpd_a_DEPENDENCIES = $(MTCR_DIR)/libmtcr_ul.a +-libmvpd_a_LIBADD = $(libmvpd_a_DEPENDENCIES) ++libmvpd_la_DEPENDENCIES = $(top_builddir)/mtcr_ul/libmtcr_ul.a ++libmvpd_la_LIBADD = $(libmvpd_a_DEPENDENCIES) + + RMVPD_SO = rmvpd.so + +@@ -54,7 +54,7 @@ LDADD= ../${MTCR_CONF_DIR}/libmtcr_ul.a ${LDL} + + noinst_HEADERS = mvpd.h + +-${RMVPD_SO}: libmvpd.a ++${RMVPD_SO}: libmvpd.la + $(CC) -g -Wall -pthread -shared ${CFLAGS} *.o -o ${RMVPD_SO} \ + -L$(MTCR_DIR) -lmtcr_ul + +diff --git a/pldmlib/Makefile.am b/pldmlib/Makefile.am +index f4a54ee..825bda7 100644 +--- a/pldmlib/Makefile.am ++++ b/pldmlib/Makefile.am +@@ -32,13 +32,13 @@ + + # Makefile.am -- Process this file with automake to produce Makefile.in + USER_DIR = $(top_srcdir) +-INCLUDES = -I. -I$(USER_DIR)/common ++AM_CPPFLAGS = -I. -I$(USER_DIR)/common + + AM_CXXFLAGS = -Wall -W -g -MP -MD -pipe $(COMPILER_FPIC) -DPLDMLIB_EXPORT + +-noinst_LTLIBRARIES = libpldm.a ++noinst_LTLIBRARIES = libpldm.la + +-libpldm_a_SOURCES = \ ++libpldm_la_SOURCES = \ + pldm_buff.cpp pldm_buff.h\ + pldm_record_descriptor.cpp pldm_record_descriptor.h\ + pldm_dev_id_record.cpp pldm_dev_id_record.h\ +diff --git a/reg_access/Makefile.am b/reg_access/Makefile.am +index 26f6a5a..1e6b5f3 100644 +--- a/reg_access/Makefile.am ++++ b/reg_access/Makefile.am +@@ -40,11 +40,11 @@ AM_CPPFLAGS = -I. -I$(USER_DIR) -I$(srcdir) -I$(LAYOUTS_DIR) -I$(USER_DIR)/inclu + + AM_CFLAGS = -W -Wall -g -MP -MD $(COMPILER_FPIC) + +-lib_LTLIBRARIES = libreg_access.a ++lib_LTLIBRARIES = libreg_access.la + +-libreg_access_a_SOURCES = reg_access.c reg_access.h +-libreg_access_a_DEPENDENCIES = $(USER_DIR)/tools_layouts/libtools_layouts.a +-libreg_access_a_LIBADD = $(libreg_access_a_DEPENDENCIES) ++libreg_access_la_SOURCES = reg_access.c reg_access.h ++libreg_access_la_DEPENDENCIES = $(top_builddir)/tools_layouts/libtools_layouts.la ++libreg_access_la_LIBADD = $(libreg_access_a_DEPENDENCIES) + + RREG_ACCESS_SO = rreg_access.so + reg_access_pylibdir = $(libdir)/mstflint/python_tools/ +@@ -52,8 +52,8 @@ reg_access_pylibdir = $(libdir)/mstflint/python_tools/ + reg_access_pylib_DATA = ${RREG_ACCESS_SO} regaccess.py + dist_reg_access_pylib_DATA = regaccess.py + +-${RREG_ACCESS_SO}: libreg_access.a ++${RREG_ACCESS_SO}: libreg_access.la + $(CC) -g -Wall -pthread -shared ${CFLAGS} *.o -o ${RREG_ACCESS_SO} \ +- -L$(USER_DIR)/tools_layouts -ltools_layouts -L$(MTCR_DIR) -lmtcr_ul ++ -L${top_builddir}/mtcr_ul -lmtcr_ul + + CLEANFILES = ${RREG_ACCESS_SO} +diff --git a/resourcedump/Makefile.am b/resourcedump/Makefile.am +index 83fcc16..b0bf130 100755 +--- a/resourcedump/Makefile.am ++++ b/resourcedump/Makefile.am +@@ -39,24 +39,24 @@ USER_DIR = $(top_srcdir) + bin_SCRIPTS=mstresourcedump + + PYTHON_WRAPPER=mstresourcedump +-PYTHON_WRAPPER_SCRIPT=$(USER_DIR)/common/python_wrapper ++PYTHON_WRAPPER_SCRIPT=$(top_builddir)/common/python_wrapper + ${PYTHON_WRAPPER}: $(PYTHON_WRAPPER_SCRIPT) + cp $(PYTHON_WRAPPER_SCRIPT) $@ + pythonlibdir=$(libdir)/mstflint/python_tools/mstresourcedump +-dist_pythonlib_DATA = __init__.py mstresourcedump.py ++dist_pythonlib_DATA = $(srcdir)/__init__.py $(srcdir)/mstresourcedump.py + validationpythonlibdir=$(libdir)/mstflint/python_tools/mstresourcedump/validation +-dist_validationpythonlib_DATA = validation/*.py ++dist_validationpythonlib_DATA = $(srcdir)/validation/*.py + utilspythonlibdir=$(libdir)/mstflint/python_tools/mstresourcedump/utils +-dist_utilspythonlib_DATA = utils/*.py ++dist_utilspythonlib_DATA = $(srcdir)/utils/*.py + segmentspythonlibdir=$(libdir)/mstflint/python_tools/mstresourcedump/segments +-dist_segmentspythonlib_DATA = segments/*.py ++dist_segmentspythonlib_DATA = $(srcdir)/segments/*.py + resourcepythonlibdir=$(libdir)/mstflint/python_tools/mstresourcedump/resource_data +-dist_resourcepythonlib_DATA = resource_data/*.py ++dist_resourcepythonlib_DATA = $(srcdir)/resource_data/*.py + filterspythonlibdir=$(libdir)/mstflint/python_tools/mstresourcedump/filters +-dist_filterspythonlib_DATA = filters/*.py ++dist_filterspythonlib_DATA = $(srcdir)/filters/*.py + fetcherspythonlibdir=$(libdir)/mstflint/python_tools/mstresourcedump/fetchers +-dist_fetcherspythonlib_DATA = fetchers/*.py ++dist_fetcherspythonlib_DATA = $(srcdir)/fetchers/*.py + commandspythonlibdir=$(libdir)/mstflint/python_tools/mstresourcedump/commands +-dist_commandspythonlib_DATA = commands/*.py ++dist_commandspythonlib_DATA =$(srcdir)/commands/*.py + + CLEANFILES=${PYTHON_WRAPPER} +diff --git a/resourcedump/resourcedump_lib/Makefile.am b/resourcedump/resourcedump_lib/Makefile.am +index a2ff8b4..d0cdcdd 100755 +--- a/resourcedump/resourcedump_lib/Makefile.am ++++ b/resourcedump/resourcedump_lib/Makefile.am +@@ -26,17 +26,16 @@ DEV_MGT_DIR = $(top_srcdir)/dev_mgt + TOOLS_CRYPTO_DIR = $(top_srcdir)/tools_crypto + RES_DUMP_DIR= $(top_srcdir)/resourcedump/resourcedump_lib + INFINIBAND_INCLUDE = -isystem /auto/mswg/projects/mft/mft_build/external_libs/mft_ext_libs_inc/libibmad/linux/infiniband_new +-INCLUDES = -I$(top_srcdir) -I$(COMMON_DIR) -I$(REG_ACCESS_DIR) -I$(LAYOUTS_DIR) -I$(MTCR_DIR) $(INFINIBAND_INCLUDE) -I$(MTCR_INC_DIR) ++AM_CPPFLAGS = -I$(top_srcdir) -I$(COMMON_DIR) -I$(REG_ACCESS_DIR) -I$(LAYOUTS_DIR) -I$(MTCR_DIR) $(INFINIBAND_INCLUDE) -I$(MTCR_INC_DIR) + + AM_CXXFLAGS = -Wall -W -MP -H -MD -pipe -DMST_UL -g -std=c++11 $(COMPILER_FPIC) +-AM_CPPFLAGS = $(AM_CXXFLAGS) + CRESOURCEDUMP_SO = cresourcedump.so + lib_LTLIBRARIES = libresourcedump.la + + + libresourcedump_la_SOURCES = resource_dump.c resource_dump.h +-libresourcedump_la_LIBADD = $(MTCR_DIR)/libmtcr_ul.a $(USER_DIR)/reg_access/libreg_access.a \ +- $(DEV_MGT_DIR)/libdev_mgt.a -L$(USER_DIR)/tools_layouts -ltools_layouts ++libresourcedump_la_LIBADD = $(top_builddir)/mtcr_ul/libmtcr_ul.a $(top_builddir)/reg_access/libreg_access.la \ ++ $(top_builddir)/dev_mgt/libdev_mgt.la $(top_builddir)/tools_layouts/libtools_layouts.la + + + resourcedump_pylibdir = $(libdir)/mstflint/python_tools/mstresourcedump/resourcedump_lib/ +@@ -44,8 +43,6 @@ dist_resourcedump_pylib_DATA = cresourcedump.so + + ${CRESOURCEDUMP_SO}: libresourcedump.la + $(CC) -Wall -pthread -fpic -shared ${CFLAGS} resource_dump.o -o ${CRESOURCEDUMP_SO} $(MFT_CORE_LIB_LINK) \ +- -L$(USER_DIR)/reg_access -lreg_access -L$(DEV_MGT_DIR) -ldev_mgt \ +- -L$(MTCR_DIR) -L$(USER_DIR)/tools_layouts -ltools_layouts \ + $(MFT_CORE_LIB_LINK) + + endif +diff --git a/resourceparse/Makefile.am b/resourceparse/Makefile.am +index c7c0a58..9aa2e15 100755 +--- a/resourceparse/Makefile.am ++++ b/resourceparse/Makefile.am +@@ -35,18 +35,18 @@ USER_DIR = $(top_srcdir) + bin_SCRIPTS=mstresourceparse + + PYTHON_WRAPPER=mstresourceparse +-PYTHON_WRAPPER_SCRIPT=$(USER_DIR)/common/python_wrapper ++PYTHON_WRAPPER_SCRIPT=$(top_builddir)/common/python_wrapper + ${PYTHON_WRAPPER}: $(PYTHON_WRAPPER_SCRIPT) + cp $(PYTHON_WRAPPER_SCRIPT) $@ + pythonlibdir=$(libdir)/mstflint/python_tools/mstresourceparse +-dist_pythonlib_DATA = __init__.py mstresourceparse.py ++dist_pythonlib_DATA = $(srcdir)/__init__.py $(srcdir)/mstresourceparse.py + parserspythonlibdir=$(libdir)/mstflint/python_tools/mstresourceparse/parsers +-dist_parserspythonlib_DATA = parsers/*.py ++dist_parserspythonlib_DATA = $(srcdir)/parsers/*.py + utilspythonlibdir=$(libdir)/mstflint/python_tools/mstresourceparse/utils +-dist_utilspythonlib_DATA = utils/*.py ++dist_utilspythonlib_DATA = $(srcdir)/utils/*.py + segmentspythonlibdir=$(libdir)/mstflint/python_tools/mstresourceparse/segments +-dist_segmentspythonlib_DATA = segments/*.py ++dist_segmentspythonlib_DATA = $(srcdir)/segments/*.py + resourcepythonlibdir=$(libdir)/mstflint/python_tools/mstresourceparse/resource_data +-dist_resourcepythonlib_DATA = resource_data/*.py ++dist_resourcepythonlib_DATA = $(srcdir)/resource_data/*.py + + CLEANFILES=${PYTHON_WRAPPER} +diff --git a/small_utils/Makefile.am b/small_utils/Makefile.am +index e713032..10c21c5 100644 +--- a/small_utils/Makefile.am ++++ b/small_utils/Makefile.am +@@ -32,10 +32,10 @@ + + PYTHON_WRAPPER_SCRIPT = ../common/python_wrapper + +-AM_CPPFLAGS= -I$(top_srcdir)/include/mtcr_ul -I$(top_srcdir)/common -I$(top_srcdir)/mvpd $(COMPILER_FPIC) ++AM_CPPFLAGS= -I$(top_srcdir) -I$(top_srcdir)/include/mtcr_ul -I$(top_srcdir)/common -I$(top_srcdir)/mvpd $(COMPILER_FPIC) + AM_CFLAGS= -I$(top_srcdir)/include/mtcr_ul -I$(top_srcdir)/common -I$(top_srcdir)/mvpd $(COMPILER_FPIC) + +-LDADD= $(top_srcdir)/${MTCR_CONF_DIR}/libmtcr_ul.a ${LDL} ++LDADD= $(top_builddir)/${MTCR_CONF_DIR}/libmtcr_ul.a ${LDL} + + bin_PROGRAMS = mstmread \ + mstmwrite \ +@@ -51,20 +51,20 @@ mstmread_SOURCES = mread.c + mstmwrite_SOURCES = mwrite.c + + mstvpd_SOURCES = vpd.c +-mstvpd_LDADD = $(top_srcdir)/mvpd/libmvpd.a \ +- $(top_srcdir)/${MTCR_CONF_DIR}/libmtcr_ul.a \ +- $(top_srcdir)/dev_mgt/libdev_mgt.a \ +- $(top_srcdir)/reg_access/libreg_access.a \ +- $(top_srcdir)/tools_layouts/libtools_layouts.a \ ++mstvpd_LDADD = $(top_builddir)/mvpd/libmvpd.la \ ++ $(top_builddir)/${MTCR_CONF_DIR}/libmtcr_ul.a \ ++ $(top_builddir)/dev_mgt/libdev_mgt.la \ ++ $(top_builddir)/reg_access/libreg_access.la \ ++ $(top_builddir)/tools_layouts/libtools_layouts.la \ + ${LDL} + + mstcongestion_SOURCES = congestion.cpp +-mstcongestion_LDADD = $(top_srcdir)/cmdif/libcmdif.a \ +- $(top_srcdir)/dev_mgt/libdev_mgt.a \ +- $(top_srcdir)/reg_access/libreg_access.a \ +- $(top_srcdir)/tools_layouts/libtools_layouts.a \ +- $(top_srcdir)/cmdparser/libcmdparser.a \ +- $(top_srcdir)/${MTCR_CONF_DIR}/libmtcr_ul.a ${LDL} ++mstcongestion_LDADD = $(top_builddir)/cmdif/libcmdif.la \ ++ $(top_builddir)/dev_mgt/libdev_mgt.la \ ++ $(top_builddir)/reg_access/libreg_access.la \ ++ $(top_builddir)/tools_layouts/libtools_layouts.la \ ++ $(top_builddir)/cmdparser/libcmdparser.a \ ++ $(top_builddir)/${MTCR_CONF_DIR}/libmtcr_ul.a ${LDL} + + mstmcra_SOURCES = mcra.c + +diff --git a/tools_layouts/Makefile.am b/tools_layouts/Makefile.am +index db9216e..63f8cb7 100644 +--- a/tools_layouts/Makefile.am ++++ b/tools_layouts/Makefile.am +@@ -37,13 +37,13 @@ AM_CXXFLAGS = -DDATA_PATH=\"$(pkgdatadir)\" + + SUBDIRS = ${ADABE_DBS} + +-lib_LTLIBRARIES = libtools_layouts.a ++lib_LTLIBRARIES = libtools_layouts.la + + toolslayoutsincludedir = $(includedir)/mstflint/tools_layouts/ + + toolslayoutsinclude_HEADERS = icmd_layouts.h adb_to_c_utils.h + +-libtools_layouts_a_SOURCES = prm_adb_db.cpp prm_adb_db.h \ ++libtools_layouts_la_SOURCES = prm_adb_db.cpp prm_adb_db.h \ + adb_to_c_utils.c adb_to_c_utils.h\ + cibfw_layouts.c cibfw_layouts.h \ + register_access_open_layouts.h register_access_open_layouts.c \ +diff --git a/tools_res_mgmt/Makefile.am b/tools_res_mgmt/Makefile.am +index 6d7ba5d..a586887 100644 +--- a/tools_res_mgmt/Makefile.am ++++ b/tools_res_mgmt/Makefile.am +@@ -34,7 +34,7 @@ + + USER_DIR = $(top_srcdir) + MTCR_DIR = $(USER_DIR)/include/mtcr_ul +-AM_CPPFLAGS = -I. -I../common -I$(MTCR_DIR) -I.. -I$(USER_DIR)/${MTCR_CONF_DIR} ++AM_CPPFLAGS = -I. -I${top_srcdir}/common -I$(MTCR_DIR) -I${top_srcdir} -I$(USER_DIR)/${MTCR_CONF_DIR} + + AM_CFLAGS = -W -Wall -g -MP -MD $(COMPILER_FPIC) + noinst_LIBRARIES = libtools_res_mgmt.a +diff --git a/xz_utils/Makefile.am b/xz_utils/Makefile.am +index 71ba504..6f35b03 100755 +--- a/xz_utils/Makefile.am ++++ b/xz_utils/Makefile.am +@@ -34,12 +34,12 @@ + + USER_DIR = .. + MTCR_DIR = $(USER_DIR)/${MTCR_CONF_DIR} +-INCLUDES = -I. -I$(USER_DIR) -I$(MTCR_DIR) -I$(USER_DIR)/common ++AM_CPPFLAGS = -I. -I$(USER_DIR) -I$(MTCR_DIR) -I$(USER_DIR)/common + AM_CFLAGS = -W -g -MP -MD ${COMPILER_FPIC} +-noinst_LTLIBRARIES = libxz_utils.a +-libxz_utils_a_SOURCES = xz_utils.c xz_utils.h ++noinst_LTLIBRARIES = libxz_utils.la ++libxz_utils_la_SOURCES = xz_utils.c xz_utils.h + +-libxz_utils_a_DEPENDENCIES = +-libxz_utils_a_LIBADD = -llzma ++libxz_utils_la_DEPENDENCIES = ++libxz_utils_la_LIBADD = -llzma + + libraryincludedir=$(includedir)/mstflint/xz_utils/ +-- +2.17.1 + diff --git a/recipes-connectivity/mstflint/files/0002-Remove-EXTERNAL-build-flag.patch b/recipes-connectivity/mstflint/files/0002-Remove-EXTERNAL-build-flag.patch new file mode 100644 index 0000000..e020a4f --- /dev/null +++ b/recipes-connectivity/mstflint/files/0002-Remove-EXTERNAL-build-flag.patch @@ -0,0 +1,38 @@ +From a50b54493e603fe7526b90a94ec9bf82fa92a8e2 Mon Sep 17 00:00:00 2001 +From: Ian Stewart +Date: Fri, 18 Nov 2022 10:43:03 -0700 +Subject: [PATCH 2/2] Remove EXTERNAL build flag + +--- + flint/Makefile.am | 2 +- + mlxlink/Makefile.am | 1 - + 2 files changed, 1 insertion(+), 2 deletions(-) + +diff --git a/flint/Makefile.am b/flint/Makefile.am +index a85e6d9..0e7cebc 100644 +--- a/flint/Makefile.am ++++ b/flint/Makefile.am +@@ -46,7 +46,7 @@ AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) -I$(MTCR_DIR) -I$(MFLASH_DIR) -I$(COMM + -I$(LAYOUTS_DIR) -I$(MFT_UTILS_DIR) -I$(MTCR_INC_DIR) \ + -I$(HSM_CLIENT_LIB)/inc -I$(HSM_CLIENT_LIB)/inc/rsa + +-mstflint_CXXFLAGS = -Wall -W -g -MP -MD -pipe -DEXTERNAL $(COMPILER_FPIC) \ ++mstflint_CXXFLAGS = -Wall -W -g -MP -MD -pipe $(COMPILER_FPIC) \ + -DUNIX -DOS_UNIX -DOS_LINUX ${MTCR_CONF_FLAGS} + bin_PROGRAMS = mstflint + +diff --git a/mlxlink/Makefile.am b/mlxlink/Makefile.am +index 5be037d..f399d47 100644 +--- a/mlxlink/Makefile.am ++++ b/mlxlink/Makefile.am +@@ -51,7 +51,6 @@ AM_CXXFLAGS = -Wall -W -DMST_UL -g -MP -MD -pipe -std=c++11 + + bin_PROGRAMS = mstlink + +-mstlink_CXXFLAGS = -DEXTERNAL + mstlink_SOURCES = mlxlink_main.cpp + + mstlink_DEPENDENCIES = modules/libmodules_lib.a \ +-- +2.17.1 + diff --git a/recipes-connectivity/mstflint/mstflint_4.22.0-1.bb b/recipes-connectivity/mstflint/mstflint_4.22.0-1.bb new file mode 100644 index 0000000..51eb316 --- /dev/null +++ b/recipes-connectivity/mstflint/mstflint_4.22.0-1.bb @@ -0,0 +1,49 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "Mellanox Firmware Burning and Diagnostics Tools" +LICENSE = "GPL-2.0-only & BSD-2-Clause" +LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=79e20039679d6414176a6a04804e40be" + +SRC_URI = "git://github.com/Mellanox/mstflint.git;branch=master;protocol=https" +SRCREV = "b47b67c50d4664f101a12c9e4d960d531fb45a79" + +SRC_URI += " \ + file://0001-Fix-OE-build.patch \ + file://0002-Remove-EXTERNAL-build-flag.patch \ +" + +inherit autotools pkgconfig + +S = "${WORKDIR}/git" + +EXTRA_OECONF = "TOOLS_GIT_SHA=${SRCREV}" +TARGET_CC_ARCH += "${LDFLAGS}" + +do_install:append() { + rm -rf ${D}${libdir}/*.a +} + +DEPENDS = " \ + libibmad5 \ + libibverbs1 \ + openssl \ + zlib \ +" diff --git a/recipes-connectivity/rivermax/rivermax-apps_1.11.11.bb b/recipes-connectivity/rivermax/rivermax-apps_1.20.10.bb similarity index 93% rename from recipes-connectivity/rivermax/rivermax-apps_1.11.11.bb rename to recipes-connectivity/rivermax/rivermax-apps_1.20.10.bb index 8d5e77e..02bc2f1 100644 --- a/recipes-connectivity/rivermax/rivermax-apps_1.11.11.bb +++ b/recipes-connectivity/rivermax/rivermax-apps_1.20.10.bb @@ -21,8 +21,7 @@ SUMMARY = "NVIDIA Rivermax Sample Applications" LICENSE = "CLOSED" -SRC_URI = "file://rivermax_ubuntu2004_1.11.11.tar.gz" -SRCREV = "8dcebfd9e1159eb42abccd918c1e88c1703627d6" +SRC_URI = "file://rivermax_ubuntu2004_1.20.10.tar.gz" inherit cuda @@ -44,7 +43,6 @@ EXTRA_OEMAKE:append = " \ do_install() { install -d ${D}${bindir} install -m 0755 ${S}/generic_sender ${D}${bindir} - install -m 0755 ${S}/generic_receiver ${D}${bindir} } DEPENDS = " \ diff --git a/recipes-connectivity/rivermax/rivermax_13.3.12.11.bb b/recipes-connectivity/rivermax/rivermax_14.1.13.10.bb similarity index 91% rename from recipes-connectivity/rivermax/rivermax_13.3.12.11.bb rename to recipes-connectivity/rivermax/rivermax_14.1.13.10.bb index e236005..aba0db1 100644 --- a/recipes-connectivity/rivermax/rivermax_13.3.12.11.bb +++ b/recipes-connectivity/rivermax/rivermax_14.1.13.10.bb @@ -21,12 +21,11 @@ SUMMARY = "NVIDIA Rivermax" LICENSE = "CLOSED" -SRC_URI = "file://rivermax_ubuntu2004_1.11.11.tar.gz" -SRCREV = "8dcebfd9e1159eb42abccd918c1e88c1703627d6" +SRC_URI = "file://rivermax_ubuntu2004_1.20.10.tar.gz" extract_deb() { cd ${S} - ar -x ${WORKDIR}/1.11.11/Ubuntu.20.04/deb-dist/aarch64/rivermax_${PV}_arm64.deb + ar -x ${WORKDIR}/1.20.10/Ubuntu.20.04/deb-dist/aarch64/rivermax_${PV}_arm64.deb tar xf data.tar.xz rm -rf control.tar.xz data.tar.xz debian debian-binary } diff --git a/recipes-devtools/gxf/files/0001-Fix-parameter_storage-build-error.patch b/recipes-devtools/gxf/files/0001-Fix-parameter_storage-build-error.patch index f37fe88..a715617 100644 --- a/recipes-devtools/gxf/files/0001-Fix-parameter_storage-build-error.patch +++ b/recipes-devtools/gxf/files/0001-Fix-parameter_storage-build-error.patch @@ -1,17 +1,17 @@ -From 8c09a86be2e465bbdbd678bb988483a855591478 Mon Sep 17 00:00:00 2001 +From aebff6915741a4ca5d88fedc002fae11f70150be Mon Sep 17 00:00:00 2001 From: Ian Stewart Date: Tue, 29 Mar 2022 11:43:01 -0600 -Subject: [PATCH] Fix parameter_storage build error +Subject: [PATCH 1/6] Fix parameter_storage build error --- gxf/std/parameter_storage.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/gxf/std/parameter_storage.hpp b/gxf/std/parameter_storage.hpp -index 8ec1c3c0..4256b9cf 100644 +index 8716e88..689792b 100644 --- a/gxf/std/parameter_storage.hpp +++ b/gxf/std/parameter_storage.hpp -@@ -21,6 +21,7 @@ limitations under the License. +@@ -22,6 +22,7 @@ #include // NOLINT #include #include diff --git a/recipes-devtools/gxf/files/0002-Remove-TypenameAsString-from-nvidia-namespace.patch b/recipes-devtools/gxf/files/0002-Remove-TypenameAsString-from-nvidia-namespace.patch index 9dbd46b..a7748ed 100644 --- a/recipes-devtools/gxf/files/0002-Remove-TypenameAsString-from-nvidia-namespace.patch +++ b/recipes-devtools/gxf/files/0002-Remove-TypenameAsString-from-nvidia-namespace.patch @@ -1,17 +1,17 @@ -From fcdc0000d586302e9db8bdbd6f8bed0c6522b4ba Mon Sep 17 00:00:00 2001 +From c16d0742a6d9f7631d8b459a5c9a6890b2115282 Mon Sep 17 00:00:00 2001 From: Ian Stewart Date: Wed, 31 Aug 2022 09:23:38 -0600 -Subject: [PATCH 2/2] Remove TypenameAsString from nvidia namespace +Subject: [PATCH 2/6] Remove TypenameAsString from nvidia namespace --- common/type_name.hpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/common/type_name.hpp b/common/type_name.hpp -index 17d0713..a535feb 100644 +index 49b3f7f..94e0b63 100644 --- a/common/type_name.hpp +++ b/common/type_name.hpp -@@ -26,8 +26,6 @@ limitations under the License. +@@ -27,8 +27,6 @@ // Not yet implemented #endif @@ -20,7 +20,7 @@ index 17d0713..a535feb 100644 // Gives a string representation of the name of a C++ type. // // The function will compute the typename during the first invocation and store it in heap memory. -@@ -51,11 +49,9 @@ const char* TypenameAsString() { +@@ -52,11 +50,9 @@ const char* TypenameAsString() { static char s_name[kMaxNameLength] = {0}; // Initialize with 0 to get a null-terminated string. static char* result = s_name; if (s_name[0] == 0 && result != nullptr) { // Check for first invokation of this function. diff --git a/recipes-devtools/gxf/files/0003-Fix-std-iterator-deprecation.patch b/recipes-devtools/gxf/files/0003-Fix-std-iterator-deprecation.patch new file mode 100644 index 0000000..8eb9113 --- /dev/null +++ b/recipes-devtools/gxf/files/0003-Fix-std-iterator-deprecation.patch @@ -0,0 +1,71 @@ +From 017e0a561a122fea82c7dfe746aa63faff828f93 Mon Sep 17 00:00:00 2001 +From: Ian Stewart +Date: Wed, 16 Nov 2022 13:03:26 -0700 +Subject: [PATCH 3/6] Fix std::iterator deprecation + +--- + common/iterator.hpp | 21 ++++++++++++++------- + 1 file changed, 14 insertions(+), 7 deletions(-) + +diff --git a/common/iterator.hpp b/common/iterator.hpp +index d1e3d80..b0ade7b 100644 +--- a/common/iterator.hpp ++++ b/common/iterator.hpp +@@ -44,13 +44,19 @@ template constexpr bool HasSize_v = HasSize::value; + /// if the iterator reaches the end/beginning of the container. Element access is wrapped in + /// an `Expected` to prevent dereferencing invalid memory. + template +-class RandomAccessIterator : public std::iterator { ++class RandomAccessIterator { + static_assert(detail::HasData_v, "TContainer must have data()"); + static_assert(detail::HasSize_v, "TContainer must have size()"); + static_assert(IsIntegral_v().size())>, + "size() must return an integral type"); + + public: ++ using iterator_category = std::random_access_iterator_tag; ++ using value_type = TValue; ++ using difference_type = std::ptrdiff_t; ++ using pointer = TValue*; ++ using reference = TValue&; ++ + enum struct Error { + kArgumentOutOfRange, + kInvalidIterator, +@@ -59,8 +65,6 @@ class RandomAccessIterator : public std::iterator + using Expected = Expected; + +- using typename std::iterator::difference_type; +- + constexpr RandomAccessIterator() : container_{nullptr}, index_{-1} {} + constexpr RandomAccessIterator(TContainer& container, size_t start) + : container_{&container}, index_{0} { +@@ -159,17 +163,20 @@ using ConstRandomAccessIterator = RandomAccessIterator +-class ReverseIterator +- : public std::iterator { ++class ReverseIterator { + public: + using TValue = typename TIterator::value_type; + using Error = typename TIterator::Error; + ++ using iterator_category = std::random_access_iterator_tag; ++ using value_type = typename TIterator::value_type; ++ using difference_type = typename TIterator::difference_type;; ++ using pointer = typename TIterator::pointer; ++ using reference = typename TIterator::reference; ++ + template + using Expected = Expected; + +- using difference_type = typename TIterator::difference_type; +- + constexpr explicit ReverseIterator() : iter_{} {} + constexpr explicit ReverseIterator(TIterator iter) : iter_{iter} {} + +-- +2.17.1 + diff --git a/recipes-devtools/gxf/files/0004-Fix-unused-parameters.patch b/recipes-devtools/gxf/files/0004-Fix-unused-parameters.patch new file mode 100644 index 0000000..3c27ef8 --- /dev/null +++ b/recipes-devtools/gxf/files/0004-Fix-unused-parameters.patch @@ -0,0 +1,80 @@ +From 889d91247a132f97a370e48623f57648b151b712 Mon Sep 17 00:00:00 2001 +From: Ian Stewart +Date: Wed, 16 Nov 2022 13:14:45 -0700 +Subject: [PATCH 4/6] Fix unused parameters + +--- + gxf/std/parameter_parser.hpp | 12 ++++++------ + gxf/std/parameter_wrapper.hpp | 2 +- + gxf/std/scheduling_term.hpp | 2 +- + 3 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/gxf/std/parameter_parser.hpp b/gxf/std/parameter_parser.hpp +index cecb0c5..ee7bb38 100644 +--- a/gxf/std/parameter_parser.hpp ++++ b/gxf/std/parameter_parser.hpp +@@ -57,9 +57,9 @@ struct ParameterParser { + // though it might contain sub children. + template <> + struct ParameterParser { +- static Expected Parse(gxf_context_t context, gxf_uid_t component_uid, ++ static Expected Parse(gxf_context_t /*context*/, gxf_uid_t /*component_uid*/, + const char* key, const YAML::Node& node, +- const std::string& prefix) { ++ const std::string& /*prefix*/) { + try { + std::stringstream ss; + ss << node; +@@ -83,9 +83,9 @@ struct FilePath : public std::string { + + template <> + struct ParameterParser { +- static Expected Parse(gxf_context_t context, gxf_uid_t component_uid, ++ static Expected Parse(gxf_context_t /*context*/, gxf_uid_t /*component_uid*/, + const char* key, const YAML::Node& node, +- const std::string& prefix) { ++ const std::string& /*prefix*/) { + try { + FilePath path; + std::stringstream ss; +@@ -104,9 +104,9 @@ struct ParameterParser { + // Specialization of ParameterParser for uint8_t because it is not supported natively by yaml-cpp + template <> + struct ParameterParser { +- static Expected Parse(gxf_context_t context, gxf_uid_t component_uid, ++ static Expected Parse(gxf_context_t /*context*/, gxf_uid_t /*component_uid*/, + const char* key, const YAML::Node& node, +- const std::string& prefix) { ++ const std::string& /*prefix*/) { + try { + return static_cast(node.as()); + } catch (...) { +diff --git a/gxf/std/parameter_wrapper.hpp b/gxf/std/parameter_wrapper.hpp +index c019bdf..7cd637d 100644 +--- a/gxf/std/parameter_wrapper.hpp ++++ b/gxf/std/parameter_wrapper.hpp +@@ -33,7 +33,7 @@ struct ParameterWrapper; + template + struct ParameterWrapper { + // Wrap the value to a YAML::Node instance +- static Expected Wrap(gxf_context_t context, const T& value) { ++ static Expected Wrap(gxf_context_t /*context*/, const T& value) { + return YAML::Node(value); + } + }; +diff --git a/gxf/std/scheduling_term.hpp b/gxf/std/scheduling_term.hpp +index 7078c61..7860a64 100644 +--- a/gxf/std/scheduling_term.hpp ++++ b/gxf/std/scheduling_term.hpp +@@ -40,7 +40,7 @@ class SchedulingTerm : public Component { + virtual gxf_result_t onExecute_abi(int64_t dt) = 0; + + // Checks if the state of the scheduling term can be updated and updates it +- virtual gxf_result_t update_state_abi(int64_t timestamp) { return GXF_SUCCESS; } ++ virtual gxf_result_t update_state_abi(int64_t /*timestamp*/) { return GXF_SUCCESS; } + + Expected check(int64_t timestamp) { + SchedulingConditionType status; +-- +2.17.1 + diff --git a/recipes-devtools/gxf/files/0005-Fix-GxfEntityCreateInfo-initializer.patch b/recipes-devtools/gxf/files/0005-Fix-GxfEntityCreateInfo-initializer.patch new file mode 100644 index 0000000..da0d407 --- /dev/null +++ b/recipes-devtools/gxf/files/0005-Fix-GxfEntityCreateInfo-initializer.patch @@ -0,0 +1,25 @@ +From e14204d0616ea2cd887414d937feee6dcc3012b7 Mon Sep 17 00:00:00 2001 +From: Ian Stewart +Date: Wed, 16 Nov 2022 13:36:46 -0700 +Subject: [PATCH 5/6] Fix GxfEntityCreateInfo initializer + +--- + gxf/core/entity.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gxf/core/entity.hpp b/gxf/core/entity.hpp +index d326f00..ac24c7b 100644 +--- a/gxf/core/entity.hpp ++++ b/gxf/core/entity.hpp +@@ -37,7 +37,7 @@ class Entity { + // Creates a new entity + static Expected New(gxf_context_t context) { + gxf_uid_t eid; +- const GxfEntityCreateInfo info = {0}; ++ const GxfEntityCreateInfo info = {0, 0}; + const gxf_result_t code = GxfCreateEntity(context, &info, &eid); + if (code != GXF_SUCCESS) { + return Unexpected{code}; +-- +2.17.1 + diff --git a/recipes-devtools/gxf/files/0006-Remove-complex-primitives-support.patch b/recipes-devtools/gxf/files/0006-Remove-complex-primitives-support.patch new file mode 100644 index 0000000..0840c6c --- /dev/null +++ b/recipes-devtools/gxf/files/0006-Remove-complex-primitives-support.patch @@ -0,0 +1,42 @@ +From 648f10b0fec32ba3bed8c1c847e5af8ec2204a99 Mon Sep 17 00:00:00 2001 +From: Ian Stewart +Date: Wed, 16 Nov 2022 13:04:33 -0700 +Subject: [PATCH 6/6] Remove complex primitives support + +--- + gxf/std/tensor.hpp | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/gxf/std/tensor.hpp b/gxf/std/tensor.hpp +index 7146f20..7b72998 100644 +--- a/gxf/std/tensor.hpp ++++ b/gxf/std/tensor.hpp +@@ -27,7 +27,6 @@ + #include "gxf/core/component.hpp" + #include "gxf/core/expected.hpp" + #include "gxf/std/allocator.hpp" +-#include "gxf/std/complex.hpp" + #include "gxf/std/memory_buffer.hpp" + + namespace nvidia { +@@ -46,8 +45,6 @@ enum class PrimitiveType { + kUnsigned64, + kFloat32, + kFloat64, +- kComplex64, +- kComplex128, + }; + + // Returns the size of each element of specific PrimitiveType as number of bytes. +@@ -73,8 +70,6 @@ GXF_PRIMITIVE_TYPE_TRAITS(int64_t, kInt64); + GXF_PRIMITIVE_TYPE_TRAITS(uint64_t, kUnsigned64); + GXF_PRIMITIVE_TYPE_TRAITS(float, kFloat32); + GXF_PRIMITIVE_TYPE_TRAITS(double, kFloat64); +-GXF_PRIMITIVE_TYPE_TRAITS(complex64, kComplex64); +-GXF_PRIMITIVE_TYPE_TRAITS(complex128, kComplex128); + + // Type to hold the shape of a tensor + class Shape { +-- +2.17.1 + diff --git a/recipes-devtools/gxf/gxf-core_2.4.3.bb b/recipes-devtools/gxf/gxf-core_2.5.0.bb similarity index 81% rename from recipes-devtools/gxf/gxf-core_2.4.3.bb rename to recipes-devtools/gxf/gxf-core_2.5.0.bb index 329139e..17d7d07 100644 --- a/recipes-devtools/gxf/gxf-core_2.4.3.bb +++ b/recipes-devtools/gxf/gxf-core_2.5.0.bb @@ -29,11 +29,15 @@ def gxf_pkg_arch(d): return 'arm64' if arch == 'aarch64' else arch GXF_ARCH = "${@gxf_pkg_arch(d)}" -GXF_PACKAGE = "gxf_2.4.3_20220811_6ff6ffd4_holoscan-sdk_${GXF_ARCH}" +GXF_PACKAGE = "gxf_22.11_20221116_8fbe43cb_holoscan-sdk_${GXF_ARCH}" SRC_URI = " \ file://${GXF_PACKAGE}.tar.gz \ file://0001-Fix-parameter_storage-build-error.patch \ file://0002-Remove-TypenameAsString-from-nvidia-namespace.patch \ + file://0003-Fix-std-iterator-deprecation.patch \ + file://0004-Fix-unused-parameters.patch \ + file://0005-Fix-GxfEntityCreateInfo-initializer.patch \ + file://0006-Remove-complex-primitives-support.patch \ " S = "${WORKDIR}/${GXF_PACKAGE}" @@ -44,6 +48,10 @@ do_install () { cp -rd --no-preserve=ownership ${S}/gxf ${D}/opt/nvidia/gxf cp -rd --no-preserve=ownership ${S}/${GXF_ARCH} ${D}/opt/nvidia/gxf find ${D}/opt/nvidia/gxf -regex "\(.*pybind.so\)\|\(.*python_codelet\)" | xargs rm -rf + + # Remove currently unused libraries that use unavailable dependencies. + rm ${D}/opt/nvidia/gxf/${GXF_ARCH}/stream/libgxf_stream.so + rm ${D}/opt/nvidia/gxf/${GXF_ARCH}/stream/libgxf_test_stream_sync_cuda.so } FILES:${PN} += " \ @@ -62,6 +70,7 @@ SYSROOT_DIRS = " \ DEPENDS = " \ tensorrt-core \ tensorrt-plugins \ + cuda-nvtx \ " RDEPENDS:${PN} += " \ diff --git a/recipes-devtools/holoscan/files/0001-Add-Wno-deprecated-declarations-build-flag.patch b/recipes-devtools/holoscan/files/0001-Add-Wno-deprecated-declarations-build-flag.patch deleted file mode 100644 index 0777a05..0000000 --- a/recipes-devtools/holoscan/files/0001-Add-Wno-deprecated-declarations-build-flag.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ba0f3015a28dec4e4b519045ee36b9f80b0b5dff Mon Sep 17 00:00:00 2001 -From: Ian Stewart -Date: Wed, 21 Sep 2022 13:40:28 -0600 -Subject: [PATCH 1/5] Add -Wno-deprecated-declarations build flag - -Needed to ignore iterator deprecation errors. ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 45a61f1..c3b30a3 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -233,7 +233,7 @@ target_compile_features(${HOLOSCAN_PACKAGE_NAME} PRIVATE ${HOLOSCAN_REQUIRED_FEA - # Use generator expression to avoid `nvcc fatal : Value '-std=c++17' is not defined for option 'Werror'` - target_compile_options(${HOLOSCAN_PACKAGE_NAME} - PRIVATE -- $<$:-Werror -Wall -Wextra> -+ $<$:-Werror -Wall -Wextra -Wno-deprecated-declarations> - ) - - # Link libraries --- -2.17.1 - diff --git a/recipes-devtools/holoscan/files/0001-Fix-GXF-TypenameAsString-error.patch b/recipes-devtools/holoscan/files/0001-Fix-GXF-TypenameAsString-error.patch new file mode 100644 index 0000000..f72ebff --- /dev/null +++ b/recipes-devtools/holoscan/files/0001-Fix-GXF-TypenameAsString-error.patch @@ -0,0 +1,43 @@ +From f9ecc49904219eb58c6e0672cf0e939013ebba2c Mon Sep 17 00:00:00 2001 +From: Ian Stewart +Date: Mon, 19 Dec 2022 18:44:32 -0700 +Subject: [PATCH] Fix GXF TypenameAsString error + +--- + include/holoscan/core/gxf/entity.hpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/include/holoscan/core/gxf/entity.hpp b/include/holoscan/core/gxf/entity.hpp +index 7f1a651..912d4d7 100644 +--- a/include/holoscan/core/gxf/entity.hpp ++++ b/include/holoscan/core/gxf/entity.hpp +@@ -63,7 +63,7 @@ class Entity : public nvidia::gxf::Entity { + // We first try to get holoscan::gxf::GXFTensor from GXF Entity. + gxf_tid_t tid; + auto tid_result = +- GxfComponentTypeId(context(), nvidia::TypenameAsString(), &tid); ++ GxfComponentTypeId(context(), TypenameAsString(), &tid); + if (tid_result != GXF_SUCCESS) { + HOLOSCAN_LOG_ERROR("Unable to get component type id: {}", tid_result); + return nullptr; +@@ -74,7 +74,7 @@ class Entity : public nvidia::gxf::Entity { + if (cid_result != GXF_SUCCESS) { + // Then, we try to get nvidia::gxf::Tensor from GXF Entity. + tid_result = +- GxfComponentTypeId(context(), nvidia::TypenameAsString(), &tid); ++ GxfComponentTypeId(context(), TypenameAsString(), &tid); + if (tid_result != GXF_SUCCESS) { + HOLOSCAN_LOG_ERROR( + "Unable to get component type id from 'nvidia::gxf::Tensor' (error code: {})", +@@ -115,7 +115,7 @@ class Entity : public nvidia::gxf::Entity { + void add(std::shared_ptr& data, const char* name = nullptr) { + gxf_tid_t tid; + const auto tid_result = +- GxfComponentTypeId(context(), nvidia::TypenameAsString(), &tid); ++ GxfComponentTypeId(context(), TypenameAsString(), &tid); + if (tid_result != GXF_SUCCESS) { + throw std::runtime_error(fmt::format( + "Unable to get component type id from 'holoscan::gxf::GXFTensor' (error code: {})", +-- +2.17.1 + diff --git a/recipes-devtools/holoscan/files/0002-Fix-HOLOSCAN_LOG_ERROR-issue-with-YAML-Node.patch b/recipes-devtools/holoscan/files/0002-Fix-HOLOSCAN_LOG_ERROR-issue-with-YAML-Node.patch deleted file mode 100644 index a0ef331..0000000 --- a/recipes-devtools/holoscan/files/0002-Fix-HOLOSCAN_LOG_ERROR-issue-with-YAML-Node.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 3d28aef3751f9b2e81a3b0b7fcba44a1042365ba Mon Sep 17 00:00:00 2001 -From: Ian Stewart -Date: Thu, 22 Sep 2022 12:54:37 -0600 -Subject: [PATCH 2/5] Fix HOLOSCAN_LOG_ERROR issue with YAML::Node - ---- - include/holoscan/utils/yaml_parser.hpp | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/include/holoscan/utils/yaml_parser.hpp b/include/holoscan/utils/yaml_parser.hpp -index bea9f6a..babf775 100644 ---- a/include/holoscan/utils/yaml_parser.hpp -+++ b/include/holoscan/utils/yaml_parser.hpp -@@ -63,7 +63,9 @@ template - struct YAMLNodeParser> { - static std::vector parse(const YAML::Node& node) { - if (!node.IsSequence()) { -- HOLOSCAN_LOG_ERROR("Unable to parse YAML node: '{}'. It is not a sequence.", node); -+ std::stringstream ss; -+ ss << node; -+ HOLOSCAN_LOG_ERROR("Unable to parse YAML node: '{}'. It is not a sequence.", ss.str()); - return std::vector(); - } - std::vector result(node.size()); -@@ -80,12 +82,16 @@ template - struct YAMLNodeParser> { - static std::array parse(const YAML::Node& node) { - if (!node.IsSequence()) { -- HOLOSCAN_LOG_ERROR("Unable to parse YAML node: '{}'. It is not a sequence.", node); -+ std::stringstream ss; -+ ss << node; -+ HOLOSCAN_LOG_ERROR("Unable to parse YAML node: '{}'. It is not a sequence.", ss.str()); - return std::array(); - } - if (node.size() != N) { -+ std::stringstream ss; -+ ss << node; - HOLOSCAN_LOG_ERROR( -- "Unable to parse YAML node: '{}'. It is not a sequence of size {}.", node, N); -+ "Unable to parse YAML node: '{}'. It is not a sequence of size {}.", ss.str(), N); - return std::array(); - } - std::array result; --- -2.17.1 - diff --git a/recipes-devtools/holoscan/files/0003-Add-install-rules-for-ping_tx-rx-libraries.patch b/recipes-devtools/holoscan/files/0003-Add-install-rules-for-ping_tx-rx-libraries.patch deleted file mode 100644 index 378fcff..0000000 --- a/recipes-devtools/holoscan/files/0003-Add-install-rules-for-ping_tx-rx-libraries.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 36c3b6e61b0980242637f09ea7f1fafe6ba6e797 Mon Sep 17 00:00:00 2001 -From: Ian Stewart -Date: Wed, 21 Sep 2022 14:58:12 -0600 -Subject: [PATCH 3/5] Add install rules for ping_tx/rx libraries - -These libraries do not end with '_lib' and so aren't -handled properly by create_gxe_application. ---- - gxf_extensions/sample/CMakeLists.txt | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/gxf_extensions/sample/CMakeLists.txt b/gxf_extensions/sample/CMakeLists.txt -index 6be27b6..04338c8 100644 ---- a/gxf_extensions/sample/CMakeLists.txt -+++ b/gxf_extensions/sample/CMakeLists.txt -@@ -22,6 +22,7 @@ target_link_libraries(ping_tx - GXF::std - yaml-cpp - ) -+install(TARGETS ping_tx) - - # Create library - add_library(ping_rx SHARED -@@ -33,6 +34,7 @@ target_link_libraries(ping_rx - GXF::std - yaml-cpp - ) -+install(TARGETS ping_rx) - - # Create extension - add_library(holoscan_sample SHARED --- -2.17.1 - diff --git a/recipes-devtools/holoscan/files/0004-Holoviz-add-stdexcept-includes.patch b/recipes-devtools/holoscan/files/0004-Holoviz-add-stdexcept-includes.patch deleted file mode 100644 index 5155537..0000000 --- a/recipes-devtools/holoscan/files/0004-Holoviz-add-stdexcept-includes.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 0d098efb781a17f03788036e8474f7d6f1dac38c Mon Sep 17 00:00:00 2001 -From: Ian Stewart -Date: Wed, 21 Sep 2022 13:43:43 -0600 -Subject: [PATCH 4/5] Holoviz: add stdexcept includes - ---- - modules/holoviz/examples/demo/Main.cpp | 1 + - modules/holoviz/src/Context.cpp | 1 + - modules/holoviz/src/ExclusiveWindow.cpp | 3 ++- - modules/holoviz/src/GLFWWindow.cpp | 3 ++- - modules/holoviz/src/layers/GeometryLayer.cpp | 1 + - modules/holoviz/src/layers/ImageLayer.cpp | 1 + - modules/holoviz/src/vulkan/Vulkan.cpp | 1 + - 7 files changed, 9 insertions(+), 2 deletions(-) - -diff --git a/modules/holoviz/examples/demo/Main.cpp b/modules/holoviz/examples/demo/Main.cpp -index 25cbe4e..c61c400 100644 ---- a/modules/holoviz/examples/demo/Main.cpp -+++ b/modules/holoviz/examples/demo/Main.cpp -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - - #include - -diff --git a/modules/holoviz/src/Context.cpp b/modules/holoviz/src/Context.cpp -index a7343c5..5cd5084 100644 ---- a/modules/holoviz/src/Context.cpp -+++ b/modules/holoviz/src/Context.cpp -@@ -29,6 +29,7 @@ - #include - - #include -+#include - - namespace clara::holoviz - { -diff --git a/modules/holoviz/src/ExclusiveWindow.cpp b/modules/holoviz/src/ExclusiveWindow.cpp -index 040101e..5738386 100644 ---- a/modules/holoviz/src/ExclusiveWindow.cpp -+++ b/modules/holoviz/src/ExclusiveWindow.cpp -@@ -27,6 +27,7 @@ - - #include - #include -+#include - #include - - namespace clara::holoviz -@@ -272,4 +273,4 @@ void ExclusiveWindow::Begin() {} - - void ExclusiveWindow::End() {} - --} // namespace clara::holoviz -\ No newline at end of file -+} // namespace clara::holoviz -diff --git a/modules/holoviz/src/GLFWWindow.cpp b/modules/holoviz/src/GLFWWindow.cpp -index b151c9d..9f74a6b 100644 ---- a/modules/holoviz/src/GLFWWindow.cpp -+++ b/modules/holoviz/src/GLFWWindow.cpp -@@ -26,6 +26,7 @@ - #include - - #include -+#include - #include - - namespace clara::holoviz -@@ -170,4 +171,4 @@ void GLFWWindow::Begin() - - void GLFWWindow::End() {} - --} // namespace clara::holoviz -\ No newline at end of file -+} // namespace clara::holoviz -diff --git a/modules/holoviz/src/layers/GeometryLayer.cpp b/modules/holoviz/src/layers/GeometryLayer.cpp -index 21f7630..71b5259 100644 ---- a/modules/holoviz/src/layers/GeometryLayer.cpp -+++ b/modules/holoviz/src/layers/GeometryLayer.cpp -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - #include - #include - -diff --git a/modules/holoviz/src/layers/ImageLayer.cpp b/modules/holoviz/src/layers/ImageLayer.cpp -index 8ddfb10..c26f5a4 100644 ---- a/modules/holoviz/src/layers/ImageLayer.cpp -+++ b/modules/holoviz/src/layers/ImageLayer.cpp -@@ -21,6 +21,7 @@ - - #include - -+#include - #include - - namespace clara::holoviz -diff --git a/modules/holoviz/src/vulkan/Vulkan.cpp b/modules/holoviz/src/vulkan/Vulkan.cpp -index ccdd64d..1c980ad 100644 ---- a/modules/holoviz/src/vulkan/Vulkan.cpp -+++ b/modules/holoviz/src/vulkan/Vulkan.cpp -@@ -45,6 +45,7 @@ - - #include - #include -+#include - #include - - #include --- -2.17.1 - diff --git a/recipes-devtools/holoscan/files/0005-Remove-Findajantv2.cmake-from-install-list.patch b/recipes-devtools/holoscan/files/0005-Remove-Findajantv2.cmake-from-install-list.patch deleted file mode 100644 index 899483b..0000000 --- a/recipes-devtools/holoscan/files/0005-Remove-Findajantv2.cmake-from-install-list.patch +++ /dev/null @@ -1,24 +0,0 @@ -From ecee0af64318e5e7f5eb9470e5c7dfe7ad57288b Mon Sep 17 00:00:00 2001 -From: Ian Stewart -Date: Wed, 21 Sep 2022 13:59:40 -0600 -Subject: [PATCH 5/5] Remove Findajantv2.cmake from install list - ---- - CMakeLists.txt | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c3b30a3..4c1b146 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -296,7 +296,6 @@ install(FILES ${${HOLOSCAN_PACKAGE_NAME}_BINARY_DIR}/include/holoscan/version_co - - # Copy FindXXX files generated by CPM - install(FILES -- ${${HOLOSCAN_PACKAGE_NAME}_BINARY_DIR}/CPM_modules/Findajantv2.cmake - ${${HOLOSCAN_PACKAGE_NAME}_BINARY_DIR}/CPM_modules/Findfmt.cmake - ${${HOLOSCAN_PACKAGE_NAME}_BINARY_DIR}/CPM_modules/FindGLAD.cmake - ${${HOLOSCAN_PACKAGE_NAME}_BINARY_DIR}/CPM_modules/FindGLFW.cmake --- -2.17.1 - diff --git a/recipes-devtools/holoscan/holoscan-sdk_0.3.0.bb b/recipes-devtools/holoscan/holoscan-sdk_0.4.0.bb similarity index 63% rename from recipes-devtools/holoscan/holoscan-sdk_0.3.0.bb rename to recipes-devtools/holoscan/holoscan-sdk_0.4.0.bb index 2f2e164..6629f7e 100644 --- a/recipes-devtools/holoscan/holoscan-sdk_0.3.0.bb +++ b/recipes-devtools/holoscan/holoscan-sdk_0.4.0.bb @@ -25,17 +25,14 @@ LIC_FILES_CHKSUM = "file://${S}/LICENSE.txt;md5=a71310eff4bf2b4be70c50985bd81d85 PACKAGES = "${PN}" -SRC_URI = "git://github.com/NVIDIA/clara-holoscan-embedded-sdk.git;branch=main;protocol=https" -SRCREV = "5caf9680aa2b82ae90306d949789324b6bc0a45a" +SRC_URI = "git://github.com/nvidia-holoscan/holoscan-sdk.git;branch=main;protocol=https" +SRCREV = "9acd7a263a6a95cfce514bd2b6595bc6c4eb2282" SRC_URI += " \ - file://0001-Add-Wno-deprecated-declarations-build-flag.patch \ - file://0002-Fix-HOLOSCAN_LOG_ERROR-issue-with-YAML-Node.patch \ - file://0003-Add-install-rules-for-ping_tx-rx-libraries.patch \ - file://0004-Holoviz-add-stdexcept-includes.patch \ - file://0005-Remove-Findajantv2.cmake-from-install-list.patch \ - file://holoscan_endoscopy_data.zip;subdir=test_data/endoscopy \ - file://holoscan_ultrasound_data.zip;subdir=test_data/ultrasound \ + file://0001-Fix-GXF-TypenameAsString-error.patch \ + file://holoscan_endoscopy_data_20221121.zip;subdir=test_data/endoscopy \ + file://holoscan_ultrasound_data_20220608.zip;subdir=test_data/ultrasound \ + file://holoscan_multi_ai_ultrasound_data_20221201.zip;subdir=test_data/multiai_ultrasound \ " S = "${WORKDIR}/git" @@ -47,8 +44,9 @@ inherit pkgconfig cmake cuda do_configure[network] = "1" do_compile[network] = "1" -# Note: This install path needs to match hardcoded paths used in the Holoscan application graphs. +# Note: These install and data paths needs to match hardcoded paths used in the Holoscan application graphs. HOLOSCAN_INSTALL_PATH = "/workspace" +HOLOSCAN_DATA_PATH = "/data" export VULKAN_SDK="${RECIPE_SYSROOT}${prefix}" @@ -79,6 +77,11 @@ EXTRA_OECMAKE:append = " \ -DHOLOSCAN_USE_CCACHE=OFF \ " +# Disable building python bindings. +EXTRA_OECMAKE:append = " \ + -DHOLOSCAN_BUILD_PYTHON=OFF \ +" + # Set a flag used by the tl-expected library to avoid build errors. EXTRA_OECMAKE:append = " \ -DEXPECTED_ENABLE_TESTS=OFF \ @@ -99,6 +102,9 @@ DEPENDS += " \ shaderc \ glslang-native \ libxxf86vm \ + patchelf-native \ + libcublas-native \ + onnxruntime \ " RDEPENDS:${PN} = " \ @@ -106,26 +112,33 @@ RDEPENDS:${PN} = " \ glfw \ " -do_install:append () { +do_component_install() { + bbnote ${CMAKE_VERBOSE} cmake --install '${B}' --prefix '${D}${HOLOSCAN_INSTALL_PATH}' --component "$@" + eval ${CMAKE_VERBOSE} cmake --install '${B}' --prefix '${D}${HOLOSCAN_INSTALL_PATH}' --component "$@" +} + +do_install() { + # Install the required components. + do_component_install holoscan-core + do_component_install holoscan-gxf_extensions + do_component_install holoscan-apps + do_component_install holoscan-gxf_libs + do_component_install holoscan-gxf_bins + do_component_install holoscan-modules + # Install test data (and remove incompatible engine files). - install -d ${D}/${HOLOSCAN_INSTALL_PATH} - cp -rd --no-preserve=ownership ${WORKDIR}/test_data ${D}/${HOLOSCAN_INSTALL_PATH} - rm ${D}/${HOLOSCAN_INSTALL_PATH}/test_data/endoscopy/model/tool_loc_convlstm_engines/* - rm ${D}/${HOLOSCAN_INSTALL_PATH}/test_data/ultrasound/model/us_unet_256x256_nhwc_engines/* + cp -rd --no-preserve=ownership ${WORKDIR}/test_data ${D}/${HOLOSCAN_DATA_PATH} + mkdir -p ${D}/${HOLOSCAN_DATA_PATH}/endoscopy/model/tool_loc_convlstm_engines + mkdir -p ${D}/${HOLOSCAN_DATA_PATH}/ultrasound/model/us_unet_256x256_nhwc_engines + rm -f ${D}/${HOLOSCAN_DATA_PATH}/endoscopy/model/tool_loc_convlstm_engines/* + rm -f ${D}/${HOLOSCAN_DATA_PATH}/ultrasound/model/us_unet_256x256_nhwc_engines/* + rm -f ${D}/${HOLOSCAN_DATA_PATH}/multiai_ultrasound/models/*.engine.* # Remove unneeded files. - rm -rf ${D}/${HOLOSCAN_INSTALL_PATH}/cmake + rm -rf $(find ${D}/${HOLOSCAN_INSTALL_PATH}/apps -name python) + rm -rf ${D}/${HOLOSCAN_INSTALL_PATH}/lib/cmake + rm -rf ${D}/${HOLOSCAN_INSTALL_PATH}/examples rm -rf ${D}/${HOLOSCAN_INSTALL_PATH}/include - rm -rf ${D}/${HOLOSCAN_INSTALL_PATH}/src - rm -rf ${D}/${HOLOSCAN_INSTALL_PATH}/share - rm ${D}/${HOLOSCAN_INSTALL_PATH}/lib/libglfw* - - # Add library links to system library path. - install -d ${D}${libdir} - for i in ${D}/${HOLOSCAN_INSTALL_PATH}/lib/*.so ${D}/${HOLOSCAN_INSTALL_PATH}/lib/*.so.*; do - # Note that the destination path is relative to the symlink location, hence no ${D}. - ln -s ${HOLOSCAN_INSTALL_PATH}/lib/$(basename $i) ${D}${libdir} - done } FILES:${PN} += " \ @@ -133,10 +146,9 @@ FILES:${PN} += " \ ${HOLOSCAN_INSTALL_PATH}/bin \ ${HOLOSCAN_INSTALL_PATH}/gxf_extensions \ ${HOLOSCAN_INSTALL_PATH}/lib \ - ${HOLOSCAN_INSTALL_PATH}/test_data \ - ${libdir} \ + ${HOLOSCAN_DATA_PATH} \ " INHIBIT_PACKAGE_DEBUG_SPLIT = "1" INHIBIT_PACKAGE_STRIP = "1" -INSANE_SKIP:${PN} += "dev-so textrel staticdev" +INSANE_SKIP:${PN} += "dev-so textrel staticdev useless-rpaths" diff --git a/recipes-devtools/onnxruntime/onnxruntime_1.12.1.bb b/recipes-devtools/onnxruntime/onnxruntime_1.12.1.bb new file mode 100644 index 0000000..0eda240 --- /dev/null +++ b/recipes-devtools/onnxruntime/onnxruntime_1.12.1.bb @@ -0,0 +1,54 @@ +# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +SUMMARY = "ONNX Runtime Prebuilt Libraries" +HOMEPAGE = "https://github.com/microsoft/onnxruntime" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://${B}/LICENSE;md5=0f7e3b1308cb5c00b372a6e78835732d" + +SRC_URI = "https://github.com/microsoft/onnxruntime/releases/download/v${PV}/onnxruntime-linux-${TARGET_ARCH}-${PV}.tgz" +SRC_URI[sha256sum] = "638e2ec3122a8deac4808670be51e607c5aaacbb662d54ede77bffa0a239d300" + +B = "${WORKDIR}/onnxruntime-linux-${TARGET_ARCH}-${PV}" + +do_install() { + install -d ${D}${libdir} + cp -d --no-preserve=ownership ${B}/lib/* ${D}${libdir} + + install -d ${D}${includedir} + cp -d --no-preserve=ownership ${B}/include/* ${D}${includedir} + + # Note that the VERSION_NUMBER file is used by the Holoscan SDK build. + install -m 0644 ${B}/VERSION_NUMBER ${D}${prefix} +} + +FILES:${PN}-dev += " \ + ${prefix}/VERSION_NUMBER \ +" + +SYSROOT_DIRS += " \ + ${prefix} \ +" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +INSANE_SKIP:${PN} += "already-stripped" diff --git a/recipes-graphics/glad/glad_0.1.36.bb b/recipes-graphics/glad/glad_0.1.36.bb index 91e06d7..b934e36 100644 --- a/recipes-graphics/glad/glad_0.1.36.bb +++ b/recipes-graphics/glad/glad_0.1.36.bb @@ -29,10 +29,16 @@ S = "${WORKDIR}/git" inherit cmake -EXTRA_OECMAKE:append = "-D GLAD_INSTALL:BOOL=ON" +EXTRA_OECMAKE:append = " \ + -D BUILD_SHARED_LIBS:BOOL=ON \ + -D GLAD_INSTALL:BOOL=ON \ +" do_compile[network] = "1" do_install:append () { rm ${D}${includedir}/KHR/khrplatform.h } + +FILES_SOLIBSDEV = "" +SOLIBS = "*.so*" diff --git a/recipes-graphics/nvidia-dgpu-drivers/nvidia-dgpu-drivers_515.65.01.bb b/recipes-graphics/nvidia-dgpu-drivers/nvidia-dgpu-drivers_515.65.01.bb index 4da44ca..8b2d685 100644 --- a/recipes-graphics/nvidia-dgpu-drivers/nvidia-dgpu-drivers_515.65.01.bb +++ b/recipes-graphics/nvidia-dgpu-drivers/nvidia-dgpu-drivers_515.65.01.bb @@ -120,6 +120,10 @@ do_install:append() { # GSP Firmware install -d ${D}${nonarch_base_libdir}/firmware/nvidia/${PV} install -m 0644 ${NVIDIA_SRC}/firmware/gsp.bin ${D}${nonarch_base_libdir}/firmware/nvidia/${PV} + + # Vulkan ICD + install -d ${D}${sysconfdir}/vulkan/icd.d + install -m 0644 ${NVIDIA_SRC}/nvidia_icd.json ${D}${sysconfdir}/vulkan/icd.d/ } python populate_packages:prepend() { diff --git a/recipes-video/ajantv2/ajantv2-common_16.2.0.inc b/recipes-video/ajantv2/ajantv2-common_16.2.0.inc index b31ba76..a567cfc 100644 --- a/recipes-video/ajantv2/ajantv2-common_16.2.0.inc +++ b/recipes-video/ajantv2/ajantv2-common_16.2.0.inc @@ -21,8 +21,8 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=4f44fe1188f6450557e2b28f7ae0d5b9" -SRC_URI = "git://github.com/ibstewart/ntv2.git;branch=holoscan-v0.2.0;protocol=https" -SRCREV = "8dcebfd9e1159eb42abccd918c1e88c1703627d6" +SRC_URI = "git://github.com/nvidia-holoscan/ntv2.git;branch=holoscan-v0.4.0;protocol=https" +SRCREV = "072a43a870cd2970e25c5df8e9838a872d8a199c" SRC_URI += " \ file://0001-Disable-outlining-atomics.patch;patchdir=${WORKDIR}/git \