Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarification in instructions for people not used to building from source? #5

Open
televators opened this issue Jan 9, 2022 · 1 comment

Comments

@televators
Copy link

televators commented Jan 9, 2022

Howdy! Just got my main desktop running again after hardware-related downtime. Super stoked to find this project since I started learning Blender with 3.0 on my laptop that has W10.

I just have two questions.

  1. What the hell is the Blender source tree? I do front-end web stuff and never have a need to build from source or even think about C langs and compiling. I have all the stuff downloaded and have the folders opened ready to copy the bcompat7.patch but I don't know what the "Blender source tree" means in the instructions. In blender/, is it build_files/? source/? /?
  2. In the second step,

To use the your own build of this compatibility DLL, overwrite the files in the lib/win64_vc15/bcompat7 directory created after running make update

'to use your compatibility DLL' sounds like this is an optional step. Is this step required to run Blender on W7? And when you say, "overwrite the files..." but you don't say what I'm overwriting them with. Not sure what to do with this second step at all.

Sorry for the probably ubernoob questions, this is just an area I'm not sure how to make judgement calls on since I'm out of my wheelhouse. Thank you for any help!

@Limezero
Copy link

Limezero commented Jan 9, 2022

If you follow the building instructions on the Blender wiki, you will end up with a folder that looks like this:

2022 01 09_18 25 16

"blender" is the name of the folder git downloads the source code into.

If you type make update (in reality this launches a script called make.bat with the parameter 'update'), the build script downloads all of the external programs, libraries and dependencies you need to build Blender into a folder called "lib".

When you run the script again and actually compile the source code, everything gets turned into a nice self-contained Blender installation, and the final output is moved to a directory called "build_windows_Release_x64_vc16_Release".

What the hell is the Blender source tree?

Things in computer science are often kept track of as "trees" under the hood, source code management and files in directories being such examples. Basically, it's just a fancy term people use which means "the folder where the source code is" - in this case the folder named "blender" seen on the picture above.

You take bcompat7.patch, and you move it to the blender folder. JUST the blender folder, not any other folder inside that. In technical terms, you would be moving it to the root of the folder, hence the tree analogy.

'to use your compatibility DLL' sounds like this is an optional step.

Read that bit again, the instructions were for if you want to use your own build of the compatibility DLL. Basically, if you want to make modifications to bcompat7 and use that modified version in the copy of Blender you're compiling. If you recall back to earlier, the lib directory is where Blender stores third party stuff. bcompat7 piggybacks on top of that system - what that .patch file you apply does is change the build instructions very slightly to have Blender download bcompat7 from this GitHub page as an external dependency, and build it into the application along with everything else (that's why you have to apply the patch before running make update). So if you wanted to use your own special modified version of bcompat7, you'd need to move it into that folder and replace the one downloaded from GitHub with it.

...Also, chances are you don't need to do any of that, because there's already a compiled version of Blender 3.0 (the latest stable version) on the releases page of this project which you can use:

https://github.com/nalexandru/BlenderCompat/releases/tag/3.0.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants