Ticket #2067 (closed bug: invalid)

Opened 7 months ago

Last modified 7 months ago

ALUT fails to build on Mac OS X

Reported by: guest Assigned to:
Priority: normal Milestone:
Component: Build System Version: 6.8.2
Severity: normal Keywords: ALUT, build
Cc: Difficulty: Unknown
Test Case: Architecture: x86
Operating System: MacOS X

Description

Sound.ALUT (2.1.0.0) does not build on Mac OS X: It misses the C header file OpenAL/alut.h.

After some googling I think that the reason is that Apple removed(!) this file from the OpenAL framework, see http://developer.apple.com/qa/qa2006/qa1504.html .

Sound.OpenAL builds fine, but seems to be unusable without ALUT. Also, Christian Maeder's binary distribution of GHC 6.8.2 for Mac OS X 10.4 (Tiger) Intel seems to miss the Sound.ALUT library (but contains Sound.OpenGL); I would guess that the reason is the same.

Change History

01/30/08 17:52:34 changed by igloo

  • status changed from new to closed.
  • difficulty set to Unknown.
  • resolution set to invalid.

In order to build ALUT, you need the C ALUT library. It sounds like this is no longer installed by default on OS X, so you will have to install it yourself if you want to build the Haskell ALUT bindings.

02/02/08 08:01:12 changed by guest

The situation seems to be somewhat messier than that. If I understand the situation correctly, Apple only removed the ALUT header files, but the old, deprecated ALUT 1.0 code is still linked into the OpenAL framework together with the new OpenAL 1.1 code. Now, the function names in ALUT 1.0 (linked into the framework) collide with the new ALUT 1.1 names, so one cannot simply link with an ALUT 1.1 library (provided by Creative under the name freealut, see http://openal.org/downloads.html) and the OpenAL framework included in Mac OS X. You can change the colliding names in the freealut source, which is un ugly hack; nevertheless I did that, and managed to build this freealut library; however I couldn't make it work with GHC, as the the Cabal build system of the Haskell ALUT wanted a (nonexisting) ALUT.framework (I had a libalut.a or something like that instead, as the result of the above hacking).

All in all, I think the current situation is not acceptable, at least with ALUT being on the list of bundled libraries (of course, the main source of the problem is Apple, but still). And while OpenAL 1.1 in theory should work without ALUT, I couldn't make it work.

By the way, the Windows binary distribution of GHC 6.8.2 seems to completely miss both OpenAL and ALUT.