<div>The log says that configuration SDL tool `sdl-config` is not installed, </div><div>probably, due to you have installed SDL framework. Cabal, or the SDL package</div><div>(I dont know who has the problem here) doesn&#39;t take into account that the</div>

<div>system is a MacOs so it doesn&#39;t search the library as a framework.</div><div><br></div><div>To solve this, you have to compile the library manually, just `./configure &amp;&amp;</div><div>make &amp;&amp; sudo make install` or install it with MacPorts. Then you will be able</div>

<div>to compile SDL projects. Nothing more. If you want to link and run your own</div><div>Haskell SDL projects on MacOs you have to dive in the next odyssey:</div><div><br></div><div>SDL has a tricky way to enable C `main` function to run graphic applications</div>

<div>on all systems. So first, we need a C function wich is going to be hooked by</div><div>SDL, and this function is going to run our Haskell application. We put this</div><div>main function in c_main.c [1].</div><div><br>

</div><div>To be compatible with all other plataforms we have keep our Main Haskell</div><div>function, so we rename this function in a FFI Module which will be compiled</div><div>only on MacOS, named HS_Main.hs [2].</div>

<div><br></div><div>Now we have to compile c_main.c with:</div><div><br></div><div>gcc -c c_main.c `sdl-config --cflags` -framework GHC</div><div><br></div><div>But, surprise, the GHC framework seems that is not well-formed, so gcc can not get the</div>

<div>header and you have to search it manually. In my case: </div><div><br></div><div>find / -name &quot;HsFFI.h&quot;</div><div>...</div><div>/Library/Frameworks/GHC.framework/Versions/612/usr/lib/ghc-6.12.3/include/HSffi.h</div>

<div>...</div><div><br></div><div>gcc -c c_main.c `sdl-config --cflags` -I/Library/Frameworks/GHC.framework/Versions/612/usr/lib/ghc-6.12.3/include/</div><div><br></div><div>And now we have a c_main.o. Next, we have to compile our HSMain which imports</div>

<div>our Main module which contains the default main function. </div><div><br></div><div>ghc --make HSMain.hs -no-hs-main c_main.o -framework Cocoa</div><div><br></div><div>And if you have the default Haskell plataform for MacOs you are going to get one surprise more:</div>

<div><br></div><div>Linking ./Main ...</div><div>ld: warning: in c_main.o, file was built for unsupported file format which is not the architecture being linked (i386)</div><div>ld: warning: in /usr/local/lib/libSDLmain.a, file was built for unsupported file format which is not the architecture being linked (i386)</div>

<div>ld: warning: in /usr/local/lib/libSDL.dylib, file was built for unsupported file format which is not the architecture being linked (i386)</div><div><br></div><div>This means that you have a 32 bits GHC but gcc compiles to 64 bits. You have</div>

<div>3 options: give up, cross-compile c_main.c and sdl to 32 bits, compile and</div><div>install a custom haskell-plataform enabling 64 bits support.</div><div><br></div><div>Good luck, you will need it!</div><div><br></div>

<div>PD: With cabal is a little more easy, see TimePiece as example [3].</div><div><br></div><div>[1] <a href="https://gist.github.com/839329">https://gist.github.com/839329</a></div><div>[2] <a href="https://gist.github.com/839340">https://gist.github.com/839340</a></div>

<div>[3] <a href="http://hackage.haskell.org/package/TimePiece">http://hackage.haskell.org/package/TimePiece</a></div><div><br></div><div><br></div><div class="gmail_quote">2011/2/21 Tom Murphy <span dir="ltr">&lt;<a href="mailto:amindfv@gmail.com">amindfv@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div>When I use Cabal to get any program which depends on the SDL library, this is the error I get.</div><div><br></div>

<div>&quot;</div><div>checking for sdl-config... no</div><div>checking for sdl11-config... no</div><div>
configure: error: *** SDL not found! Get SDL from <a href="http://www.libsdl.org" target="_blank">www.libsdl.org</a>.</div><div>If you already installed it, check it&#39;s in the path. If problem remains,</div><div>please send a mail to the address that appears in ./configure --version</div>


<div>indicating your platform, the version of configure script and the problem.</div><div>cabal: Error: some packages failed to install:</div><div>Raincat-1.1.1.2 depends on SDL-0.6.2 which failed to install.</div><div>SDL-0.6.2 failed during the configure step. The exception was:</div>


<div>exit: ExitFailure 1</div><div>SDL-image-0.6.1 depends on SDL-0.6.2 which failed to install.</div><div>SDL-mixer-0.6.1 depends on SDL-0.6.2 which failed to install.</div><div>&quot;</div><div><br></div><div><br></div>


<div>I have SDL 1.2.14 (correctly) installed on my system.</div><div>I&#39;d really appreciate any help with this.</div><div><br></div><font color="#888888"><div>Tom</div>
</font><br>_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
<br></blockquote></div><br>