Skip to content

Fails to compile flatbuffers tests: memest clearing an object of non-trivial type ‘struct MyGame::Example::Vec3' #35

Open
@maxgerhardt

Description

@maxgerhardt

When compiling this project as shown in the README, it gives

[ 17%] Completed 'capnproto'
[ 17%] Built target capnproto
Scanning dependencies of target flatbuffers
[ 18%] Creating directories for 'flatbuffers'
[ 19%] Performing download step (download, verify and extract) for 'flatbuffers'
-- Downloading...
   dst='/home/max/md_compile_test/cpp-serializers/build/external/flatbuffers/src/v1.10.0.tar.gz'
   timeout='none'
-- Using src='https://github.com/google/flatbuffers/archive/v1.10.0.tar.gz'
-- [download 100% complete]
-- verifying file...
       file='/home/max/md_compile_test/cpp-serializers/build/external/flatbuffers/src/v1.10.0.tar.gz'
-- Downloading... done
-- extracting...
     src='/home/max/md_compile_test/cpp-serializers/build/external/flatbuffers/src/v1.10.0.tar.gz'
     dst='/home/max/md_compile_test/cpp-serializers/build/external/flatbuffers/src/flatbuffers'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 20%] No patch step for 'flatbuffers'
[ 21%] No update step for 'flatbuffers'
[ 22%] Performing configure step for 'flatbuffers'
-- flatbuffers configure command succeeded.  See also /home/max/md_compile_test/cpp-serializers/build/external/flatbuffers/src/flatbuffers-stamp/flatbuffers-configure-*.log
[ 23%] Performing build step for 'flatbuffers'
CMake Error at /home/max/md_compile_test/cpp-serializers/build/external/flatbuffers/src/flatbuffers-stamp/flatbuffers-build-Release.cmake:49 (message):
  Command failed: 2

   '/usr/bin/make'

  See also

    /home/max/md_compile_test/cpp-serializers/build/external/flatbuffers/src/flatbuffers-stamp/flatbuffers-build-*.log


make[2]: *** [CMakeFiles/flatbuffers.dir/build.make:115: external/flatbuffers/src/flatbuffers-stamp/flatbuffers-build] Error 1
make[1]: *** [CMakeFiles/Makefile2:240: CMakeFiles/flatbuffers.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

with the further inner log being

$ cat /home/max/md_compile_test/cpp-serializers/build/external/flatbuffers/src/flatbuffers-stamp/flatbuffers-build-*.log
In file included from /home/max/md_compile_test/cpp-serializers/build/external/flatbuffers/src/flatbuffers/tests/test.cpp:32:
/home/max/md_compile_test/cpp-serializers/build/external/flatbuffers/src/flatbuffers/tests/monster_test_generated.h: In constructor ‘MyGame::Example::Vec3::Vec3()’:
/home/max/md_compile_test/cpp-serializers/build/external/flatbuffers/src/flatbuffers/tests/monster_test_generated.h:315:33: error: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct MyGame::Example::Vec3’; use assignment or value-initialization instead [-Werror=class-memaccess]
  315 |     memset(this, 0, sizeof(Vec3));
      |                                 ^
/home/max/md_compile_test/cpp-serializers/build/external/flatbuffers/src/flatbuffers/tests/monster_test_generated.h:301:41: note: ‘struct MyGame::Example::Vec3’ declared here
  301 | FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(16) Vec3 FLATBUFFERS_FINAL_CLASS {
      |                                         ^~~~
cc1plus: all warnings being treated as errors
make[5]: *** [CMakeFiles/flattests.dir/build.make:145: CMakeFiles/flattests.dir/tests/test.cpp.o] Error 1
make[4]: *** [CMakeFiles/Makefile2:113: CMakeFiles/flattests.dir/all] Error 2
make[3]: *** [Makefile:141: all] Error 2

Machine is running Ubuntu Budgie 20.04, x64.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions