[oe] [meta-oe][PATCH V2 4/5] cpprest: Fix build with gcc-8

Khem Raj raj.khem at gmail.com
Sun Jun 17 07:38:08 UTC 2018


On Sun, Jun 17, 2018 at 12:34 AM Martin Jansa <martin.jansa at gmail.com> wrote:
>
> I think you're missing '=' in -Wno-format-truncation (it's shown in the error message, so I was always adding it with '=' as well, but it seems that both work).


there is a level you can set and that when you need '='
-Wformat-truncation is same as -Wformat-truncation=1

>
> cpprest/2.10.2-r0/git/Release/src/utilities/asyncrt_utils.cpp:702:42: error: '%s' directive output may be truncated writing up to 8 bytes into a region of size between 1 and 65 [-Werror=format-truncation=]
>          snprintf(output, sizeof(output), "%s%sZ", datetime_str, buf);
>                                           ^~~~~~~                ~~~
> cpprest/2.10.2-r0/git/Release/src/utilities/asyncrt_utils.cpp:702:17: note: 'snprintf' output between 2 and 74 bytes into a destination of size 65
>          snprintf(output, sizeof(output), "%s%sZ", datetime_str, buf);
>          ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Also can you please drop one of these? The one in meta-networking is still failing
>

yes good point.


> ./meta-oe/recipes-support/cpprest
> ./meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb
> ./meta-oe/recipes-support/cpprest/cpprest-2.10.2
> ./meta-networking/recipes-support/cpprest
> ./meta-networking/recipes-support/cpprest/cpprest_2.10.2.bb
> ./meta-networking/recipes-support/cpprest/cpprest-2.10.2
>
> Added in:
> meta-oe:
> commit 9eb8b9a2c416da018c4a8acb416ef38797436f50
> Author:     Gianfranco Costamagna <costamagna.gianfranco at gmail.com>
> AuthorDate: Thu Apr 19 19:12:07 2018 +0200
> Commit:     Armin Kuster <akuster808 at gmail.com>
> CommitDate: Tue May 1 18:17:02 2018 -0700
>
>     cpprest: add new recipe based on Debian packaging
>
>     Signed-off-by: Gianfranco Costamagna <locutusofborg at debian.org>
>     Signed-off-by: Gianfranco Costamagna <gianfranco.costamagna at abinsula.com>
>     Co-developed-by: Cristiano Prato <cristiano.prato at cnhind.com>
>     Signed-off-by: Armin Kuster <akuster808 at gmail.com>
>
> meta-networking:
> commit 12e8c3ea698905e2ed0edd9b7f351a497a1bd68d
> Author:     Gianfranco Costamagna <costamagna.gianfranco at gmail.com>
> AuthorDate: Sun Apr 29 20:02:06 2018 +0200
> Commit:     Armin Kuster <akuster808 at gmail.com>
> CommitDate: Thu May 17 08:32:26 2018 -0700
>
>     cpprest: add new recipe based on Debian packaging
>
>     The patches were imported from the Debian repository
>     (https://salsa.debian.org/debian/casablanca) as of commit id 5b58637016a569a5d54714bd151a800028f77532
>
>     Signed-off-by: Gianfranco Costamagna <locutusofborg at debian.org>
>     Signed-off-by: Gianfranco Costamagna <gianfranco.costamagna at abinsula.com>
>     Co-developed-by: Cristiano Prato <cristiano.prato at cnhind.com>
>     Signed-off-by: Armin Kuster <akuster808 at gmail.com>
>
>
> On Wed, Jun 13, 2018 at 9:01 AM Khem Raj <raj.khem at gmail.com> wrote:
>>
>> Signed-off-by: Khem Raj <raj.khem at gmail.com>
>> ---
>>  .../0001-disable-more-Werror-warnings.patch   | 48 +++++++++++++++++++
>>  .../recipes-support/cpprest/cpprest_2.10.2.bb |  1 +
>>  2 files changed, 49 insertions(+)
>>  create mode 100644 meta-oe/recipes-support/cpprest/cpprest-2.10.2/0001-disable-more-Werror-warnings.patch
>>
>> diff --git a/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0001-disable-more-Werror-warnings.patch b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0001-disable-more-Werror-warnings.patch
>> new file mode 100644
>> index 0000000000..febfd5bc96
>> --- /dev/null
>> +++ b/meta-oe/recipes-support/cpprest/cpprest-2.10.2/0001-disable-more-Werror-warnings.patch
>> @@ -0,0 +1,48 @@
>> +From ee92f84a96a507b0a7a3c54929ce190ee28b4ecd Mon Sep 17 00:00:00 2001
>> +From: Alexander Moriarty <amoriarty at fetchrobotics.com>
>> +Date: Wed, 6 Jun 2018 10:38:43 -0700
>> +Subject: [PATCH] disable more -Werror warnings
>> +
>> +gcc-8: -Wno-format-truncation
>> +
>> +clang-6: -Wdelete-non-virtual-dtor
>> +clang-6: -Wunused-lambda-capture
>> +
>> +removed duplicated: -Wno-reorder
>> +
>> +This fixes #778
>> +
>> +Upstream-Status: Pending [https://github.com/Microsoft/cpprestsdk/pull/779]
>> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
>> +---
>> + Release/CMakeLists.txt | 6 +++---
>> + 1 file changed, 3 insertions(+), 3 deletions(-)
>> +
>> +diff --git a/Release/CMakeLists.txt b/Release/CMakeLists.txt
>> +index 1267aff1..fb291ccd 100644
>> +--- a/Release/CMakeLists.txt
>> ++++ b/Release/CMakeLists.txt
>> +@@ -166,12 +166,12 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR IOS)
>> +     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-attributes -Wno-pointer-arith")
>> +   elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
>> +     set(WARNINGS -Wall -Wextra -Wcast-qual -Wconversion -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wpacked -Wredundant-decls)
>> +-    set(LINUX_SUPPRESSIONS -Wno-overloaded-virtual -Wno-sign-conversion -Wno-deprecated -Wno-unknown-pragmas -Wno-reorder -Wno-char-subscripts -Wno-switch -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated -Wno-unused-value -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-unused-function -Wno-sign-compare -Wno-shorten-64-to-32 -Wno-reorder -Wno-unused-local-typedefs)
>> ++    set(LINUX_SUPPRESSIONS -Wno-overloaded-virtual -Wno-sign-conversion -Wno-deprecated -Wno-unknown-pragmas -Wno-reorder -Wno-char-subscripts -Wno-switch -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated -Wno-unused-value -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-unused-function -Wno-sign-compare -Wno-shorten-64-to-32 -Wno-unused-local-typedefs -Wno-delete-non-virtual-dtor -Wno-unused-lambda-capture)
>> +     set(WARNINGS ${WARNINGS} ${LINUX_SUPPRESSIONS})
>> +     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-return-type-c-linkage -Wno-unneeded-internal-declaration")
>> +   else()
>> +     set(WARNINGS -Wall -Wextra -Wcast-qual -Wconversion -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wpacked -Wredundant-decls)
>> +-    set(OSX_SUPPRESSIONS -Wno-overloaded-virtual -Wno-sign-conversion -Wno-deprecated -Wno-unknown-pragmas -Wno-reorder -Wno-char-subscripts -Wno-switch -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated -Wno-unused-value -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-unused-function -Wno-sign-compare -Wno-shorten-64-to-32 -Wno-reorder -Wno-unused-local-typedefs)
>> ++    set(OSX_SUPPRESSIONS -Wno-overloaded-virtual -Wno-sign-conversion -Wno-deprecated -Wno-unknown-pragmas -Wno-reorder -Wno-char-subscripts -Wno-switch -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated -Wno-unused-value -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-unused-function -Wno-sign-compare -Wno-shorten-64-to-32 -Wno-unused-local-typedefs -Wno-delete-non-virtual-dtor -Wno-unused-lambda-capture)
>> +     set(WARNINGS ${WARNINGS} ${OSX_SUPPRESSIONS})
>> +
>> +     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -Wno-return-type-c-linkage -Wno-unneeded-internal-declaration")
>> +@@ -184,7 +184,7 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR IOS)
>> + elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
>> +   message("-- Setting gcc options")
>> +
>> +-  set(WARNINGS -Wall -Wextra -Wunused-parameter -Wcast-align -Wcast-qual -Wconversion -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wpacked -Wredundant-decls -Wunreachable-code)
>> ++  set(WARNINGS -Wall -Wextra -Wunused-parameter -Wcast-align -Wcast-qual -Wconversion -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wpacked -Wredundant-decls -Wunreachable-code -Wno-format-truncation)
>> +   set(LD_FLAGS "${LD_FLAGS} -Wl,-z,defs")
>> +
>> +   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-strict-aliasing")
>> diff --git a/meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb b/meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb
>> index 1dbe093bee..fea5d4b2eb 100644
>> --- a/meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb
>> +++ b/meta-oe/recipes-support/cpprest/cpprest_2.10.2.bb
>> @@ -9,6 +9,7 @@ SRC_URI = "git://github.com/Microsoft/cpprestsdk.git;protocol=https;branch=maste
>>             file://fix-cmake-install.patch \
>>             file://0001-Fix-a-build-problem-on-Clang.patch;patchdir=.. \
>>             file://0002-Define-virtual-destructor.patch;patchdir=.. \
>> +           file://0001-disable-more-Werror-warnings.patch;patchdir=.. \
>>             "
>>
>>  # tag 2.10.2
>> --
>> 2.17.1
>>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel



More information about the Openembedded-devel mailing list