[oe] [meta-oe][PATCH] rocksdb: Fix build failure due to GCC9 deprecated-copy pessimizing-move

Khem Raj raj.khem at gmail.com
Fri Jun 14 23:45:49 UTC 2019


On Fri, Jun 14, 2019 at 4:29 PM Adrian Bunk <bunk at stusta.de> wrote:
>
> On Fri, Jun 14, 2019 at 12:25:11PM -0700, Khem Raj wrote:
> > On Fri, May 31, 2019 at 1:45 AM Adrian Bunk <bunk at stusta.de> wrote:
> > >
> > > On Fri, May 31, 2019 at 10:52:17AM +0800, zhe.he at windriver.com wrote:
> > > > From: He Zhe <zhe.he at windriver.com>
> > > >
> > > > GCC9 introduce more stricter checks deprecated-copy and pessimizing-move, while
> > > > rocksdb uses -Werror and causes the following build error.
> > > >
> > > > db/version_edit.h:178:33: error: implicitly-declared 'constexpr rocksdb::FileDescriptor::FileDescriptor(const rocksdb::FileDescriptor&)' is deprecated [-Werror=deprecated-copy]
> > > >
> > > > utilities/persistent_cache/persistent_cache_util.h:51:23: error: moving a local object in a return statement prevents copy elision [-Werror=pessimizing-move]
> > > >
> > > > Signed-off-by: He Zhe <zhe.he at windriver.com>
> > > > ---
> > > >  meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb | 3 +++
> > > >  1 file changed, 3 insertions(+)
> > > >
> > > > diff --git a/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb b/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
> > > > index 8d84619..bbd8e4f 100644
> > > > --- a/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
> > > > +++ b/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb
> > > > @@ -31,6 +31,9 @@ EXTRA_OECMAKE = "\
> > > >      -DWITH_TESTS=OFF \
> > > >      -DWITH_TOOLS=OFF \
> > > >  "
> > > > +do_compile_prepend() {
> > > > +    sed -i 's/set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wno-error=shadow")/set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wno-error=shadow -Wno-error=deprecated-copy -Wno-error=pessimizing-move")/' ${S}/CMakeLists.txt
> > > > +}
> > > >...
> > >
> > > It would be more elegant to add -DFAIL_ON_WARNINGS=OFF to EXTRA_OECMAKE
> > > instead.
> > >
> > > This is also correct in general, since the few packages using -Werror
> > > are frequently causing this kind of problem for distributions.
> > >
> >
> > we also have a patch for new 6.x version, I am inclined to take that,
> > so please check if this patch is still needed or not on that version
> >...
>
> The 6.0.2 patch adds a fix for this on top of 6.0.2:
>     This also includes a patch that fixes GCC9 compatibility, it's currently submitted
>     upstream but not yet accepted due to style issues.

yeah I think the patch is quite gcc specific, not upstream worthy IMO

>
>
> cu
> Adrian
>
> --
>
>        "Is there not promise of rain?" Ling Tan asked suddenly out
>         of the darkness. There had been need of rain for many days.
>        "Only a promise," Lao Er said.
>                                        Pearl S. Buck - Dragon Seed
>


More information about the Openembedded-devel mailing list