diff options
| author | Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com> | 2020-10-29 15:39:57 -0700 |
|---|---|---|
| committer | Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com> | 2020-10-29 16:42:29 -0700 |
| commit | dc623bac0bfbdf374c5417c4eba7ff01918fd625 (patch) | |
| tree | 10eda5c27353522c976605e82a8c3363d1128cce | |
| parent | b3963be5447ea1b71ca11798ab9269b75b42178b (diff) | |
| download | meta-xilinx-dc623bac0bfbdf374c5417c4eba7ff01918fd625.tar.gz | |
xrt_git.bb: Replace deprecated boost macros
xrt source includes boost/detail/endian.hpp to detect endianess. In Yocto,
gatesgarth, boost version is 1.74 which has deprecated some older macros
resulting in the below error
/workspaces/ckalluri/yocto/master-dev/builds-versal/tmp/work/cortexa72-cortexa53-xilinx-linux/xrt/202010.2.7.0-r0/git/src/runtime_src/xocl/core/kernel.cpp:24:10:
fatal error: boost/detail/e ndian.hpp: No such file or directory | 24 |
| compilation terminated.
To fix the compilation issue, currently include a patch on top of xrt source
that replaces the deprecated BOOST_BYTE_ORDER macro with __BYTE_ORDER macro to
detect endianess.
Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
| -rw-r--r-- | meta-xilinx-bsp/recipes-xrt/xrt/xrt/0001-Replace-boost-detail-endian.hpp-with-boost-predef-ot.patch | 80 | ||||
| -rw-r--r-- | meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb | 2 |
2 files changed, 82 insertions, 0 deletions
diff --git a/meta-xilinx-bsp/recipes-xrt/xrt/xrt/0001-Replace-boost-detail-endian.hpp-with-boost-predef-ot.patch b/meta-xilinx-bsp/recipes-xrt/xrt/xrt/0001-Replace-boost-detail-endian.hpp-with-boost-predef-ot.patch new file mode 100644 index 00000000..2ad7f01a --- /dev/null +++ b/meta-xilinx-bsp/recipes-xrt/xrt/xrt/0001-Replace-boost-detail-endian.hpp-with-boost-predef-ot.patch | |||
| @@ -0,0 +1,80 @@ | |||
| 1 | From aa556b2142b8d6c62c457f82f4470430e9fe80e7 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com> | ||
| 3 | Date: Thu, 29 Oct 2020 15:28:06 -0700 | ||
| 4 | Subject: [PATCH] Replace boost/detail/endian.hpp with | ||
| 5 | boost/predef/other/endian.h | ||
| 6 | |||
| 7 | The use of BOOST_*_ENDIAN and BOOST_BYTE_ORDER is deprecated. Include | ||
| 8 | <boost/predef/other/endian.h> and use __BYTE_ORDER and1234 | ||
| 9 | |||
| 10 | Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com> | ||
| 11 | --- | ||
| 12 | runtime_src/core/common/api/xrt_kernel.cpp | 8 ++++---- | ||
| 13 | runtime_src/xocl/core/kernel.cpp | 4 ++-- | ||
| 14 | 2 files changed, 6 insertions(+), 6 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/runtime_src/core/common/api/xrt_kernel.cpp b/runtime_src/core/common/api/xrt_kernel.cpp | ||
| 17 | index 1025e9d..1fb7caf 100644 | ||
| 18 | --- a/runtime_src/core/common/api/xrt_kernel.cpp | ||
| 19 | +++ b/runtime_src/core/common/api/xrt_kernel.cpp | ||
| 20 | @@ -48,7 +48,7 @@ | ||
| 21 | #include <cstdlib> | ||
| 22 | using namespace std::chrono_literals; | ||
| 23 | |||
| 24 | -#include <boost/detail/endian.hpp> | ||
| 25 | +#include <boost/predef/other/endian.h> | ||
| 26 | |||
| 27 | #ifdef _WIN32 | ||
| 28 | # pragma warning( disable : 4244 4267 4996) | ||
| 29 | @@ -464,7 +464,7 @@ class argument | ||
| 30 | virtual std::vector<uint32_t> | ||
| 31 | get_value(std::va_list* args) const | ||
| 32 | { | ||
| 33 | - static_assert(BOOST_BYTE_ORDER==1234,"Big endian detected"); | ||
| 34 | + static_assert(__BYTE_ORDER==1234,"Big endian detected"); | ||
| 35 | |||
| 36 | HostType value = va_arg(*args, VaArgType); | ||
| 37 | return value_to_uint32_vector(value); | ||
| 38 | @@ -485,7 +485,7 @@ class argument | ||
| 39 | virtual std::vector<uint32_t> | ||
| 40 | get_value(std::va_list* args) const | ||
| 41 | { | ||
| 42 | - static_assert(BOOST_BYTE_ORDER==1234,"Big endian detected"); | ||
| 43 | + static_assert(__BYTE_ORDER==1234,"Big endian detected"); | ||
| 44 | |||
| 45 | HostType* value = va_arg(*args, VaArgType*); | ||
| 46 | return value_to_uint32_vector(value, size); | ||
| 47 | @@ -507,7 +507,7 @@ class argument | ||
| 48 | virtual std::vector<uint32_t> | ||
| 49 | get_value(std::va_list* args) const | ||
| 50 | { | ||
| 51 | - static_assert(BOOST_BYTE_ORDER==1234,"Big endian detected"); | ||
| 52 | + static_assert(__BYTE_ORDER==1234,"Big endian detected"); | ||
| 53 | if (xrt_core::config::get_xrt_bo()) { | ||
| 54 | auto bo = va_arg(*args, xrtBufferHandle); | ||
| 55 | return value_to_uint32_vector(xrt_core::bo::address(bo)); | ||
| 56 | diff --git a/runtime_src/xocl/core/kernel.cpp b/runtime_src/xocl/core/kernel.cpp | ||
| 57 | index f4f7edf..ec71c7e 100644 | ||
| 58 | --- a/runtime_src/xocl/core/kernel.cpp | ||
| 59 | +++ b/runtime_src/xocl/core/kernel.cpp | ||
| 60 | @@ -21,7 +21,7 @@ | ||
| 61 | #include "compute_unit.h" | ||
| 62 | #include "core/common/xclbin_parser.h" | ||
| 63 | |||
| 64 | -#include <boost/detail/endian.hpp> | ||
| 65 | +#include <boost/predef/other/endian.h> | ||
| 66 | |||
| 67 | #include <sstream> | ||
| 68 | #include <iostream> | ||
| 69 | @@ -130,7 +130,7 @@ void | ||
| 70 | kernel::scalar_argument:: | ||
| 71 | set(size_t size, const void* cvalue) | ||
| 72 | { | ||
| 73 | - static_assert(BOOST_BYTE_ORDER==1234,"Big endian detected"); | ||
| 74 | + static_assert(__BYTE_ORDER==1234,"Big endian detected"); | ||
| 75 | |||
| 76 | if (size != m_sz) | ||
| 77 | throw error(CL_INVALID_ARG_SIZE,"Invalid scalar argument size, expected " | ||
| 78 | -- | ||
| 79 | 2.7.4 | ||
| 80 | |||
diff --git a/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb b/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb index e522d387..d891c272 100644 --- a/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb +++ b/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb | |||
| @@ -14,6 +14,8 @@ REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https" | |||
| 14 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | 14 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" |
| 15 | SRC_URI = "${REPO};${BRANCHARG}" | 15 | SRC_URI = "${REPO};${BRANCHARG}" |
| 16 | 16 | ||
| 17 | FILESEXTRAPATHS_prepend := "${THISDIR}/xrt:" | ||
| 18 | SRC_URI_append = " file://0001-Replace-boost-detail-endian.hpp-with-boost-predef-ot.patch" | ||
| 17 | PV = "202010.2.7.0" | 19 | PV = "202010.2.7.0" |
| 18 | SRCREV ?= "8a4c6eb5012c57423fba468e1af8df53a293dcd5" | 20 | SRCREV ?= "8a4c6eb5012c57423fba468e1af8df53a293dcd5" |
| 19 | 21 | ||
