azure-iot-sdk-c: Bump to version 2018-12-13
PATCH 1/1 azure-iot-sdk-c: Bump to version 2018-12-13
From: NikitaSobolev <[email protected]>
Bump azure-iot-sdk-c to 2018-12-13 release.
Add patch, that removes Windows specified variables from azure-iot-sdk-c-2018-12-13 release. That variables cause build errors.
--- ...-azure-iot-sdk-c-Delete-windows-variables.patch | 34 ++++++++++++++++++++++ package/azure-iot-sdk-c/azure-iot-sdk-c.mk | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 package/azure-iot-sdk-c/0001-azure-iot-sdk-c-Delete-windows-variables.patch
package/azure-iot-sdk-c/0001-azure-iot-sdk-c-Delete-windows-variables.patch new file +34 -0
@@ -0,0 +1,34 @@ +From 6c01ef50e0c2d562388aacbb60a1506e70db2218 Mon Sep 17 00:00:00 2001 +From: Nikita Sobolev <[email protected]> +Date: Thu, 20 Dec 2018 19:31:20 +0300 +Subject: [PATCH] azure-iot-sdk-c: Delete windows variables + +Delete windows specified variables, that have been added +to azure-iot-sdk-c-2018-12-13 release. These variables +are not defined for Linux and cause build errors. + +Signed-off-by: Nikita Sobolev <[email protected]> +--- + c-utility/CMakeLists.txt | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/c-utility/CMakeLists.txt b/c-utility/CMakeLists.txt +index 190ea87dca..464d6d1069 100644 +--- a/c-utility/CMakeLists.txt ++++ b/c-utility/CMakeLists.txt +@@ -264,12 +264,6 @@ if(${use_applessl}) + include_directories(./pal/ios-osx/) + endif() + +-if (WIN32 AND (${CMAKE_SYSTEM_VERSION} VERSION_EQUAL "10.0.17763.0" OR ${CMAKE_SYSTEM_VERSION} VERSION_GREATER "10.0.17763.0")) +- # Windows added support for UNIX domain sockets to the OS and SDK +- # in the Oct 2018 update (10.0.17763.0, aka RS5) +- add_definitions(-DAF_UNIX_ON_WINDOWS) +-endif() +- + #these are the C headers + set(source_h_files + ./inc/azure_c_shared_utility/agenttime.h +-- +2.16.2 +
package/azure-iot-sdk-c/azure-iot-sdk-c.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -AZURE_IOT_SDK_C_VERSION = 2018-03-16 +AZURE_IOT_SDK_C_VERSION = 2018-12-13 AZURE_IOT_SDK_C_SITE = https://github.com/Azure/azure-iot-sdk-c AZURE_IOT_SDK_C_SITE_METHOD = git AZURE_IOT_SDK_C_GIT_SUBMODULES = YES
Signature · 1 line
2.16.2
PATCH 1/1 azure-iot-sdk-c: Bump to version 2018-12-13
Quoted 47 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Nikita" == Nikita Sobolev <[email protected]> writes:
From: NikitaSobolev <[email protected]> Bump azure-iot-sdk-c to 2018-12-13 release.
Add patch, that removes Windows specified variables from azure-iot-sdk-c-2018-12-13 release. That variables cause build errors.Signed-off-by Nikita Sobolev <[email protected]>--- ...-azure-iot-sdk-c-Delete-windows-variables.patch | 34 ++++++++++++++++++++++ package/azure-iot-sdk-c/azure-iot-sdk-c.mk | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 package/azure-iot-sdk-c/0001-azure-iot-sdk-c-Delete-windows-variables.patchdiff --git
a/package/azure-iot-sdk-c/0001-azure-iot-sdk-c-Delete-windows-variables.patchb/package/azure-iot-sdk-c/0001-azure-iot-sdk-c-Delete-windows-variables.patchnew file mode 100644
index 0000000000..e8ff53cb5apackage/azure-iot-sdk-c/0001-azure-iot-sdk-c-Delete-windows-variables.patch new file +23
-0@@ -0,0 +1,34 @@ +From 6c01ef50e0c2d562388aacbb60a1506e70db2218 Mon Sep 17 00:00:00 2001 +From: Nikita Sobolev <[email protected]> +Date: Thu, 20 Dec 2018 19:31:20 +0300 +Subject: [PATCH] azure-iot-sdk-c: Delete windows variables + +Delete windows specified variables, that have been added +to azure-iot-sdk-c-2018-12-13 release. These variables +are not defined for Linux and cause build errors. + +Signed-off-by: Nikita Sobolev <[email protected]> +--- + c-utility/CMakeLists.txt | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/c-utility/CMakeLists.txt b/c-utility/CMakeLists.txt +index 190ea87dca..464d6d1069 100644 +--- a/c-utility/CMakeLists.txt ++++ b/c-utility/CMakeLists.txt +@@ -264,12 +264,6 @@ if(${use_applessl}) + include_directories(./pal/ios-osx/) + endif() + +-if (WIN32 AND (${CMAKE_SYSTEM_VERSION} VERSION_EQUAL "10.0.17763.0"OR ${CMAKE_SYSTEM_VERSION}
VERSION_GREATER"10.0.17763.0"))
Quoted 4 lines
+- # Windows added support for UNIX domain sockets to the OS and SDK +- # in the Oct 2018 update (10.0.17763.0, aka RS5) +- add_definitions(-DAF_UNIX_ON_WINDOWS) +-endif()
Can you be more specific what the issue is exactly? Given the WIN32 in this conditional this should never be true in the context of Buildroot, so the define shouldn't get added?
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/1 azure-iot-sdk-c: Bump to version 2018-12-13
There's no problem with WIN32 variable.
Buildroot can not find CMAKE_SYSTEM_VERSION while building in Linux. It fails with error:
-------------------->8----------------------
CMake Error at c-utility/CMakeLists.txt:267 (if):
if given arguments:
"WIN32" "AND" "(" "VERSION_EQUAL" "10.0.17763.0" "OR" "VERSION_GREATER" "10.0.17763.0" ")"
Unknown arguments specified
-- Configuring incomplete, errors occurred!
-------------------->8-----------------------
Quoted 56 lines · Peter Korsgaard
Quoted 47 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Nikita" == Nikita Sobolev <[email protected]> writes:
From: NikitaSobolev <[email protected]> Bump azure-iot-sdk-c to 2018-12-13 release.
Add patch, that removes Windows specified variables from azure-iot-sdk-c-2018-12-13 release. That variables cause build errors.Signed-off-by Nikita Sobolev <[email protected]>--- ...-azure-iot-sdk-c-Delete-windows-variables.patch | 34 ++++++++++++++++++++++ package/azure-iot-sdk-c/azure-iot-sdk-c.mk | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 package/azure-iot-sdk-c/0001-azure-iot-sdk-c-Delete-windows-variables.patchdiff --git
a/package/azure-iot-sdk-c/0001-azure-iot-sdk-c-Delete-windows-variables.patchb/package/azure-iot-sdk-c/0001-azure-iot-sdk-c-Delete-windows-variables.patchnew file mode 100644
index 0000000000..e8ff53cb5apackage/azure-iot-sdk-c/0001-azure-iot-sdk-c-Delete-windows-variables.patch new file +23
-0@@ -0,0 +1,34 @@ +From 6c01ef50e0c2d562388aacbb60a1506e70db2218 Mon Sep 17 00:00:00 2001 +From: Nikita Sobolev <[email protected]> +Date: Thu, 20 Dec 2018 19:31:20 +0300 +Subject: [PATCH] azure-iot-sdk-c: Delete windows variables + +Delete windows specified variables, that have been added +to azure-iot-sdk-c-2018-12-13 release. These variables +are not defined for Linux and cause build errors. + +Signed-off-by: Nikita Sobolev <[email protected]> +--- + c-utility/CMakeLists.txt | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/c-utility/CMakeLists.txt b/c-utility/CMakeLists.txt +index 190ea87dca..464d6d1069 100644 +--- a/c-utility/CMakeLists.txt ++++ b/c-utility/CMakeLists.txt +@@ -264,12 +264,6 @@ if(${use_applessl}) + include_directories(./pal/ios-osx/) + endif() + +-if (WIN32 AND (${CMAKE_SYSTEM_VERSION} VERSION_EQUAL "10.0.17763.0"OR ${CMAKE_SYSTEM_VERSION}
VERSION_GREATER"10.0.17763.0"))Quoted 4 lines
+- # Windows added support for UNIX domain sockets to the OS and SDK +- # in the Oct 2018 update (10.0.17763.0, aka RS5) +- add_definitions(-DAF_UNIX_ON_WINDOWS) +-endif()Can you be more specific what the issue is exactly? Given the WIN32 in this conditional this should never be true in the context of Buildroot, so the define shouldn't get added?
Signature · 1 line
Niktia Sobolev <[email protected]>
PATCH 1/1 azure-iot-sdk-c: Bump to version 2018-12-13
Am 24.12.18 um 13:46 schrieb Nikita Sobolev:
Quoted 9 lines
There's no problem with WIN32 variable.
Buildroot can not findCMAKE_SYSTEM_VERSIONwhile building in Linux. It fails with error:
-------------------->8----------------------
CMake Error atc-utility/CMakeLists.txt:267(if):
if given arguments:"WIN32" "AND" "(" "VERSION_EQUAL" "10.0.17763.0" "OR" "VERSION_GREATER" "10.0.17763.0" ")"
Quoted 63 lines
Unknown arguments specified
-- Configuring incomplete, errors occurred!
-------------------->8-----------------------Quoted 56 lines · Peter Korsgaard
Quoted 47 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Nikita" == Nikita Sobolev <[email protected]> writes:
From: NikitaSobolev <[email protected]> Bump azure-iot-sdk-c to 2018-12-13 release.
Add patch, that removes Windows specified variables from azure-iot-sdk-c-2018-12-13 release. That variables cause build errors.Signed-off-by Nikita Sobolev <[email protected]>--- ...-azure-iot-sdk-c-Delete-windows-variables.patch | 34 ++++++++++++++++++++++ package/azure-iot-sdk-c/azure-iot-sdk-c.mk | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 package/azure-iot-sdk-c/0001-azure-iot-sdk-c-Delete-windows-variables.patchdiff --git
a/package/azure-iot-sdk-c/0001-azure-iot-sdk-c-Delete-windows-variables.patchb/package/azure-iot-sdk-c/0001-azure-iot-sdk-c-Delete-windows-variables.patchnew file mode 100644
index 0000000000..e8ff53cb5apackage/azure-iot-sdk-c/0001-azure-iot-sdk-c-Delete-windows-variables.patch new file +23
-0@@ -0,0 +1,34 @@ +From 6c01ef50e0c2d562388aacbb60a1506e70db2218 Mon Sep 17 00:00:00 2001 +From: Nikita Sobolev <[email protected]> +Date: Thu, 20 Dec 2018 19:31:20 +0300 +Subject: [PATCH] azure-iot-sdk-c: Delete windows variables + +Delete windows specified variables, that have been added +to azure-iot-sdk-c-2018-12-13 release. These variables +are not defined for Linux and cause build errors. + +Signed-off-by: Nikita Sobolev <[email protected]> +--- + c-utility/CMakeLists.txt | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/c-utility/CMakeLists.txt b/c-utility/CMakeLists.txt +index 190ea87dca..464d6d1069 100644 +--- a/c-utility/CMakeLists.txt ++++ b/c-utility/CMakeLists.txt +@@ -264,12 +264,6 @@ if(${use_applessl}) + include_directories(./pal/ios-osx/) + endif() + +-if (WIN32 AND (${CMAKE_SYSTEM_VERSION} VERSION_EQUAL "10.0.17763.0"OR ${CMAKE_SYSTEM_VERSION}
VERSION_GREATER"10.0.17763.0"))Quoted 4 lines
+- # Windows added support for UNIX domain sockets to the OS and SDK +- # in the Oct 2018 update (10.0.17763.0, aka RS5) +- add_definitions(-DAF_UNIX_ON_WINDOWS) +-endif()Can you be more specific what the issue is exactly? Given the WIN32 in this conditional this should never be true in the context of Buildroot, so the define shouldn't get added?
There shouldn't be a problem, all variables/macros should be defined by cmake:
https://cmake.org/cmake/help/v3.0/variable/CMAKE_VERSION.html
https://cmake.org/cmake/help/v3.0/variable/WIN32.html
https://cmake.org/cmake/help/v3.0/variable/CMAKE_SYSTEM_VERSION.html
On a site note: 2018-12-13 would fix the recently build failures for this package...
@Nikita: Would you mind taking maintainership for this package by adding it and yourself to the DEVELOPERS file? And could you please elaborate the cmake problem above some more?
Thanks!
PATCH 1/1 azure-iot-sdk-c: Bump to version 2018-12-13
In reply to Nikita SobolevHello,
Quoted 8 lines · Nikita Sobolev
From: NikitaSobolev <[email protected]>
Bump azure-iot-sdk-c to 2018-12-13 release.
Add patch, that removes Windows specified variables from azure-iot-sdk-c-2018-12-13 release. That variables cause build errors.Signed-off-by Nikita Sobolev <[email protected]>
So, I looked into this. Indeed, without the patch, the build fails with:
CMake Error at c-utility/CMakeLists.txt:267 (if):
if given arguments:
"WIN32" "AND" "(" "VERSION_EQUAL" "10.0.17763.0" "OR" "VERSION_GREATER" "10.0.17763.0" ")"Unknown arguments specified
The problem comes from the fact that ${CMAKE_SYSTEM_VERSION} is empty. And the CMake documentation
(https://cmake.org/cmake/help/v3.4/variable/CMAKE_SYSTEM_VERSION.html)
explains why:
When the CMAKE_SYSTEM_NAME variable is set explicitly to enable cross compiling then the value of CMAKE_SYSTEM_VERSION must also be set explicitly to specify the target system version.
We are defining CMAKE_SYSTEM_NAME in our toolchain file, but not CMAKE_SYSTEM_VERSION.
So for now, I simply defined CMAKE_SYSTEM_VERSION locally in azure-iot-sdk-c, and dropped the patch. Long term, perhaps we should define CMAKE_SYSTEM_VERSION in our toolchain file. I'm not sure who is maintaining our CMake infrastructure these days, Samuel Martin used to do it, but he is no longer very active.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH 1/1 azure-iot-sdk-c: Bump to version 2018-12-13
Quoted 30 lines · Thomas Petazzoni
Hello,
Quoted 8 lines · Nikita Sobolev
From: NikitaSobolev <[email protected]>
Bump azure-iot-sdk-c to 2018-12-13 release.
Add patch, that removes Windows specified variables from azure-iot-sdk-c-2018-12-13 release. That variables cause build errors.Signed-off-by Nikita Sobolev <[email protected]>So, I looked into this. Indeed, without the patch, the build fails with:
CMake Error at
c-utility/CMakeLists.txt:267(if):
if given arguments:"WIN32" "AND" "(" "VERSION_EQUAL" "10.0.17763.0" "OR" "VERSION_GREATER" "10.0.17763.0" ")"Unknown arguments specified
The problem comes from the fact that ${CMAKE_SYSTEM_VERSION} is empty. And the CMake documentation
(https://cmake.org/cmake/help/v3.4/variable/CMAKE_SYSTEM_VERSION.html)
explains why:When the
CMAKE_SYSTEM_NAMEvariable is set explicitly to enable cross compiling then the value ofCMAKE_SYSTEM_VERSIONmust also be set explicitly to specify the target system version.
Quoted 8 lines
We are defining
CMAKE_SYSTEM_NAMEin our toolchain file, but notCMAKE_SYSTEM_VERSION.So for now, I simply defined
CMAKE_SYSTEM_VERSIONlocally in azure-iot-sdk-c, and dropped the patch. Long term, perhaps we should defineCMAKE_SYSTEM_VERSIONin our toolchain file. I'm not sure who is maintaining our CMake infrastructure these days, Samuel Martin used to do it, but he is no longer very active.
Indeed, it should be set in the toolchain file. CMAKE_SYSTEM_VERSION is the
output of uname -r of the target system, i.e. the kernel version. We don't have that, but we do have BR2_TOOLCHAIN_HEADERS_AT_LEAST which should be good enough.
Regards,
Arnout