Rename JSInterface_GUITypes to JSInterface_GUISize, refs rP22531, rP22534.
Rename init to RegisterScriptClass.
Differential Revision: https://code.wildfiregames.com/D2339
Tested on: clang 8.0.1., Jenkins/vs2015
Rename JSInterface_GUITypes to JSInterface_GUISize, refs rP22531, rP22534.
Description
Details
Event TimelineComment Actions Linking pyrogenesis ../../../binaries/system/libgui.a(JSInterface_GUISize.o): In function `JSI_GUISize::construct(JSContext*, unsigned int, JS::Value*)': /home/,,,/0ad/build/workspaces/gcc/../../../source/gui/scripting/JSInterface_GUISize.cpp:45: multiple definition of `JSI_GUISize::construct(JSContext*, unsigned int, JS::Value*)' ../../../binaries/system/libgui.a(JSInterface_GUITypes.o):/home/,,,/0ad/build/workspaces/gcc/../../../source/gui/scripting/JSInterface_GUITypes.cpp:40: first defined here ../../../binaries/system/libgui.a(JSInterface_GUISize.o):(.data.rel.local+0x0): multiple definition of `JSI_GUISize::JSI_methods' ../../../binaries/system/libgui.a(JSInterface_GUITypes.o):(.data.rel.local+0x0): first defined here ../../../binaries/system/libgui.a(JSInterface_GUISize.o):(.data.rel.local+0x60): multiple definition of `JSI_GUISize::JSI_class' ../../../binaries/system/libgui.a(JSInterface_GUITypes.o):(.data.rel.local+0x60): first defined here ../../../binaries/system/libgui.a(JSInterface_GUISize.o): In function `JSI_GUISize::toString(JSContext*, unsigned int, JS::Value*)': /home/,,,/0ad/build/workspaces/gcc/../../../source/gui/scripting/JSInterface_GUISize.cpp:101: multiple definition of `JSI_GUISize::toString(JSContext*, unsigned int, JS::Value*)' ../../../binaries/system/libgui.a(JSInterface_GUITypes.o):/home/,,,/0ad/build/workspaces/gcc/../../../source/gui/scripting/JSInterface_GUITypes.cpp:96: first defined here collect2: error: ld returned 1 exit status pyrogenesis.make:80: recipe for target '../../../binaries/system/pyrogenesis' failed make[1]: *** [../../../binaries/system/pyrogenesis] Error 1 Makefile:68: recipe for target 'pyrogenesis' failed make: *** [pyrogenesis] Error 2 Comment Actions Np, it would have been more bothersome to revert the patch than to commit it, as one has to perform that cleaning each time one applies that patch :-/
Clean workspaces also kills the shared libs like spidermonkey and fcollada. There is a --preserve-libs or similar. Comment Actions It seems like it doesn't work to do only clean-workspaces sometimes (since that *is* what I had done the first time) so it is good to know now :) Comment Actions Well that is a small script, it sounds like it misses deleting the path that the compiler complained about: echo "Cleaning build output..." # Remove workspaces/gcc if present rm -rf ./gcc # Remove workspaces/codeblocks if present rm -rf ./codeblocks # Remove workspaces/xcode3 if present rm -rf ./xcode3 # Remove workspaces/xcode4 if present rm -rf ./xcode4 echo echo "Done. Try running update-workspaces.sh again now." Comment Actions Ive seen this years ago already, and it seems Jenkins is also affected by this, assuming that clean-workspaces.sh does the job: Linking pyrogenesis ../../../binaries/system/libgui_dbg.a(JSInterface_GUISize.o):(.data.rel.local+0x0): multiple definition of `JSI_GUISize::JSI_class' ../../../binaries/system/libgui_dbg.a(JSInterface_GUITypes.o):(.data.rel.local+0x0): first defined here ../../../binaries/system/libgui_dbg.a(JSInterface_GUISize.o): In function `JSI_GUISize::construct(JSContext*, unsigned int, JS::Value*)': /zpool0/gcc6/build/workspaces/gcc/../../../source/gui/scripting/JSInterface_GUISize.cpp:45: multiple definition of `JSI_GUISize::construct(JSContext*, unsigned int, JS::Value*)' ../../../binaries/system/libgui_dbg.a(JSInterface_GUITypes.o):/zpool0/gcc6/build/workspaces/gcc/../../../source/gui/scripting/JSInterface_GUITypes.cpp:40: first defined here ../../../binaries/system/libgui_dbg.a(JSInterface_GUISize.o): In function `OBJECT_TO_JSVAL_IMPL': /zpool0/gcc6/build/workspaces/gcc/../../../libraries/source/spidermonkey/include-unix-debug/js/Value.h:860: multiple definition of `JSI_GUISize::JSI_methods' ../../../binaries/system/libgui_dbg.a(JSInterface_GUITypes.o):/zpool0/gcc6/build/workspaces/gcc/../../../libraries/source/spidermonkey/include-unix-debug/js/Value.h:860: first defined here ../../../binaries/system/libgui_dbg.a(JSInterface_GUISize.o): In function `JSI_GUISize::toString(JSContext*, unsigned int, JS::Value*)': /zpool0/gcc6/build/workspaces/gcc/../../../source/gui/scripting/JSInterface_GUISize.cpp:101: multiple definition of `JSI_GUISize::toString(JSContext*, unsigned int, JS::Value*)' ../../../binaries/system/libgui_dbg.a(JSInterface_GUITypes.o):/zpool0/gcc6/build/workspaces/gcc/../../../source/gui/scripting/JSInterface_GUITypes.cpp:96: first defined here collect2: error: ld returned 1 exit status pyrogenesis.make:80: recipe for target '../../../binaries/system/pyrogenesis_dbg' failed make[1]: *** [../../../binaries/system/pyrogenesis_dbg] Error 1 Makefile:68: recipe for target 'pyrogenesis' failed make: *** [pyrogenesis] Error 2 So it's actually a bug that someone should find interest in and like fix. |