<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://bitpost.com/w/index.php?action=history&amp;feed=atom&amp;title=Terminus_SDL_and_fmod_under_linux</id>
	<title>Terminus SDL and fmod under linux - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://bitpost.com/w/index.php?action=history&amp;feed=atom&amp;title=Terminus_SDL_and_fmod_under_linux"/>
	<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_SDL_and_fmod_under_linux&amp;action=history"/>
	<updated>2026-04-19T06:59:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_SDL_and_fmod_under_linux&amp;diff=1658&amp;oldid=prev</id>
		<title>SquidBoy at 12:19, 23 July 2006</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_SDL_and_fmod_under_linux&amp;diff=1658&amp;oldid=prev"/>
		<updated>2006-07-23T12:19:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:19, 23 July 2006&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l158&quot;&gt;Line 158:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 158:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Hahaha no excuses!  Seriously I haven&amp;#039;t been up to &amp;quot;Earthmover&amp;quot; quality since... well, Earthmover.  Everybody wants it done YESTERDAY!  :&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Hahaha no excuses!  Seriously I haven&amp;#039;t been up to &amp;quot;Earthmover&amp;quot; quality since... well, Earthmover.  Everybody wants it done YESTERDAY!  :&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/font&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;font style=&quot;color:green&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;We use mepis at work, so I built a mepis box here at home and began installing everything I needed from above.  When I went to install the SDL libs, synaptic started uninstalling X and KDE and a bunch of other stuff.  I guess I should have checked what it was going to do before I clicked ok :-)  Needless to say, my mepis box was toast.&amp;lt;BR&gt;&amp;lt;BR&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;So I built it &amp;lt;B&gt;again&amp;lt;/B&gt; from Fedora 5 and followed your instruction above to the letter :-)  Everything worked beautifully, thanks Mike.  I compiled main.o same as you did.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/font&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/font&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>SquidBoy</name></author>
	</entry>
	<entry>
		<id>https://bitpost.com/w/index.php?title=Terminus_SDL_and_fmod_under_linux&amp;diff=1365&amp;oldid=prev</id>
		<title>M at 03:21, 24 March 2006</title>
		<link rel="alternate" type="text/html" href="https://bitpost.com/w/index.php?title=Terminus_SDL_and_fmod_under_linux&amp;diff=1365&amp;oldid=prev"/>
		<updated>2006-03-24T03:21:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Here&amp;#039;s John&amp;#039;s &amp;quot;getting started&amp;quot; list...&lt;br /&gt;
&lt;br /&gt;
 There is some stuff in here on getting set up to build SDL apps with&lt;br /&gt;
 KDeveloper: http://gpwiki.org/index.php/SDL&lt;br /&gt;
 &lt;br /&gt;
 You will need SDL, plus the SDL_image and SDL_gfx support libs.  &lt;br /&gt;
 Available from: http://www.libsdl.org/index.php&lt;br /&gt;
 &lt;br /&gt;
 And the FMOD sound system from http://www.fmod.org.&lt;br /&gt;
&lt;br /&gt;
Typically I&amp;#039;ll be using either Fedora or Gentoo during my porting effort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;FEDORA&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039; Install SDL and fmod:&lt;br /&gt;
&lt;br /&gt;
 yum install SDL-devel&lt;br /&gt;
 yum install SDL_gfx&lt;br /&gt;
 yum install SDL_gfx-devel&lt;br /&gt;
 yum install SDL_image&lt;br /&gt;
 yum install SDL_image-devel&lt;br /&gt;
 yum install fmod&lt;br /&gt;
 yum install fmod-devel&lt;br /&gt;
 &lt;br /&gt;
 Mar 19 22:42:01 Installed: SDL_gfx.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
 Mar 19 22:45:23 Installed: SDL_image.i386 1.2.4-1.2.fc4.rf&lt;br /&gt;
 Mar 19 23:11:05 Installed: fmod.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:22:26 Installed: fmod-devel.i386 3.74.1-1.2.fc4.rf&lt;br /&gt;
 Mar 20 21:24:32 Installed: alsa-lib-devel.i386 1.0.10-27.rhfc4.at&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4&lt;br /&gt;
 Mar 20 21:24:41 Installed: SDL-devel.i386 1.2.8-4 &lt;br /&gt;
 Mar 20 21:27:59 Installed: SDL_gfx-devel.i386 2.0.13-2.2.fc4.rf&lt;br /&gt;
&lt;br /&gt;
Mike&amp;#039;s comments will occasionally be &amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;marked in blue&amp;lt;/font&amp;gt;, John&amp;#039;s comments &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;in green&amp;lt;/span&amp;gt;, when we&amp;#039;re not feeling lazy.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Huh.  Does that yum app go out and get the latest version too?  Slick.&lt;br /&gt;
I will get some source control up and running today.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Yep it auto-updates everything to the latest stable versions, including tracking down dependencies.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;2&amp;#039;&amp;#039;&amp;#039; Grab the source - John is using subversion - very l337!&lt;br /&gt;
&lt;br /&gt;
 yum install subversion&lt;br /&gt;
   Mar 20 20:00:03 Installed: subversion.i386 1.2.3-2.1&lt;br /&gt;
 &lt;br /&gt;
 cd development&lt;br /&gt;
 mkdir terminus&lt;br /&gt;
 cd terminus&lt;br /&gt;
 svn checkout http://xxxxx/terminus/&lt;br /&gt;
&lt;br /&gt;
and there it is!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;3&amp;#039;&amp;#039;&amp;#039; Build it&lt;br /&gt;
&lt;br /&gt;
sdl-config tells you what you need on the gcc command line:&lt;br /&gt;
&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --libs &lt;br /&gt;
 -L/usr/lib -lSDL -lpthread&lt;br /&gt;
 [m@thedigitalmachine terminus]$ sdl-config --static-libs&lt;br /&gt;
 -L/usr/lib -lSDL -lpthread -lm -ldl -lasound -L/usr/X11R6/lib -lX11 -lXext&lt;br /&gt;
&lt;br /&gt;
So let&amp;#039;s try this:&lt;br /&gt;
&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs`&lt;br /&gt;
&lt;br /&gt;
Here&amp;#039;s what we got so far:&lt;br /&gt;
&lt;br /&gt;
  In file included from system.hpp:17,&lt;br /&gt;
                  from startup.hpp:8,&lt;br /&gt;
                  from main.cpp:8:&lt;br /&gt;
 util/audio.hpp:82: error: syntax error before `*&amp;#039; token&lt;br /&gt;
 util/audio.hpp:145: error: `FMOD_SOUND&amp;#039; was not declared in this scope&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Looks like the version of fmod that Fedora wants to pull down is old (3.74).  I believe we need to go with FMOD Ex 4 (4.03.03 as of this writing).  I will pull down the code from fmod.org and build a local version.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
Hmmm... There are two versions of FMOD Ex, the C and the C++ version.  I had to use the C version because the C++ version is not compatable with Dev-C++ and MinGW.  Check and make sure that you have the C version of the lib installed too.&lt;br /&gt;
&lt;br /&gt;
FYI, here is my linker options:&lt;br /&gt;
&lt;br /&gt;
 -lmingw32 -lSDLmain -lSDL -mwindows&lt;br /&gt;
 ../../Dev-Cpp/lib/libSDL_image.a&lt;br /&gt;
 ../../Dev-Cpp/lib/libfmodex.a&lt;br /&gt;
 ../../Dev-Cpp/lib/libSDL_gfx.a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Try this:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Download the linux tar.gz from http://www.fmod.org&amp;lt;br&amp;gt;&lt;br /&gt;
Notice there is both a fmod.h and an fmod.hpp in the inc dir.&amp;lt;br&amp;gt;&lt;br /&gt;
Put into the compile path, the compiler should compile in the correct one (fmod.h) since that is what is in my files.&amp;lt;br&amp;gt;&lt;br /&gt;
There are two .03 files in the lib dir, is one of those the C version of the lib and the other the CPP?&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
OK I&amp;#039;m getting to the bottom of this.  :&amp;gt;  Looks like FMOD Ex 4 is not open source.  The download includes pre-built libraries but no source code.  The &amp;quot;makefile&amp;quot; just copies the pre-built libraries into place.  I think that will be OK but I have to make sure I know what it&amp;#039;s doing.  From the &amp;quot;makefile&amp;quot; script: &lt;br /&gt;
&lt;br /&gt;
 VERSION    = 4.03.03&lt;br /&gt;
 LIBDIR     = api/lib&lt;br /&gt;
 HDRDIR     = api/inc&lt;br /&gt;
 DESTLIBDIR = /usr/local/lib&lt;br /&gt;
 DESTHDRDIR = /usr/local/include/fmodex&lt;br /&gt;
&lt;br /&gt;
I am going to uninstall Fedora&amp;#039;s fmod 3.74 then try the makefile.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&lt;br /&gt;
FMOD is the one &amp;quot;pay for&amp;quot; piece to the game.  The built-in SDL sound libs were problomatic.  That, and FMOD allows me to use a compressed XM file format that will save me about 5M off my downloadable size.  I think that I will pay about $100 per OS license, once for Win, once for Mac, and once for Linux.  To me, it was a close call, borderline, but in the end I deemed it worth it.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Sounds good to me.  Removing the older (open-source?) fmod:&lt;br /&gt;
&lt;br /&gt;
 yum remove fmod&lt;br /&gt;
  Removing:&lt;br /&gt;
   fmod                    i386       3.74.1-1.2.fc4.rf  installed         431 k&lt;br /&gt;
  Removing for dependencies:&lt;br /&gt;
   fmod-devel              i386       3.74.1-1.2.fc4.rf  installed         1.8 M&lt;br /&gt;
&lt;br /&gt;
Then, I believe I won&amp;#039;t need to run the &amp;quot;Makefile&amp;quot;, I should be able to use the libraries and includes from my local copy, with a little stupid trickery.&lt;br /&gt;
&lt;br /&gt;
 cd /home/m/development/terminus&lt;br /&gt;
 ls&lt;br /&gt;
   fmodapi40303linux  fmodapi40303linux.tar.gz  terminus&lt;br /&gt;
 ln -s fmodapi40303linux fmod&lt;br /&gt;
 cd fmod/api&lt;br /&gt;
 ln -s inc fmod&lt;br /&gt;
 cd ../../terminus&lt;br /&gt;
 g++ main.cpp -o main `sdl-config --cflags --static-libs` -I../fmod/api/ -L../fmod/api/lib/libfmodex.so&lt;br /&gt;
&lt;br /&gt;
Getting further...&lt;br /&gt;
&lt;br /&gt;
 /tmp/cc4ahy85.o(.text+0x12): In function `main&amp;#039;:&lt;br /&gt;
 main.cpp: undefined reference to `TeSystem::Start()&amp;#039;&lt;br /&gt;
 /tmp/cc4ahy85.o(.text+0x22):main.cpp: undefined reference to `TeStartUp::Execute()&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Awesome, that&amp;#039;s in system.hpp.  Sounds like time to build that makefile!  And I see in the meantime, John&amp;#039;s checked in another round of changes, we&amp;#039;re at big fat [10] now, whoop! :&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
I am excited!  The changes I checked in last night include the &amp;quot;introduction movie&amp;quot; from the first campaign.  Right now I am completing mission one.  If you get the movie up and running on Linux that will be a HUGE milestone.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BTW, I hadn&amp;#039;t planned on having any other developers on board, so the code is perhaps not quite up to my normal &amp;quot;team standards&amp;quot;.  I certainly have not taken any pains to &amp;quot;do the right thing&amp;quot; when the end results would be solely cosmetic.  So keep that in mind as you start to dig through the code :)&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Take a peek at os.cpp, that is where I planned on putting any OS specific code.  Right now the only thing that could use implementing is a window centering routine.  And that is a very non-critical piece - cosmetic only.&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;&lt;br /&gt;
Hahaha no excuses!  Seriously I haven&amp;#039;t been up to &amp;quot;Earthmover&amp;quot; quality since... well, Earthmover.  Everybody wants it done YESTERDAY!  :&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;/div&gt;</summary>
		<author><name>M</name></author>
	</entry>
</feed>