Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
maxgerhardt opened this issue Jan 20, 2021 · 1 comment

Comments

@maxgerhardt
Copy link

maxgerhardt commented Jan 20, 2021

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.

@maxgerhardt maxgerhardt changed the title Fails to compile flatbuffers tests: memest clearing an object of non-trivial type ‘struct MyGame::Example::Vec3 Fails to compile flatbuffers tests: memest clearing an object of non-trivial type ‘struct MyGame::Example::Vec3' Jan 20, 2021
@Shark-Lucas
Copy link

try to update the CMakeLists: ExternalProject_Add(
flatbuffers
......
URL "https://github.com/google/flatbuffers/archive/v1.10.0.tar.gz"
to
URL "https://github.com/google/flatbuffers/archive/v1.11.0.tar.gz"

&&

URL_MD5 to "02c64880acb89dbd57eebacfd67200d8"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants