Building from source

From SfzWiki
Revision as of 23:20, 12 September 2007 by Ghoulsblade (Talk | contribs)

Jump to: navigation, search

see also the textfile INSTALL in the main dir

For building the Updater from source see UpdaterBuildingFromSource

problems with fmod ? you can try using openal instead, see BuildingWithOpenAL

Dependencies (linux and win)

Windows & Linux

get the static zlib from this package:
Visual C++.Net 2005 (8.0) SP1 Precompiled Dependencies 1.4.x

Linux only


you need either fmod or openal, fmod is used by default, to change this to openal see http://sfz.schattenkind.net/wiki/index.php/BuildingWithOpenAL

linux dependencies as packages (debian/ubuntu)

  • the names of some packages that have to be installed to compile sfz,
  • install use "apt-get install packagename"
  • (this list is probably incomplete, but it might help)


  • liblua50 liblualib50 lua50 liblua50-dev liblualib50-dev
  • libalut-dev
  • libopenal-dev
  • libvorbisfile3
  • libvorbis-dev
  • libboost-dev
  • libboost-thread-dev

maybe those for ode ? but i think i compiled from source

  • libode0-dev
  • libode0c2

Linux with scons

Requirements:

Scons replaces the old autotools build system, just run "scons" and it will automatically search for dependencies, then build SFZ if all the requirements are met.

If you have never used scons before, or if you get compile/linker errors after updating :

  • "scons --clean" (or -c) - Equivalent to "make clean"
  • "scons configure" - Forces scons to run the configure stage again (i.e ./configure)
  • see "scons -H" for more scons specific information

NOTE: If you've installed the libraries SFZ requires into /usr/local/lib/, make sure you add /usr/local/lib to /etc/ld.so.conf otherwise the game will complain about missing libraries.

See also http://www.ogre3d.org/phpBB2/viewtopic.php?t=32549 compile-guide for ogre 1.4.1

LinuxCompileTroubleShooting

BuildingOnGentoo


installing fmod in linux

download FMOD Ex 4.x Programmers API for linux from http://www.fmod.org/

http://www.fmod.org/index.php/download#FMODExProgrammersAPI

 tar xfz fmodapi40622linux.tar.gz
 cd fmodapi40622linux
 su
 make install
 /sbin/ldconfig

if you encounter problems during compile you might have to also do the follwing

 cd /opt/
 mkdir fmod
 cd fmod
 cp -r PLACE_WHERE_UNPACKED/fmodapi40622linux/* .
 /sbin/ldconfig


(the old fmod3.* also needed this, but seems to be irrelevant now : cd /usr/local/lib  ; ln -s /opt/fmod/api/libfmod-3.75.so )

WIN32 with Visual C++ 8.0 Express

  • configure library and include paths yourself:
    • menu : extras : options
    • projects : VC++ directories
    • at the top-right corner choose "libraries" and "includes" from the dropdown and include these paths
      • "libraries"
	libraries:
	C:\sfzlibs\\boost_1_34_1\lib
	C:\sfzlibs\ogre\lib
	C:\sfzlibs\psdk\Lib
	C:\sfzlibs\lua50\lib
	C:\sfzlibs\fmodx\lib
	C:\sfzlibs\zlib\lib (taken as static lib from Precompiled Dependencies)
	C:\sfzlibs\ode-0.8\lib\releasedll

	includes:
	C:\sfzlibs\boost_1_34_1
	C:\sfzlibs\ogre\include
	C:\sfzlibs\ogre\include\OIS
	C:\sfzlibs\lua50\source\include
	C:\sfzlibs\fmodx\include
	C:\sfzlibs\zlib\include\ (taken as static lib from Precompiled Dependencies)
	C:\sfzlibs\ode-0.8\include

        OpenAL (optional)
        -----------------
        libraries:
	C:\sfzlibs\openalsdk\lib
        C:\sfzlibs\freealut\lib
	C:\sfzlibs\libogg\win32\Dynamic_Release
	C:\sfzlibs\libvorbis\win32\Vorbis_Dynamic_Release
	C:\sfzlibs\libvorbis\win32\VorbisFile_Dynamic_Release

        includes:
	C:\sfzlibs\openalsdk\include
        C:\sfzlibs\freealut\include
	C:\sfzlibs\libogg\include
	C:\sfzlibs\libvorbis\include


project settings / linker / input should contain the following : 
libboost_thread-vc80-mt-s-1_34_1.lib ode.lib zlib.lib lua.lib lualib.lib LIBCMT.lib LIBCPMT.LIB User32.Lib AdvAPI32.Lib ws2_32.lib OgreMain.lib SDL.lib OIS.lib fmodex_vc.lib
but they should already be in the project file contained in the svn.


  • compile - release build


  • copy the following dlls into the "\" (root) directory:
	cg.dll  (for shaders, see nvidia hp)
	fmodex.dll (soundsystem)
	OgreMain.dll
	OIS.dll
	Plugin_CgProgramManager.dll (ogre plugin)
	Plugin_OctreeSceneManager.dll (ogre plugin)
	Plugin_ParticleFX.dll (ogre plugin)
	RenderSystem_Direct3D9.dll (ogre plugin)
	RenderSystem_GL.dll (ogre plugin)

        OpenAL (optional)
        -----------------
	alut.dll  (openal)
	ogg.dll   (ogg vorbis)
	vorbis.dll (ogg vorbis)
	vorbisenc.dll (ogg vorbis)
	vorbisfile.dll (ogg vorbis)