Opened 7 years ago
Last modified 5 years ago
#4496 reopened defect
clean-workspaces.sh fails for renamed files (vs make clean)
Reported by: | elexis | Owned by: | |
---|---|---|---|
Priority: | Must Have | Milestone: | Backlog |
Component: | Build & Packages | Keywords: | |
Cc: | echotangoecho, Itms | Patch: |
Description (last modified by )
When updating to r19165, one has to call "make clean" in build/workspaces/gcc/, otherwise the old turnmanager objects still exist and prevent a successful build (Many people couldn't build without this information).
clean-workspaces.sh
is everything that should be required to start a fresh build and should call "make clean" before removing the gcc directory.
Change History (9)
comment:1 by , 7 years ago
comment:2 by , 7 years ago
Yes, but it's not only playtesters:
2017-01-24-QuakeNet-#0ad-dev.log:15:29 < cc_> I tried clean-workspaces.sh but not make clean, I thought the first implied the second
and it wouldn't hurt to add it, no?
comment:3 by , 7 years ago
It would do things the script name does not imply. And people not reading the build instructions when building fails is not something I consider worth supporting.
comment:5 by , 7 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
Nope, if you want you can clarify or add another block of text (maybe to the known issues section?) to the BuildInstructions.
comment:6 by , 7 years ago
Milestone: | Backlog |
---|
comment:7 by , 5 years ago
Description: | modified (diff) |
---|---|
Milestone: | → Backlog |
Jenkins is also affected by this, for example following the file rename in Phab:rP23018
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
Another example was the rename in Phab:rP22801:
2019-08/2019-08-16-QuakeNet-#0ad-dev.log:20:53 < minohaka> 0ad/build/workspaces/gcc/../../../source/gui/GUIutil.h:211: undefined reference to `bool │Generated ../workspaces/gcc/atlas.make... __ParseString<CSize>(CStrW const&, CSize&)' 2019-08/2019-08-16-QuakeNet-#0ad-dev.log:20:53 < minohaka> I'm getting this error when I try to build on linux 2019-08/2019-08-16-QuakeNet-#0ad-dev.log:20:55 < minohaka> I ran clean-workspaces.sh 2019-08/2019-08-16-QuakeNet-#0ad-dev.log:20:55 < minohaka> trying again... 2019-08/2019-08-16-QuakeNet-#0ad-dev.log:20:57 < minohaka> that did the trick thanks 2019-08/2019-08-16-QuakeNet-#0ad-dev.log:21:38 < minohaka> make clean worked
TODO for this ticket should be to (1) fix Jenkins and (2) provide reasoning further than nope as to why changing clean-workspaces.sh
to avoid the renamed file issue is impossible or unpreferable (or change the file in any way that achieves that if that is possible and preferable.)
comment:8 by , 5 years ago
Resolution: | worksforme |
---|---|
Status: | closed → reopened |
comment:9 by , 5 years ago
Summary: | clean-workspaces.sh should call make clean → clean-workspaces.sh fails for renamed files (vs make clean) |
---|
Many people seem unable to read the BuildInstructions. I'd close this as worksforme.