[Bf-committers] Can anyone update the Scons and Darwin OSX install file and tips ?

trip somewhere trip0o at gmail.com
Wed Mar 8 17:45:22 CET 2006


I can't for maddness get osx to compile anymore. I have done nothing
nw with the system but something changed with the scons and make even
though lib contains the files it asks for it wont see them.. So I read
the install file again and it is woefully out of date now..
Some people are building it, canyou tell how ??

I have done all of this.

and I still get this with a brand new cvs
scons: done reading SConscript files.
scons: Building targets ...
Compiling ==> 'SND_DummyDevice.cpp'
In file included from intern/SoundSystem/dummy/SND_DummyDevice.h:35,
                 from intern/SoundSystem/dummy/SND_DummyDevice.cpp:42:
intern/SoundSystem/intern/SND_AudioDevice.h:35:30: error:
SND_IAudioDevice.h: No such file or directory
intern/SoundSystem/intern/SND_AudioDevice.h:36:26: error:
SoundDefines.h: No such file or directory
In file included from intern/SoundSystem/intern/SND_AudioDevice.h:37,
                 from intern/SoundSystem/dummy/SND_DummyDevice.h:35,
                 from intern/SoundSystem/dummy/SND_DummyDevice.cpp:42:
intern/SoundSystem/intern/SND_IdObject.h:40:29: error:
SND_SoundObject.h: No such file or directory
intern/SoundSystem/intern/SND_IdObject.h:46: error: ISO C++ forbids
declaration of 'SND_SoundObject' with no type
intern/SoundSystem/intern/SND_IdObject.h:46: error: expected %<;%>
before '*' token
intern/SoundSystem/intern/SND_IdObject.h:53: error: ISO C++ forbids
declaration of 'SND_SoundObject' with no typ

I have the files  that it claims No such file or directory in that
directory......
Anyway he is the old install directions in cvs for scns and osx


----------------------Basic SCon TIPS-----------------------------------

To be able to build with the SCons build system you'll need Python (preferably
version 2.2.x) and SCons (http://www.scons.org) installed. After you're
sure these work properly you are ready to build with SCons.

Systems supported at the moment are:
* Linux (Michel_)
* Windows (jesterKing)
* Irix (Hos)
* Cygwin (Michel_)
* MacOS (sgefant)

All except Linux build with this system against the precompiled libraries,
so be sure to get them from CVS, ie. for Windows:

cvs -z3 -d:pserver:anonymous at cvs.blender.org:/cvsroot/bf-blender co lib/windows

Be sure to do this at the same level your blender directory is at
(ie. /home/username/build/blender and /home/username/build/lib/OS).

Not all are entirely complete yet, but the system itself is very usable.

Quick tip 1: type 'scons' to build it.   (If you get errors edit config.opts
	so that it matches your system)
Quick tip 2: type 'scons clean' to clean your build tree.
Quick tip 3: You should also remove/rename config.opts any time SConstruct has
	changed.

The main file of interest is the SConstruct file in the blender
directory. Open this file and browse to the section that concerns your
system. Set any options as necessary (the true/false switches, the
rest should work out-of-the-box).

When you're satisfied with the settings you should run scons. For most systems
that is just in the command-line in the directory containing the SConstruct
file. If you want to, you can use the switch -j N for benefiting more
processors,
and --debug=time for timing the entire build process.

If you are on Windows and you want to compile with MSVC (6 and 7) you'll need
to run vcvars32.bat in your command-line (DOS-box) to set the necessary
environment variables. Be sure to browse to the blender top-directory. Type
'scons' and watch the build fly by.

For the Windows build the QuickTime SDK is expected to be at
lib\windows\QTDevWin\CIncludes
and
lib\windows\QTDevWin\Libraries,
but you can alter the SConstruct file to point it to the path you have your
QuickTime SDK installed.








----------------------Mac OSX TIPS--------------------------------------

When building Blender on OSX you have two choices:
METHOD 1. Build using the old NaN Makefiles.
METHOD 2. Use the SCons build system (see above)

Step1:
If you want to follow method 1, follow the "Basic Makefile TIPS" above
to set the
environment variables. You don't need to edit the Makefiles. They should work
out of the box in combinations with some external libraries that should be on
your system in a fixed location.

Step 2:
You can use the package installer fink (http://fink.sourceforge.net/) for some
of the external libraries:
1. jpeg    (fink install libjpeg)
2. png     (fink install libpng3)
3. cvs	   (fixes some bugs in the shipped cvs: fink install cvs)
4. python23 ((adds the static lib for python) fink install python23)
	You will probably want to select python-nox when
	it asks you. (Also read python note below)
5. freetype (fink install freetype2)


If you use OSX 10.3, the python framework is part of the OS installation, so you
don't have to use the fink installer for it. The Makefile is configured for 10.3
by default, so for 10.2 you have to open source/nan_definitions.mk and
comment out:
	export PY_FRAMEWORK	= 1

Step 3:
The rest of the external libraries are present in CVS in binary format so you
don't have to download them. Precompiled libraries are found in CVS in
directory:
$NANBLENDERHOME/lib/darwin-6.1-powerpc
If you are not running on a darwing kernel 6.1 (which is likely if you auto-
update your system, you might want to add a symbolic link in the
$NANBLENDERHOME/lib/ directory. For example, if you work on a 6.2 kernel:
ln -s darwin-6.1-powerpc darwin-6.2-powerpc

Step 4:
Start the build process by building Blender's "intern" libraries. Navigate to
$NANBLENDERHOME/intern and type make. This will build the intern libraries which
will be installed into the $NANBLENDERHOME/lib/darwin-6.1-powerpc (thanks to
the symbolic link).
Do the same for the $NANBLENDERHOME/extern directory

Step 5
Navigate to $NANBLENDERHOME/source and type make.

Step 6:
Although the Makefiles in the intern directory run ranlib on the libraries
built, the gcc linker complains about ranlib not being run. Until there is a
solution, you will need to run ranlib by hand once in a while when the make
breaks. Luckily, the error message lists the full path of the file to run
ranlib on... so just type "ranlib */*.a" or so. :)


BUILDING EXTERNAL LIBRARIES
If you don't want to use the precompiled libraries you can download and/or
build them yourself. Here are some directions.


FREETYPE
- the freetype lib in /usr/X11R6 installed by apple X11 SDK dont work
in blender (not the standard lib)
- both those installed by fink and darwinports can work, or you can
compile your own. in any case,
dont move these libs from their install location or you will break
other libs (like fgtl) that rely on them.

* if you must move them, edit freetype-config and adjust prefix
variable (3rd line).
* always keep freetype-config in the bin directory of the new location
* for blender, safer to set enable_shared=no
* to build easily those unix libs create a symbolic link as follow :
            sudo ln -s
/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers
/usr/include/GL
* build the unix version, not the mac one
* use ./configure then make and make install
* the CVS version of freetype-config has the path on my computer,
adjust it to yours if you want to rebuild fgtl

FGTL
* freetype must be already installed and working
* build the unix version, not the mac one
* set FT2_CONFIG var to the full path of freetype-config
* configure with the following options --without-x 
--with-ft-prefix=PFX --with-ft-exec-prefix=PFX where PFX is the valid
path


More information about the Bf-committers mailing list