Ok, thanks for all then info.
I bashed together a quick script to automate stuff.
First I used git-svn to get a local git repository of all the precompiled libs to prevent hammering the svn server each time I switch libs.
git svn clone --prefix=svn/ -r62361:HEAD https://svn.blender.org/svnroot/bf-blender/trunk/lib/linux_centos7_x86_64/
Checks out everything you need to go back to v2.82, which is not too much.
I stored this git repo in a subdir called gitsvnlib
I the created a script to fish out the date of the currently checkout out revision in the blender subdir and check out the corresponding libs in the gitsvnlib subdir. I then symlink gitsvnlib to lib. This is not really needed but my finger memory got so used to deleting the lib subdir all the time that I do it this way to prevent accidentally wiping my painfully downloaded git repo.
cd `dirname $0`
date=`git log -n 1 --date=iso | grep Date `
rev=$(git rev-list -1 --until="$date" master)
echo Checking out libraries for $date : $rev
git checkout $rev 2> /dev/null
git clean -f -d -x
git reset --hard
rm -rf linux_centos7_x86_64
ln -s ../gitsvnlib/linux_centos7_x86_64 .
this together wit another script in the blender dir named ‘t’:
rm -rf ../build_linux_debug
make debug ninja
make bisecting a loop of
git bisect <good|bad>
So far it seems to work in checking out the correct libs. But I still can’t build v220.127.116.11 because I still get a compilation error. Maybe some off-by one error in which lib version I need.
btw. It’s extremely helpful to set up ccache and add
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
to the top of CMakeLists.txt when doing this. (which you then need to git stash and git apply for each bisect, now that I think of that I should stick that into the ‘t’ script as well…)
it doesn’t work for 18.104.22.168 (I get some compilation error) but it does seem to work for most later revisions, so I can bisect. I’ll try to find out why 22.214.171.124 doesn’t want to build maybe later