toy
toy copied to clipboard
linux build fails
Shell.cpp
In file included from ../../../mud/src/gfx-edit/Api.h:5,
from ../../../mud/src/mud/mud.h:25,
from ../../../src/toy/toy.h:3,
from ../../../src/shell/Shell.cpp:4:
../../../mud/src/gfx-edit/Types.h:44:46: warning: type attributes ignored after type is already defined [-Wattributes]
export_ template struct MUD_GFX_EDIT_EXPORT Typed<std::vector<mud::ViewerController*>>;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../mud/src/gfx-edit/Types.h:44:46: error: duplicate explicit instantiation of ‘struct mud::Typed<std::vector<mud::ViewerController*> >’ [-fpermissive]
../../../mud/src/gfx-edit/Types.h:45:46: warning: type attributes ignored after type is already defined [-Wattributes]
export_ template struct MUD_GFX_EDIT_EXPORT Typed<std::vector<mud::SpaceSheet*>>;
Problem
``./../../mud/src/gfx-edit/Types.h:45:46: error: duplicate explicit instantiation of ‘struct mud::Typed<std::vectormud::ViewerController* >’ [-fpermissive] ../../../mud/src/gfx-edit/Types.h:46:46: warning: type attributes ignored after type is already defined [-Wattributes] export_ template struct MUD_GFX_EDIT_EXPORT Typed<std::vectormud::SpaceSheet*>; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../mud/src/gfx-edit/Types.h:46:46: error: duplicate explicit instantiation of ‘struct mud::Typed<std::vectormud::SpaceSheet* >’ [-fpermissive] ../../../mud/src/gfx-edit/Types.h:47:46: warning: type attributes ignored after type is already defined [-Wattributes] export_ template struct MUD_GFX_EDIT_EXPORT Typed<std::vectormud::Viewer*>; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../mud/src/gfx-edit/Types.h:47:46: error: duplicate explicit instantiation of ‘struct mud::Typed<std::vectormud::Viewer* >’ [-fpermissive] ../../../mud/src/gfx-edit/Types.h:48:46: warning: type attributes ignored after type is already defined [-Wattributes] export_ template struct MUD_GFX_EDIT_EXPORT Typed<std::vectormud::SceneViewer*>; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../mud/src/gfx-edit/Types.h:48:46: error: duplicate explicit instantiation of ‘struct mud::Typed<std::vectormud::SceneViewer* >’ [-fpermissive] ../../../mud/src/gfx-edit/Types.h:49:46: warning: type attributes ignored after type is already defined [-Wattributes] export_ template struct MUD_GFX_EDIT_EXPORT Typed<std::vectormud::FreeOrbitController*>; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../mud/src/gfx-edit/Types.h:49:46: error: duplicate explicit instantiation of ‘struct mud::Typed<std::vectormud::FreeOrbitController* >’ [-fpermissive] ../../../mud/src/gfx-edit/Types.h:50:46: warning: type attributes ignored after type is already defined [-Wattributes] export_ template struct MUD_GFX_EDIT_EXPORT Typed<std::vectormud::OrbitController*>; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../mud/src/gfx-edit/Types.h:50:46: error: duplicate explicit instantiation of ‘struct mud::Typed<std::vectormud::OrbitController* >’ [-fpermissive] toy.make:884: recipe for target '../../linux64_gcc/obj/x64/Debug/toy/src/shell/Shell.o' failed make[1]: *** [../../linux64_gcc/obj/x64/Debug/toy/src/shell/Shell.o] Error 1 Makefile:104: recipe for target 'toy' failed make: *** [toy] Error 2
yea ok that's same problem as mine. I tried with gcc-8 and gcc-7.
just wait answer now, I've tried everything
The build has been generally broken for a few days due to a refactor, I'll fix it and get back to you
I do get a linking error and dunno how to fix it:
==== Building 00_cube (debug64) ====
Linking 00_cube
/usr/bin/ld: ../../linux64_gcc/bin/libglsl-optimizer_d.a(glcpp-parse.o):/data/transfer/toy/build/projects/gmake-linux/y.tab.c:1420: multiple definition of `yydebug'; ../../linux64_gcc/bin/libglslang_d.a(glslang_tab.o):/data/transfer/toy/build/projects/gmake-linux/MachineIndependent/glslang_tab.cpp:3645: first defined here
/usr/bin/ld: ../../linux64_gcc/bin/libglsl-optimizer_d.a(pp.o): in function `glcpp_preprocess':
/data/transfer/toy/build/projects/gmake-linux/../../../two/3rdparty/bgfx/3rdparty/glsl-optimizer/src/glsl/glcpp/pp.c:227: undefined reference to `glcpp_parser_parse'
/usr/bin/ld: ../../linux64_gcc/bin/libglsl-optimizer_d.a(glcpp-parse.o): in function `yyparse':
/data/transfer/toy/build/projects/gmake-linux/y.tab.c:1952: undefined reference to `yylex'
collect2: error: ld returned 1 exit status