Lack of consistent MD5SUM checks on boost library

I’m attempting to get a full Blender compilation going, and have encountered a strange issue.

A frequent problem is the lack of a dependency or two, so I’m trying to get through build deps. The first few problems were small and easily fixed—this is a Mint 19 system, as an example, and I had to build a newer version of CMake for some of the dependencies. Now, though, I’m getting something like this at every attempt to build.

My command:
$make deps -j1 2>makelog7

The end of ./makelog7:

HARVEST_TARGET = /home/michael/src/blender-git/lib/linux_x86_64
make[4]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
ln: failed to create symbolic link '/home/michael/src/blen4': File exists
make[4]: *** [install] Error 1
make[3]: *** [build/xvidcore/src/external_xvidcore-stamp/external_xvidcore-install] Error 2
make[2]: *** [CMakeFiles/external_xvidcore.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
CMake Error at external_boost-stamp/verify-external_boost.cmake:29 (message):
  error: MD5 hash of

    /home/michael/src/blender-git/build_linux/deps/packages/boost_1_73_0.tar.gz

  does not match expected value

    expected: '4036cd27ef7548b8d29c30ea10956196'
      actual: 'd41d8cd98f00b204e9800998ecf8427e'



make[3]: *** [build/boost/src/external_boost-stamp/external_boost-download] Error 1
make[2]: *** [CMakeFiles/external_boost.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [deps] Error 2

I honestly have no idea how this is now happening; is anyone else having the same issue? Am I doing something wrong, or is the code currently too unstable to compile?

I apologize if some of these are beginner questions; this is my first contribution to the C/C++ of a major project.

Generally the advice is to avoid using build deps (which is intended for platform maintainers), but rather use the precompiled libraries that Blender provides in its svn repository. Are you following the instructions for your platform on https://wiki.blender.org/wiki/Building_Blender ?

Yes, and they didn’t quite work for me. I’m on an AMD/Nvidia machine, and cannot figure out how to get Embree working. It would consistently fail to make anything but lite, on account of failing to find it on my system. There’s nothing in the repos for Mint, and even attempting to compile it (and doing so successfully) did not make it visible to Blender.

In fact, after I learn more about this, I think I can stand to contribute to some of the documentation, as I find it helpful but very lacking. As an example, for arcanist, I really had to focus to understand which commands were meant for a contributor and which were meant for a reviewer and submitter. I’m getting it, though.

My problem here may have actually related to a literally corrupted file; after removing build_linux outright and re-pulling the files, build dep worked out fine. So the checksum problem may have been quite literal about what was wrong. However, I’m encountering a new problem with OpenImageIO’s span.h not being found. I have OpenImageIO-dev, but as far as I can tell, yes it would have a problem finding it, as there’s apparently no such header. Do I need a specific new version?

I’m always hearing about the need to help the Blender team by handling minor bug fixes, which I’m excited to do; but I’ve got to jump this hurdle first. It’s been very convoluted for me. Any help is appreciated.

I’m running make test again to see if I’m missing anything. Hopefully it will give me some reasonably detailed advice on what needs to be fixed.

Sorry, I am not the person that can help here. Maybe someone else will. For questions like what version of OpenImageIO-dev to use, you could again try to look at the svn libraries to see what version is there.

You might also want to give up on having certain functionalities in Blender. For instance, Embree is not important for most users and usages.

Understood, but I do need to have Cycles going, and it’s not available in a common lite build; and it seemed to be connected somehow. I noticed that it seemed to be Intel-specific. I am going over the advice on your link again, though. make test failed rather dramatically…

I’m also noticing that the Ubuntu build instructions have a library link labeled CentOS 7; I would assume that they both need the same files, except that CentOS is based on Red Hat, not Debian, so that seems awfully unlikely. It would be nice if that had been explained, but here goes nothing!

I never run from a challenge, but that doesn’t make it any less challenging!

You don’t have to use either ‘full’ or ‘lite’ – you can turn lots of features on and off in the CMakeCache.txt (perhaps using cmake-gui), Apologies if you were already aware of that.

P.S., you need to enable WITH_GTESTS in that file, and also make sure the svn test library is present in the expected place, to get any joy out of ‘make test’.

I was not aware of that, thank you very much! I’m usually a “Make: Classic Edition” guy. Or a D programmer where I often don’t even need to bother. I’m still getting used to the ins and outs of cmake, so I appreciate your advice.

I’ve also found that whatever I was reading before apparently had the wrong library link. This CentOS 7 one is much larger; and the last one was just labeled linux_x86_64 in my lib folder.

OK, I’ve successfully built the program; @Howard_Trickey was right about his link. Apparently the build deps command built these dependencies, but they were already readily downloadable; hence the lib folder with the wrong name.

The only remaining question is why I don’t have Cycles present in spite of watching it be built into the program (along with OSL and a number of other Cycles-specific features); but this is almost certainly a build flag missing and shouldn’t be a problem to figure out. Afterward, I’ll be detailing this process on my website, and linking it here for completion without hijacking the forum; after which this will be closed.

In fact, it might be to my benefit, if such behavior is acceptable here, to open a new forum with that data and immediately resolve it; but I’m not 100% certain that it’s appropriate. Thank you, every reader, for your consideration; and @Howard_Trickey for your assistance!

Delete/ move the preferences in $HOME/.config/blender/<version>/ then reopen Blender.

That did it, thank you so much @ankitm!

That’s the md5 of an empty file, looks like the boost mirror we rely on is offline, I’ll see what i can do about getting that updated.

1 Like