Stan` Posted April 15, 2021 Report Share Posted April 15, 2021 Actually you should fetch up not down. A24B is the version that crashes on your intel HD 605 2 minutes ago, Ceres said: Hmm, trees and blobs... UseĀ 3815c082925df90726f0207edd53497407ebff99 Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 You mean "up", because the latest one (and in this case the working one) is always (by definition) at the top? Ok, I will keep this in mind. The a24bxxxxxx are the revisions and the highlighted numbers in the screenshot the commits, correct? Ā There are many [Windows] Automated builds: https://github.com/0ad/0ad/search?q=[Windows]+Automated+build&type=commits How could I have found by myself the commit (3815c082925df90726f0207edd53497407ebff99) you kindly posted? Quote Link to comment Share on other sites More sharing options...
Stan` Posted April 15, 2021 Report Share Posted April 15, 2021 9 minutes ago, Ceres said: Ā Ā There are many [Windows] Automated builds: https://github.com/0ad/0ad/search?q=[Windows]+Automated+build&type=commits How could I have found by myself the commit (3815c082925df90726f0207edd53497407ebff99) you kindly posted? It's the one at the top :p Quote You mean "up", because the latest one (and in this case the working one) is always (by definition) at the top? Ok, I will keep this in mind. The a24bxxxxxx are the revisions and the highlighted numbers in the screenshot the commits, correct? Nope HEAD (Works on HD 605) ... ... Fix somewhere here ... ... ... A24B - Automated build - Broken current version. (Doesn't work on Intel HD 605) Fix No pch build ... ... A24 ... ... A23 Ā Ā Ā Ā Ā Ā Ā Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 (edited) Oh my bad. The version on top (HEAD) is the one I used for my build. I've started reading some introduction to git and will hopefully learn faster. Just need to see how I do 'git reset --hard a24b' correctly, so that it works (tomorrow, though). Have a good evening - and thousand thanks for your patience and very helpful hints. Edited April 15, 2021 by Ceres 1 Quote Link to comment Share on other sites More sharing options...
Stan` Posted April 15, 2021 Report Share Posted April 15, 2021 Thank you for your patience too. Git is frustrating when you don't understand it! Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 15, 2021 Author Report Share Posted April 15, 2021 Yep, and I don't understand it - yet. But I am really willing to do so. It's good for my personal education, it will be great to be able to help you guys with this wonderful game, and your and others' help and friendliness here is amazing. Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 16, 2021 Author Report Share Posted April 16, 2021 (edited) So I'm back again (for a short while). I just did this: $ git status On branch master Your branch is up to date with 'origin/master'. nothing to commit, working tree clean $ git reset --hard 3815c08 Updating files: 100% (2876/2876), done. HEAD is now at 3815c08292 [Windows] Automated build. And run 'update-workspaces.bat'. Now I will go to VC and build - just to get the hang on it. Ā Edited April 16, 2021 by Ceres Quote Link to comment Share on other sites More sharing options...
hyperion Posted April 16, 2021 Report Share Posted April 16, 2021 Instead of manually picking a commit I suggest you use git bisect instead. See https://git-scm.com/docs/git-bisect Example start: $ git bisect start --term-old broken --term-new fixed $ git bisect fixed master $ git bisect broken A24b After that git will checkout an appropriate commit for you to test and mark as either broken or fixed, this repeats till you found the commit you were looking for. 2 Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 16, 2021 Author Report Share Posted April 16, 2021 Oh, I thought that I need to build so many commits until I find out which one is the last one that works and which one is the first that crashes (top to bottom). So bisect does that for me? How can it know if it crashes? Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 16, 2021 Author Report Share Posted April 16, 2021 Another question: Would it be sufficient to only copy the pyrogenesis.exe over to the "gaming PC" in question (where it chrashed), or do I need to copy all folders & files (under 'binaries') from the "developer's laptop" to the "gaming PC"? Quote Link to comment Share on other sites More sharing options...
Stan` Posted April 16, 2021 Report Share Posted April 16, 2021 10 minutes ago, Ceres said: Another question: Would it be sufficient to only copy the pyrogenesis.exe over to the "gaming PC" in question (where it chrashed), or do I need to copy all folders & files (under 'binaries') from the "developer's laptop" to the "gaming PC"? It might be enough yes, you might get some errors, but as long as you manage to start a single player game you're fine Ā 1 Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 16, 2021 Author Report Share Posted April 16, 2021 (edited) Ah... master@HP-PC MINGW64 ~/Documents/0AD/0ad (master) $ git status On branch master Your branch is up to date with 'origin/master'. nothing to commit, working tree clean master@HP-PC MINGW64 ~/Documents/0AD/0ad (master) $ git bisect start --term-old broken --term-new fixed master@HP-PC MINGW64 ~/Documents/0AD/0ad (master|BISECTING) $ git bisect fixed master master@HP-PC MINGW64 ~/Documents/0AD/0ad (master|BISECTING) $ git bisect broken 3815c082925df90726f0207edd53497407ebff99 Bisecting: 1257 revisions left to test after this (roughly 10 steps) [8e937dd07773957432668863c0bc5aaf6f69f100] Merge 'remotes/trunk' master@HP-PC MINGW64 ~/Documents/0AD/0ad ((8e937dd077...)|BISECTING) Is now the time to execute (again) 'update-workspaces.bat', go to VC and build again? Ā PS: Sorry about my stupid 'master' username on the laptop. Could be confused with git's master. And no, I am no master at all (of desaster, maybe ). Edited April 16, 2021 by Ceres Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 16, 2021 Author Report Share Posted April 16, 2021 Oh, do I have to close VC and open 'build\workspaces\vs2017\pyrogenesis.sln' fresh? I have not done so just now, but got error messages when starting the build process (e.g. unknown compiler version, despite all solutions have everything set up just as before in VC). Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 16, 2021 Author Report Share Posted April 16, 2021 (edited) Not good: 1>------ Build started: Project: Collada, Configuration: Release Win32 ------ 2>------ Build started: Project: atlas, Configuration: Release Win32 ------ 3>------ Build started: Project: engine, Configuration: Release Win32 ------ 4>------ Build started: Project: graphics, Configuration: Release Win32 ------ 1> Creating library ..\..\..\binaries\system\Collada.lib and object ..\..\..\binaries\system\Collada.exp 2>ActorViewer.cpp 2>Brushes.cpp 2>GameLoop.cpp 2>CameraCtrlHandlers.cpp 2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2039: 'unary_function': is not a member of 'std' (compiling source file ..\..\..\source\tools\atlas\GameInterface\GameLoop.cpp) 2>c:\users\master\documents\0ad\0ad\libraries\win32\boost\include\boost\detail\container_fwd.hpp(117): note: see declaration of 'std' (compiling source file ..\..\..\source\tools\atlas\GameInterface\GameLoop.cpp) 2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2504: 'unary_function': base class undefined (compiling source file ..\..\..\source\tools\atlas\GameInterface\GameLoop.cpp) 1>Collada.vcxproj -> C:\Users\master\Documents\0AD\0ad\build\workspaces\vs2017\..\..\..\binaries\system\Collada.dll 2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2143: syntax error: missing ',' before '<' (compiling source file ..\..\..\source\tools\atlas\GameInterface\GameLoop.cpp) 2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2039: 'unary_function': is not a member of 'std' (compiling source file ..\..\..\source\tools\atlas\GameInterface\Brushes.cpp) 2>c:\users\master\documents\0ad\0ad\libraries\win32\boost\include\boost\detail\container_fwd.hpp(117): note: see declaration of 'std' (compiling source file ..\..\..\source\tools\atlas\GameInterface\Brushes.cpp) 2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2504: 'unary_function': base class undefined (compiling source file ..\..\..\source\tools\atlas\GameInterface\Brushes.cpp) 2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2143: syntax error: missing ',' before '<' (compiling source file ..\..\..\source\tools\atlas\GameInterface\Brushes.cpp) 2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2039: 'unary_function': is not a member of 'std' (compiling source file ..\..\..\source\tools\atlas\GameInterface\ActorViewer.cpp) 2>c:\users\master\documents\0ad\0ad\libraries\win32\boost\include\boost\detail\container_fwd.hpp(117): note: see declaration of 'std' (compiling source file ..\..\..\source\tools\atlas\GameInterface\ActorViewer.cpp) 2>c:\users\master\documents\0ad\0ad\source\lib\file\file.h(63): warning C4458: declaration of 'pathname' hides class member (compiling source file ..\..\..\source\tools\atlas\GameInterface\Brushes.cpp) 2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2504: 'unary_function': base class undefined (compiling source file ..\..\..\source\tools\atlas\GameInterface\ActorViewer.cpp) 2>c:\users\master\documents\0ad\0ad\source\lib\file\file.h(94): note: see declaration of 'File::pathname' (compiling source file ..\..\..\source\tools\atlas\GameInterface\Brushes.cpp) 2>c:\users\master\documents\0ad\0ad\source\lib\path.h(309): error C2143: syntax error: missing ',' before '<' (compiling source file ..\..\..\source\tools\atlas\GameInterface\ActorViewer.cpp) ... What am I doing wrong now? Or has it to do with bisect? I just assumed yes, did a bisect bad and build again. Though I am still not clear whether the 'update-workspaces.bat' is necessary every time and/or whether in VC I have to 'reset' something or close and open VC again. Edited April 16, 2021 by Ceres Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 16, 2021 Author Report Share Posted April 16, 2021 (edited) git.exe bisect fixed Bisecting: 628 revisions left to test after this (roughly 9 steps) [2729de9e9daa5810f96bde29f6be3d3402991ee4] Merge 'remotes/trunk' Success (62875 ms @ 16.04.2021 19:13:06) In VC, again lots of warnings and errors: 1>------ Build started: Project: Collada, Configuration: Release Win32 ------ 2>------ Build started: Project: atlas, Configuration: Release Win32 ------ 3>------ Build started: Project: engine, Configuration: Release Win32 ------ 4>------ Build started: Project: graphics, Configuration: Release Win32 ------ 2>precompiled.cpp 1>precompiled.cpp 1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fmath\fmvector3.h(107): warning C4458: declaration of 'x' hides class member 1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fmath\fmvector3.h(31): note: see declaration of 'FMVector3::x' 1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fmath\fmvector3.h(107): warning C4458: declaration of 'y' hides class member 1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fmath\fmvector3.h(32): note: see declaration of 'FMVector3::y' 1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fmath\fmvector3.h(107): warning C4458: declaration of 'z' hides class member 1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fmath\fmvector3.h(33): note: see declaration of 'FMVector3::z' 1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fcdocument\fcdentity.h(167): warning C4458: declaration of 'daeId' hides class member 1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fcdocument\fcdobjectwithid.h(42): note: see declaration of 'FCDObjectWithId::daeId' 1>c:\users\master\documents\0ad\0ad\libraries\source\fcollada\include\fcdocument\fcdextra.h(199): warning C4458: declaration of 'name' hides class member 2>Unknown compiler version - please run the configure tests and report the results 3>precompiled.cpp Sorry, I think I have to quit for today - family is waiting. Edited April 16, 2021 by Ceres Quote Link to comment Share on other sites More sharing options...
Silier Posted April 16, 2021 Report Share Posted April 16, 2021 you can ignore warnings, also always run update-workspaces when you are getting new cpp/h files, sometimes build clean is required, sometimes may happen just commit you chose is broken itself. 1 Quote Link to comment Share on other sites More sharing options...
hyperion Posted April 17, 2021 Report Share Posted April 17, 2021 On 16/04/2021 at 6:40 PM, Ceres said: Oh, I thought that I need to build so many commits until I find out which one is the last one that works and which one is the first that crashes (top to bottom). So bisect does that for me? How can it know if it crashes? @vladislavbelov suggest you do a binary search and git-bisect is the perfect helper for this task. You can fully automate the process but consider this advanced usage of git-bisect which is probably out of reach for now. Just use git-bisect for book keeping and picking a commit in between last broken and first fixed and do building and testing as you did already. Getting to know git-bisect is worth some initial mind gymnastic. 1 Quote Link to comment Share on other sites More sharing options...
Stan` Posted April 17, 2021 Report Share Posted April 17, 2021 The errors above suggest he reverted to A23 and are boost warnings because our version was so old then it didn't know about vs2017 1 Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 18, 2021 Author Report Share Posted April 18, 2021 Here is what I did: master@HP-PC MINGW64 ~/Documents/0AD/0ad (master) $ git status On branch master Your branch is up to date with 'origin/master'. nothing to commit, working tree clean master@HP-PC MINGW64 ~/Documents/0AD/0ad (master) $ git bisect start --term-old broken --term-new fixed master@HP-PC MINGW64 ~/Documents/0AD/0ad (master|BISECTING) $ git bisect fixed master master@HP-PC MINGW64 ~/Documents/0AD/0ad (master|BISECTING) $ git bisect broken 3815c082925df90726f0207edd53497407ebff99 Bisecting: 1257 revisions left to test after this (roughly 10 steps) [8e937dd07773957432668863c0bc5aaf6f69f100] Merge 'remotes/trunk' master@HP-PC MINGW64 ~/Documents/0AD/0ad ((8e937dd077...)|BISECTING) Then I went to VC where warnings and errors where shown when trying to build pyrogenesis. I understood that the hash 3815c082925df90726f0207edd53497407ebff99 is the broken one (for me). This is not A23, or is it? Ā Ā Quote Link to comment Share on other sites More sharing options...
Stan` Posted April 18, 2021 Report Share Posted April 18, 2021 It's not. Nvm Quote Link to comment Share on other sites More sharing options...
Stan` Posted April 18, 2021 Report Share Posted April 18, 2021 8e937dd07773957432668863c0bc5aaf6f69f100 That'sĀ 2017 though Ā Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 18, 2021 Author Report Share Posted April 18, 2021 1 hour ago, Stan` said: 8e937dd07773957432668863c0bc5aaf6f69f100 That'sĀ 2017 though Ā But why did bisect use this one? Quote Link to comment Share on other sites More sharing options...
hyperion Posted April 18, 2021 Report Share Posted April 18, 2021 3 hours ago, Ceres said: But why did bisect use this one? It's due to merging (I presume you use github mirror). This may result in anything but a linear history. Guess there was a bug in the script or some manual intervention with issues. See $ git rev-list --count A24b..master 2532 There certainly weren't that many commits to svn since then Ā All the more reason to use git-bisect which is branch aware. In case you come across a commit (check with git show) which you think is pointless to test or you can't test (because it doesn't build etc) just use "git bisect skip" to get a new suggestion. 2 Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 20, 2021 Author Report Share Posted April 20, 2021 Thank you - I will try this, but it might take a while. I am still learning these brain gyms. Ā Quote Link to comment Share on other sites More sharing options...
Ceres Posted April 26, 2021 Author Report Share Posted April 26, 2021 Hey guys, I just wanted to let you know that I have not given up learning to understand how this all works. It just takes ... I just started from scratch again and will check throughout this week where this will lead me to. master@HP-PC MINGW64 ~/Documents/0AD $ git clone https://github.com/0ad/0ad.git 0ad Cloning into '0ad'... remote: Enumerating objects: 515144, done. remote: Counting objects: 100% (9649/9649), done. remote: Compressing objects: 100% (2861/2861), done. remote: Total 515144 (delta 7998), reused 7894 (delta 6777), pack-reused 505495 Receiving objects: 100% (515144/515144), 4.99 GiB | 12.30 MiB/s, done. Resolving deltas: 100% (402690/402690), done. Updating files: 100% (35939/35939), done. Thanks for your patience! 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.