• Advertisement

How to build alure (utility of OpenAL Soft) from source

Recommended Posts

I just recently start using OpenAL soft (actually not really use, I'm still struggle with setting this up).

Setup OpenAL soft - Passed

First, I grab the source of OpenAL soft, I just run CMake for this and build, here the CMake result.

Using DirectX SDK directory: C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/
Could NOT find ALSA (missing:  ALSA_LIBRARY ALSA_INCLUDE_DIR) 
Could NOT find OSS (missing:  OSS_INCLUDE_DIR) 
Could NOT find AudioIO (missing:  AUDIOIO_INCLUDE_DIR) 
Could NOT find SoundIO (missing:  SOUNDIO_LIBRARY SOUNDIO_INCLUDE_DIR) 
Could NOT find QSA (missing:  QSA_LIBRARY QSA_INCLUDE_DIR) 
Could NOT find PortAudio (missing:  PORTAUDIO_LIBRARY PORTAUDIO_INCLUDE_DIR) 
Could NOT find PulseAudio (missing:  PULSEAUDIO_LIBRARY PULSEAUDIO_INCLUDE_DIR) 
Could NOT find JACK (missing:  JACK_LIBRARY JACK_INCLUDE_DIR) 
CMake Warning at utils/alsoft-config/CMakeLists.txt:13 (find_package):
  By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "Qt5Widgets", but CMake did not find one.

  Could not find a package configuration file provided by "Qt5Widgets" with
  any of the following names:

    Qt5WidgetsConfig.cmake
    qt5widgets-config.cmake

  Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set
  "Qt5Widgets_DIR" to a directory containing one of the above files.  If
  "Qt5Widgets" provides a separate development package or SDK, be sure it has
  been installed.


Found unsuitable Qt version "" from NOTFOUND
Could NOT find SDL2 (missing:  SDL2_LIBRARY SDL2_INCLUDE_DIR) 

Building OpenAL with support for the following backends:
     WinMM, DirectSound, MMDevApi, WaveFile, Null

Building with support for CPU extensions:
    Default, SSE, SSE2, SSE3, SSE4.1

Installing sample configuration

Installing HRTF definitions

Installing AmbDec presets

Building utility programs

Building test programs

Building example programs
Configuring done
Generating done

So I see that I have no Qt & SDL2 for my OpenAL-soft, hope that ok (I don't even know what it for, as long as the I can build OpenAL-soft, I don't really care)

So setup OpenAL-soft seem easy.

Setup alure - failed

I got trouble when I setup alure,

I setup CMake like this:

OPENAL_INCLUDE_DIR = E:/Source/openal-soft/include/AL
OPENAL_LIBRARY = E:/Source/_build/openal-soft/Release

And I get the CMake result like this:

Found OpenAL: E:/Source/_build/openal-soft/Release  
Could NOT find OGG (missing:  OGG_LIBRARY OGG_INCLUDE_DIR) 
Could NOT find SndFile (missing:  SNDFILE_LIBRARY SNDFILE_INCLUDE_DIR) 
Could NOT find MPG123 (missing:  MPG123_LIBRARY MPG123_INCLUDE_DIR) 
Could NOT find PhysFS (missing:  PHYSFS_LIBRARY PHYSFS_INCLUDE_DIR) 
Could NOT find DUMB (missing:  DUMB_LIBRARY DUMB_INCLUDE_DIR) 
Configuring done
WARNING: Target "alure2" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure2" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure2" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure2" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure2_s" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure2_s" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure2_s" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure2_s" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-play" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-play" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-play" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-play" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-enum" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-enum" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-enum" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-enum" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-hrtf" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-hrtf" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-hrtf" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-hrtf" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-reverb" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-reverb" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-reverb" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-reverb" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-stream" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-stream" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-stream" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "alure-stream" requests linking to directory "E:/Source/_build/openal-soft/Release".  Targets may link only to libraries.  CMake is dropping the item.
Generating done

So there are a lot of warnings. I lookup this warning and seem that this is just about the CMake programming inside the file CMakeLists.txt, for the meantime, I'll ignore it.

Then I open the alure solution (alure.sln) with Visual Studio and build. Unfortunately, I got compile error

Severity	Code	Description	Project	File	Line	Suppression State
Error	C3861	'strcasecmp': identifier not found	alure-hrtf	E:\Source\alure\examples\alure-hrtf.cpp	49	
Error	C3861	'strcasecmp': identifier not found	alure-hrtf	E:\Source\alure\examples\alure-hrtf.cpp	69	
Error	C3861	'strcasecmp': identifier not found	alure-reverb	E:\Source\alure\examples\alure-reverb.cpp	178	
Error	C3861	'strcasecmp': identifier not found	alure-reverb	E:\Source\alure\examples\alure-reverb.cpp	185	
Error	C4576	a parenthesized type followed by an initializer list is a non-standard explicit type conversion syntax	alure2	e:\source\alure\src\auxeffectslot.h	31	
Error	C4576	a parenthesized type followed by an initializer list is a non-standard explicit type conversion syntax	alure2_s	e:\source\alure\src\auxeffectslot.h	31	
Error	C4576	a parenthesized type followed by an initializer list is a non-standard explicit type conversion syntax	alure2	e:\source\alure\src\auxeffectslot.h	31	
Error	C4576	a parenthesized type followed by an initializer list is a non-standard explicit type conversion syntax	alure2_s	e:\source\alure\src\auxeffectslot.h	31	
Error	C4576	a parenthesized type followed by an initializer list is a non-standard explicit type conversion syntax	alure2	e:\source\alure\src\auxeffectslot.h	31	
Error	C4576	a parenthesized type followed by an initializer list is a non-standard explicit type conversion syntax	alure2_s	e:\source\alure\src\auxeffectslot.h	31	
Error	LNK1104	cannot open file 'Debug\alure2.lib'	alure-enum	E:\Source\_build\alure\LINK	1	
Error	LNK1104	cannot open file 'Debug\alure2.lib'	alure-stream	E:\Source\_build\alure\LINK	1	
Error	LNK1104	cannot open file 'Debug\alure2.lib'	alure-play	E:\Source\_build\alure\LINK	1	

I try to lookup the error:

//Error: a parenthesized type followed by an initializer list is a non-standard explicit type conversion syntax

//Cause by code:
void addSourceSend(Source source, ALuint send)
    { mSourceSends.emplace_back((SourceSend){source, send}); }

But I can't find any clue, and the syntax of this code is really weird.

So how can I build alure from source? Please help me :(

A minor confuse about OpenAL soft

This is a little off topic, but I can't help asking. there is the text inside the ReadMe.txt of the package: openal-soft-1.18.2-bin.zip  that I find confusing:

Quote

Note that it is still expected to install the OpenAL redistributable provided
by Creative Labs (at http://openal.org/), as that will provide the "router"
OpenAL32.dll that applications talk to, and may provide extra drivers for the
user's system. The DLLs provided here will simply add additional devices for
applications to select from. If you do not wish to use the redistributable,
then rename soft_oal.dll to OpenAL32.dll (note: even the 64-bit DLL should be
named OpenAL32.dll). Just be aware this will prevent other system-installed
OpenAL implementations from working.

I thought OpenAL soft is stand-alone package, but here is the note about OpenAL redistributable. So if I build OpenAL-soft from source, should I concern about this? And if I need, what I should do with this? My guess is: require the users to install OpenAL redistributable from Creative Labs.

 

Thanks for reading :)

Share this post


Link to post
Share on other sites
Advertisement
On 10/20/2017 at 9:01 PM, 123iamking said:

Setup alure - failed

Ok, Let's fix one thing at a time now.

On 10/20/2017 at 9:01 PM, 123iamking said:

I setup CMake like this:


OPENAL_INCLUDE_DIR = E:/Source/openal-soft/include/AL
OPENAL_LIBRARY = E:/Source/_build/openal-soft/Release

...

So there are a lot of warnings. I lookup this warning and seem that this is just about the CMake programming inside the file CMakeLists.txt, for the meantime, I'll ignore it.

About this, The 'OPENAL_LIBRARY' is wrong, thus there are warnings in the CMake result. The OPENAL_LIBRARY expects the OpenAL.lib file's full path, not the directory. So the right setup should be like this:

OPENAL_INCLUDE_DIR = E:/Source/openal-soft/include/AL
OPENAL_LIBRARY = E:/Source/_build/openal-soft/Release/OpenAL32.lib

About the build error:

On 10/20/2017 at 9:01 PM, 123iamking said:

'strcasecmp': identifier not found

According to this article, just add define strcasecmp to fix:

#define strcasecmp _stricmp

 

On 10/20/2017 at 9:01 PM, 123iamking said:

a parenthesized type followed by an initializer list is a non-standard explicit type conversion syntax alure2 e:\source\alure\src\auxeffectslot.h 31

Just pull the latest commit, then this error get fix. One note: should get the alure git from its homepage.

On 10/20/2017 at 9:01 PM, 123iamking said:

cannot open file 'Debug\alure2.lib'

Of course this is too obvious how to fix, after build the project alure2 successfully, this error will be gone.

Edited by 123iamking

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Advertisement
  • Advertisement
  • Popular Tags

  • Advertisement
  • Popular Now

  • Similar Content

    • By Mandelbrot
      I found this demo a long time ago and I love it. I was wondering if it could be improved/expanded somehow. I plugged it into CodeBlocks to try to get a bigger resolution and x64 but it hollered GLU errors. I do not program but put some years in on a chess GUI dev team. Coder is cool with the use of the code. Best Regards
      SubAtomic2.zip








    • By nxrighthere

      BenchmarkNet is a console application for testing the reliable UDP networking solutions.
      Features:
      Asynchronous simulation of a large number of clients Stable under high loads Simple and flexible simulation setup Detailed session information Supported networking libraries:
      ENet (C# Wrapper) UNet LiteNetLib Lidgren MiniUDP Hazel Photon Neutrino DarkRift More information and source code on GitHub.
      You can find the latest benchmark results on the wiki page.
    • By wowsoundsg
      Hello fellow sound designers! If you are interested in how we created our RPG Magic sound effects library, do check out this link! Hope it is somewhat useful to you in anyway!
       

    • By glportal
      GlPortal is a free and open source first person 3D teleportation puzzle-platformer written in C++ using modern OpenGL and SDL2 and its own engine.
      We have already integrated a physics engine and are planning to add some physics based puzzles.
      - Tasks from beginner to expert level
      - Focus on 2D, 3D, gameplay, sound, physics or logic
      - Contributing is as easy as fork, compile and push
      **Stuck? We help you develop your skills. Contact us on reddit, gitter or irc!**
      ## Benefits
      - Pressure-free environment
      - Space for creativity
      - Learn with and from your peers
      ## More Information
      Get more information about GlPortal at http://glportal.de and http://www.lgdb.org/game/glportal
      See a video at https://vimeo.com/163973907 or go to youtube and search for glportal.
      ## Contact
      - **IRC** #glportal on freenode or webchat on http://kiwiirc.com/client/irc.freenode.com/#glportal.
      - **Reddit** https://www.reddit.com/r/RadixEngine/
      - **Gitter** https://gitter.im/GlPortal/glPortal
      This ad stinks? Help us improve it: https://github.com/GlPortal/ads/edit/master/developer.md
    • By danys
      Bluezone Corporation releases 'Cargo - Spaceship Sound Effects', a new sci-fi sample library covering a wide range of elements including cockpit and interior ambiences, interface and beep sounds, reactor rumbles, spaceship passby sounds and more. Created with a large selection of high quality recordings and then meticulously layered, this downloadable sample pack will enhance your creative potential with as many as 138 highly usable sounds. All sound files are named according to their content and sorted thematically. WAV files are provided as 24 Bit / 96 kHz and sorted in 11 folders. In order to give you ready-to-use sounds for your productions, all samples are royalty-free for all your commercial projects.
       
       
      Editor : Bluezone Reference : BC0243 Delivery : Download link Download size : 989 MB Extracted size : 1010 MB Format : WAV Resolution : 24 Bit / 96 kHz Channel : Stereo License : Royalty free Total files : 152 Total samples : 138 WAV Additional details : 11 folders   More information : Cargo - Spaceship Sound Effects
      View full story
  • Advertisement