Blender binary installation and dependencies



1. General functional requirements:

--------BLENDER USERS

- Users only have to unpack the download file, and should be able to run immediately without root access to a system. We provide a simple checklist for them to detect the minimum requirements of their system.
- installation files for Blender - whether libs or data - always reside either in the installation directory, or in $HOME/.blender/. Unless the OS itself has other conventions for it.
- an additional (optional) installer only takes care of upacking/removing Blender and integration with a desktop system, like icons and filetype assignments. Installers will not overwrite libraries!

--------BLENDER DEVELOPERS

- Blender coders can be assumed to have root access to their system, but required installation of system tools will be restricted to 'make', gcc, etc. A shortlist for that - including minimum versions - will be provided.
- A distinction is made between 'system' libraries, and 'external Blender' libraries. The first category is libc etc. but also includes OpenGL, the second is part of the Blender CVS lib/ checkout; including python, freetype, openal, etc etc.
- manually, a developer can force linking to 'external Blender' libs at other locations.
- for a release, 'system' libraries will be linked dynamically, 'external Blender' libraries static. Unless the OS doesn't provide that...



2. Blender 2.3x library dependencies


OS

Part of the OS:
(or install yourself)

Static compiled in

Dynamic lib in Blender distro

Installation remarks






Linux intel
FreeBSD intel
Irix
Solaris

Gettext
OpenGL
SDL

Freetype2
FTGL
Python 2.2


Static Linux versions have OpenGL compiled in

OSX

OpenGL
Quicktime

Gettext
Freetype2
FTGL
Python 2.2
SDL



Windows

OpenGL
Quicktime
SDL

Freetype2
FTGL

gnu_gettext.dll
Python2.2.dll

Quicktime is optional, Blender runs without.



3. Blender 2.3x external help files

File

Where

What

How





.B.blend

Home dir

Default start file and user settings

Compiled in, created at startup when it doesn't exist. User then is free to change it by saving using CTRL+U.

.Blog

Home dir

Last saved file

Created automatically.

.Bfs

Home dir

List of preference directories added to the fileselect menu

Has to be created and maintained manually

.Bfont

Home dir

Startup adobe font for 3d text

Compiled in, created at startup when it doesn't exist.

.Bbip


Help file for image selector

Saved automatically while using imageselector





.Blanguages

Home dir
or
current dir

File that describes which languages are available

Is in the installation directory.
Has to be manually copied to $HOME, and can be altered there. Blender checks $HOME first, then current dir.

.Bfont.ttf

current dir

Startup freetype font for interface (not 3d text)

Is in the installation directory.
Only needed for first time running blender. The User setting menu allows to set up different fonts

message/xx/xx/....

Home dir
or
current dir

Gettext directory structure for translations

Is in the installation directory.
Has to be manually copied to
$HOME/.blender/ and can be altered there.
Blender checks $HOME first, then current dir.






NOTE: 'current dir' means:
- for Windows and unices: the directory where the blender executable resides
- for OSX: the directory in blender.app/Contents/Resources/

NOTE: 'home dir' means:
- for unices and OSX, this is always defined as the user home directory (unix define $HOME)
- For Windows, the $HOME directory is defined as: (?)

NOTE: $HOME/.blender/
Starting with Blender 2.28, we will move all help files from $HOME to the $HOME/.blender/ location.

NOTE: Homedir or current dir
When Blender starts, it will first check Homedir for the files, if not find it will check on current dir next.