Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

openal detection issues #118

Closed
onlyjob opened this issue Mar 15, 2015 · 27 comments
Closed

openal detection issues #118

onlyjob opened this issue Mar 15, 2015 · 27 comments

Comments

@onlyjob
Copy link

onlyjob commented Mar 15, 2015

On GNU/Linux wxlauncher is not linked with openal -- instead a silly run-time detection is performed in code/apis/OpenALManager.cpp.

This may be a reason for the following run-time error on start:

ERROR:IsEFXSupported: playback device name is empty
@IssMneur
Copy link
Member

Please provide the wxLauncher.log from a debug build (if the issue is reproducible using one) showing the issue. The launcher always produces a log at ~/.wxlauncher/wxLauncher.log. That error however means that openal was detected using the runtime detection and that you probably just haven't selected a playback device

The run-time detection is performed mostly for Windows, where package management and dependency management is not performed by the system and where (until recently at least) Creative's non-redistributable version was the default.

@onlyjob
Copy link
Author

onlyjob commented Mar 16, 2015

On start it logs:

15075015201:ERROR:IsEFXSupported: playback device name is empty

When I select the only device from drop-down list in Basic Settings --> Audio --> Playback device:

15075015209:ERROR:OpenAL:421: Unknown error number 0x0000a004

On Unix systems run-time selection of library is a time bomb not to mention that such approach is incorrect.

@IssMneur
Copy link
Member

Indeed. However, since you have entries in the drop down. It did find the library at runtime, so that is not the issue. I need the wxLauncher.log to help further.

@onlyjob
Copy link
Author

onlyjob commented Mar 16, 2015

There is nothing else in the apart from

STSBR:MainWindow is complete
STSBR:Ready

on start and the following on exit:

Log closed.

Thanks.

@IssMneur
Copy link
Member

Please create a debug build by adding -DCMAKE_BUILD_TYPE=Debug when running cmake, and try running the resulting build. You will get a much longer log.

@onlyjob
Copy link
Author

onlyjob commented Mar 16, 2015

Well, debug build is actually crashing due to #117:

/usr/include/wx-3.0/wx/strvararg.h(456): assert "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype" failed in wxArgNormalizer(): format specifier doesn't match argument type
Trace/breakpoint trap

If I make Debug build with "-DNDEBUG" then there is nothing more to the log than what I already provided...

@IssMneur
Copy link
Member

Hmm. -DNDEBUG turns off the runtime checks, so that is not a surprise. Lets see if we can make it rung without -DNDEBUG. I have pushed 23d96d3 to try and fix more of them. If you get any more assertions, please include the stacktrace, so that I can find the call that is triggering them.

@onlyjob
Copy link
Author

onlyjob commented Mar 16, 2015

I already applied 23d96d3 and reported new backtrace in #117. Please let me know if there is anything else I can do.

@IssMneur
Copy link
Member

Sorry, I meant, 1809018.

@onlyjob
Copy link
Author

onlyjob commented Mar 16, 2015

OK, I had to manually apply changes from 1809018 as your version slightly diverged from 0.9.6 branch... Now I'm getting the following backtrace:

ASSERT INFO:
/usr/include/wx-3.0/wx/strvararg.h(456): assert "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype" failed in wxArgNormalizer(): format specifier doesn't match argument type

BACKTRACE:
[1] wxArgNormalizer /usr/include/wx-3.0/wx/strvararg.h:456
[2] ~ConvertedBuffer /usr/include/wx-3.0/wx/string.h:3490
[3] ~ConvertedBuffer /usr/include/wx-3.0/wx/string.h:3490
[4] MainWindow::MainWindow() /mnt/tmpssd/src/wxlauncher/wxlauncher-release-0.9.5/code/MainWindow.cpp:77
[5] wxLauncher::OnInit() /mnt/tmpssd/src/wxlauncher/wxlauncher-release-0.9.5/code/wxLauncherApp.cpp:248
[6] wxEntry(int&, wchar_t**)
[7] main /mnt/tmpssd/src/wxlauncher/wxlauncher-release-0.9.5/code/wxLauncherApp.cpp:50
[8] __libc_start_main
[9] _start

@IssMneur
Copy link
Member

Can you try building the 0.9.6 branch from my repo. It is only big fixes for the 0.9.5 release.

I cannot repro this issue on my Debian Jessie machine. Is your build machine different from than a Jessie machine installed from the Jessie install media?

Thanks,

@onlyjob
Copy link
Author

onlyjob commented Mar 19, 2015

That's pretty much what I build. I just tried again with your branch 0.9.6 exactly and got the same run-time crash. I usually build in clean "unstable" chroot but on Jessie it is the same. I'm on amd64.

@IssMneur
Copy link
Member

Can you please attached the CmakeCache.txt file that you are using?

@onlyjob
Copy link
Author

onlyjob commented Mar 19, 2015

On Wed, 18 Mar 2015 21:45:39 IssMneur wrote:

Can you please attached the CmakeCache.txt file that you are using?

Attached, thanks.

This is the CMakeCache file.

For build in directory: /mnt/tmpssd/src/wxlauncher/wxlauncher-release-0.9.5/obj-x86_64-linux-gnu

It was generated by CMake: /usr/bin/cmake

You can edit this file to change values found and used by cmake.

If you do not want to change any of the values, simply exit the editor.

If you do want to change a value, simply edit, save, and exit the editor.

The syntax for the file is as follows:

KEY:TYPE=VALUE

KEY is the name of a variable in the cache.

TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.

VALUE is the current value for the KEY.

########################

EXTERNAL cache entries

########################

//Path to a program.
CMAKE_AR:FILEPATH=/usr/bin/ar

//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
CMAKE_BUILD_TYPE:STRING=Debug

//Enable/Disable color output during build.
CMAKE_COLOR_MAKEFILE:BOOL=ON

//CXX compiler.
CMAKE_CXX_COMPILER:FILEPATH=/usr/lib/ccache/c++

//Flags used by the compiler during all build types.
CMAKE_CXX_FLAGS:STRING='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 '

//Flags used by the compiler during debug builds.
CMAKE_CXX_FLAGS_DEBUG:STRING=-g

//Flags used by the compiler during release builds for minimum
// size.
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG

//Flags used by the compiler during release builds.
CMAKE_CXX_FLAGS_RELEASE:STRING=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2

//Flags used by the compiler during release builds with debug info.
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

//C compiler.
CMAKE_C_COMPILER:FILEPATH=/usr/lib/ccache/cc

//Flags used by the compiler during all build types.
CMAKE_C_FLAGS:STRING='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 '

//Flags used by the compiler during debug builds.
CMAKE_C_FLAGS_DEBUG:STRING=-g

//Flags used by the compiler during release builds for minimum
// size.
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG

//Flags used by the compiler during release builds.
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG

//Flags used by the compiler during release builds with debug info.
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

//Flags used by the linker.
CMAKE_EXE_LINKER_FLAGS:STRING=-Wl,--as-needed -Wl,-z,relro -Wl,-z,now

//Flags used by the linker during debug builds.
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds.
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds.
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds.
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Enable/Disable output of compile commands during generation.
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF

//Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr

//Path to a program.
CMAKE_LINKER:FILEPATH=/usr/bin/ld

//Path to a program.
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make

//Flags used by the linker during the creation of modules.
CMAKE_MODULE_LINKER_FLAGS:STRING= -Wl,-z,relro -Wl,-z,now

//Flags used by the linker during debug builds.
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds.
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds.
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds.
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Path to a program.
CMAKE_NM:FILEPATH=/usr/bin/nm

//Path to a program.
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy

//Path to a program.
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump

//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=wxlauncher

//Path to a program.
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib

//Flags used by the linker during the creation of dll's.
CMAKE_SHARED_LINKER_FLAGS:STRING= -Wl,-z,relro -Wl,-z,now

//Flags used by the linker during debug builds.
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds.
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds.
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds.
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//If set, runtime paths are not added when installing shared libraries,
// but are added when building.
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO

//If set, runtime paths are not added when using shared libraries.
CMAKE_SKIP_RPATH:BOOL=NO

//Flags used by the linker during the creation of static libraries.
CMAKE_STATIC_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds.
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds.
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds.
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds.
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Path to a program.
CMAKE_STRIP:FILEPATH=/usr/bin/strip

//If true, cmake will use relative paths in makefiles and projects.
CMAKE_USE_RELATIVE_PATHS:BOOL=OFF

//If this value is on, makefiles will be generated without the
// .SILENT directive, and all commands will be echoed to the console
// during the make. This is useful for debugging only. With Visual
// Studio IDE projects all commands are done without /nologo.
CMAKE_VERBOSE_MAKEFILE:BOOL=ON

//Enable to build Debian packages
CPACK_BINARY_DEB:BOOL=OFF

//Enable to build NSIS packages
CPACK_BINARY_NSIS:BOOL=OFF

//Enable to build RPM packages
CPACK_BINARY_RPM:BOOL=OFF

//Enable to build STGZ packages
CPACK_BINARY_STGZ:BOOL=ON

//Enable to build TBZ2 packages
CPACK_BINARY_TBZ2:BOOL=OFF

//Enable to build TGZ packages
CPACK_BINARY_TGZ:BOOL=ON

//Enable to build TZ packages
CPACK_BINARY_TZ:BOOL=ON

//Enable to build TBZ2 source packages
CPACK_SOURCE_TBZ2:BOOL=ON

//Enable to build TGZ source packages
CPACK_SOURCE_TGZ:BOOL=ON

//Enable to build TZ source packages
CPACK_SOURCE_TZ:BOOL=ON

//Enable to build ZIP source packages
CPACK_SOURCE_ZIP:BOOL=OFF

//Doing development (cannot build installer in this mode)
DEVELOPMENT_MODE:BOOL=OFF

//Path to a program.
GIT_EXECUTABLE:FILEPATH=/usr/bin/git

//Path to a file.
OPENAL_INCLUDE_DIR:PATH=/usr/include/AL

//Path to a library.
OPENAL_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libopenal.so

//Extra verbose debug logs that include snapshots of profile contents
// at important steps while auto-save is off
PROFILE_DEBUGGING:BOOL=OFF

//Path to a program.
PYTHON_EXECUTABLE:FILEPATH=/usr/bin/python

//Path to a library.
SDLMAIN_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libSDLmain.a

//Path to a file.
SDL_INCLUDE_DIR:PATH=/usr/include/SDL

//Where the SDL Library can be found
SDL_LIBRARY:STRING=/usr/lib/x86_64-linux-gnu/libSDLmain.a;/usr/lib/x86_64-linux-gnu/libSDL.so;-lpthread

//Build launcher with joystick support?
USE_JOYSTICK:BOOL=ON

//Build launcher with OpenAL support?
USE_OPENAL:BOOL=ON

//Build launcher with speech support?
USE_SPEECH:BOOL=OFF

//Have the onlinehelpmaker.py script output debug information
onlinehelpmaker_debug:BOOL=OFF

//Have onlinehelpmaker.py produce even less output than normal
onlinehelpmaker_quiet:BOOL=ON

//Path to a program.
rpmbuild_exists:FILEPATH=/usr/bin/rpmbuild

//Location of wxWidgets library configuration provider binary (wx-config).
wxWidgets_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/wx-config

//Use debug build?
wxWidgets_USE_DEBUG:BOOL=OFF

//Location of wxWidgets resource file compiler binary (wxrc)
wxWidgets_wxrc_EXECUTABLE:FILEPATH=/usr/bin/wxrc

//Value Computed by CMake
wxlauncher_BINARY_DIR:STATIC=/mnt/tmpssd/src/wxlauncher/wxlauncher-release-0.9.5/obj-x86_64-linux-gnu

//Value Computed by CMake
wxlauncher_SOURCE_DIR:STATIC=/mnt/tmpssd/src/wxlauncher/wxlauncher-release-0.9.5

########################

INTERNAL cache entries

########################

//ADVANCED property for variable: CMAKE_AR
CMAKE_AR-ADVANCED:INTERNAL=1
//This is the directory where this CMakeCache.txt was created
CMAKE_CACHEFILE_DIR:INTERNAL=/mnt/tmpssd/src/wxlauncher/wxlauncher-release-0.9.5/obj-x86_64-linux-gnu
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
//Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=0
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=2
//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
//Path to CMake executable.
CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
//Path to cpack program executable.
CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
//Path to ctest program executable.
CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
//ADVANCED property for variable: CMAKE_CXX_COMPILER
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//Path to cache edit program executable.
CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake
//Executable file format
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
//Name of generator.
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
//Name of generator toolset.
CMAKE_GENERATOR_TOOLSET:INTERNAL=
//Have symbol pthread_create
CMAKE_HAVE_LIBC_CREATE:INTERNAL=
//Have library pthreads
CMAKE_HAVE_PTHREADS_CREATE:INTERNAL=
//Have library pthread
CMAKE_HAVE_PTHREAD_CREATE:INTERNAL=1
//Have include pthread.h
CMAKE_HAVE_PTHREAD_H:INTERNAL=1
//Start directory with the top level CMakeLists.txt file for this
// project
CMAKE_HOME_DIRECTORY:INTERNAL=/mnt/tmpssd/src/wxlauncher/wxlauncher-release-0.9.5
//Install .so files without execute permission.
CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
//ADVANCED property for variable: CMAKE_LINKER
CMAKE_LINKER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_NM
CMAKE_NM-ADVANCED:INTERNAL=1
//number of local generators
CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=1
//ADVANCED property for variable: CMAKE_OBJCOPY
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_OBJDUMP
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RANLIB
CMAKE_RANLIB-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.0
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_RPATH
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STRIP
CMAKE_STRIP-ADVANCED:INTERNAL=1
//uname command
CMAKE_UNAME:INTERNAL=/bin/uname
//ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS
CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_DEB
CPACK_BINARY_DEB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_NSIS
CPACK_BINARY_NSIS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_RPM
CPACK_BINARY_RPM-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_STGZ
CPACK_BINARY_STGZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_TBZ2
CPACK_BINARY_TBZ2-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_TGZ
CPACK_BINARY_TGZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_BINARY_TZ
CPACK_BINARY_TZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_SOURCE_TBZ2
CPACK_SOURCE_TBZ2-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_SOURCE_TGZ
CPACK_SOURCE_TGZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_SOURCE_TZ
CPACK_SOURCE_TZ-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CPACK_SOURCE_ZIP
CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1
//Details about finding OpenAL
FIND_PACKAGE_MESSAGE_DETAILS_OpenAL:INTERNAL=[/usr/lib/x86_64-linux-gnu/libopenal.so][/usr/include/AL][v()]
//Details about finding PythonInterp
FIND_PACKAGE_MESSAGE_DETAILS_PythonInterp:INTERNAL=[/usr/bin/python][v2.7.9()]
//Details about finding SDL
FIND_PACKAGE_MESSAGE_DETAILS_SDL:INTERNAL=[/usr/lib/x86_64-linux-gnu/libSDLmain.a;/usr/lib/x86_64-linux-gnu/libSDL.so;-lpthread][/usr/include/SDL][v1.2.15()]
//Details about finding Threads
FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
//Details about finding wxWidgets
FIND_PACKAGE_MESSAGE_DETAILS_wxWidgets:INTERNAL=[TRUE][v(2.8.10)]
//ADVANCED property for variable: OPENAL_INCLUDE_DIR
OPENAL_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OPENAL_LIBRARY
OPENAL_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: PYTHON_EXECUTABLE
PYTHON_EXECUTABLE-ADVANCED:INTERNAL=1
SDL_LIBRARY_TEMP:INTERNAL=/usr/lib/x86_64-linux-gnu/libSDLmain.a;/usr/lib/x86_64-linux-gnu/libSDL.so;-lpthread

@IssMneur
Copy link
Member

Okay. More patches in my personal repo on the revision-0.9.6 branch. Perhaps we have now gotten to the point that you can make a Debug build without -DNDEBUG, and thus a wxLauncher.log that is useful. 816cc19 and c07fb07.

Thanks,

@onlyjob
Copy link
Author

onlyjob commented Mar 21, 2015

Thank you. Now it shows application window and crashes as soon as it shown:

ASSERT INFO:
/usr/include/wx-3.0/wx/strvararg.h(456): assert "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype" failed in wxArgNormalizer(): format specifier doesn't match argument type

BACKTRACE:
[1] wxArgNormalizer /usr/include/wx-3.0/wx/strvararg.h:456
[2] ~wxLogger /usr/include/wx-3.0/wx/log.h:886
[3] FlagListManager::FlagProcess::OnTerminate(int, int) /mnt/tmpssd/src/wxl-2/wxlauncher/code/apis/FlagListManager.cpp:527
[4] wxAppConsole::CheckSignal()
[5] g_main_context_dispatch
[6] g_main_loop_run
[7] gtk_main
[8] wxGUIEventLoop::DoRun()
[9] wxEventLoopBase::Run()
[10] wxAppConsoleBase::MainLoop()
[11] wxEntry(int&, wchar_t**)
[12] main /mnt/tmpssd/src/wxl-2/wxlauncher/code/wxLauncherApp.cpp:50
[13] __libc_start_main
[14] _start

Log became verbose and it doesn't contain ERROR:IsEFXSupported: playback device name is empty but that's probably because wxlauncher crashed before it gets there...

@IssMneur
Copy link
Member

Can you please generate a backtrace with GDB? (click stop in the assertion popup to give gdb control).

Also, please have the wxgtk debugging symbols installed apt-get install wxgtk3.0.0-dbg.

Thanks,

@onlyjob
Copy link
Author

onlyjob commented Mar 23, 2015

Here it is:

usr/include/wx-3.0/wx/strvararg.h(456): assert "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype" failed in wxArgNormalizer(): format specifier doesn't match argument type

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff5b8c107 in __GI_raise (sig=5) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) thread apply all bt

Thread 1 (Thread 0x7ffff7f79a40 (LWP 32701)):
#0  0x00007ffff5b8c107 in __GI_raise (sig=5) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff72ecb80 in wxGUIAppTraits::ShowAssertDialog (this=<optimized out>, msg=...) at ../src/gtk/utilsgtk.cpp:332
#2  0x00007ffff7995a22 in ShowAssertDialog (file=..., line=line@entry=456, func=..., cond=..., msgUser=..., traits=traits@entry=0x82c540) at ../src/common/appbase.cpp:1302
#3  0x00007ffff7995de0 in wxAppConsoleBase::OnAssertFailure (this=this@entry=0x7f0370, file=<optimized out>, line=456, func=<optimized out>, cond=<optimized out>, msg=<optimized out>) at ../src/common/appbase.cpp:781
#4  0x00007ffff72ab7c0 in wxApp::OnAssertFailure (this=0x7f0370, file=<optimized out>, line=<optimized out>, func=<optimized out>, cond=<optimized out>, msg=<optimized out>) at ../src/gtk/app.cpp:507
#5  0x00007ffff79961bb in wxDefaultAssertHandler (file=..., line=line@entry=456, func=..., cond=..., msg=...) at ../src/common/appbase.cpp:1093
#6  0x00007ffff7993030 in wxOnAssert (file=file@entry=0x529da8 "/usr/include/wx-3.0/wx/strvararg.h", line=line@entry=456, 
    func=func@entry=0x550170 <_ZZN15wxArgNormalizerImEC4EmPK14wxFormatStringjE12__FUNCTION__> "wxArgNormalizer", cond=cond@entry=0x529dd0 "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype", 
    msg=msg@entry=0x529d40 "format specifier doesn't match argument type") at ../src/common/appbase.cpp:1169
#7  0x00000000004c8912 in wxArgNormalizer (index=8, fmt=0x7fffffffcc70, value=4, this=<optimized out>) at /usr/include/wx-3.0/wx/strvararg.h:456
#8  wxArgNormalizerWchar (index=8, fmt=0x7fffffffcc70, value=4, this=<optimized out>) at /usr/include/wx-3.0/wx/strvararg.h:476
#9  wxLogger::Log<int, unsigned long, int, unsigned long, int, unsigned long, int, unsigned long> (this=this@entry=0x7fffffffd270, f1=..., a1=a1@entry=32, a2=a2@entry=4, a3=a3@entry=344, a4=a4@entry=4, a5=5, a6=4, 
    a7=72, a8=4) at /usr/include/wx-3.0/wx/log.h:968
#10 0x00000000004c1d41 in FlagListManager::ParseFlagFile (this=0x972500, flagfilename=...) at /mnt/tmpssd/src/wxl-2/wxlauncher/code/apis/FlagListManager.cpp:463
#11 0x00000000004c3c44 in FlagListManager::FlagProcess::OnTerminate (this=0x11bd530, pid=<optimized out>, status=<optimized out>) at /mnt/tmpssd/src/wxl-2/wxlauncher/code/apis/FlagListManager.cpp:527
#12 0x00007ffff7b04541 in wxExecuteData::OnExit (this=0xd54860, exitcode_=1) at ../src/unix/utilsunx.cpp:1664
#13 0x00007ffff7b06400 in wxExecuteData::OnSomeChildExited () at ../src/unix/utilsunx.cpp:1607
#14 0x00007ffff7ad3a31 in wxAppConsole::CheckSignal (this=0x7f0370) at ../src/unix/appunix.cpp:128
#15 0x00007ffff72c9bf8 in wx_on_channel_event (channel=<optimized out>, condition=G_IO_IN, data=0x11bc0b0) at ../src/gtk/evtloop.cpp:127
#16 0x00007ffff3a6cb6d in g_main_dispatch (context=0x81a210) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3111
#17 g_main_context_dispatch (context=context@entry=0x81a210) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3710
#18 0x00007ffff3a6cf48 in g_main_context_iterate (context=0x81a210, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3781
#19 0x00007ffff3a6d272 in g_main_loop_run (loop=0x1162420) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3975
#20 0x00007ffff4cfc597 in IA__gtk_main () at /build/gtk+2.0-czQfyJ/gtk+2.0-2.24.25/gtk/gtkmain.c:1257
#21 0x00007ffff72c88a5 in wxGUIEventLoop::DoRun (this=0x11729a0) at ../src/gtk/evtloop.cpp:65
#22 0x00007ffff79d5d50 in wxEventLoopBase::Run (this=0x11729a0) at ../src/common/evtloopcmn.cpp:78
#23 0x00007ffff7992086 in wxAppConsoleBase::MainLoop (this=0x7f0370) at ../src/common/appbase.cpp:334
#24 0x00007ffff7a2cc20 in wxEntry (argc=@0x7ffff7dd78f0: 1, argv=<optimized out>) at ../src/common/init.cpp:495
Segmentation fault
/usr/include/wx-3.0/wx/strvararg.h(456): assert "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype" failed in wxArgNormalizer(): format specifier doesn't match argument type

@IssMneur
Copy link
Member

Please try with 47c5c16. If you get another assert please generate the backtrace with gdb again.

Thanks,

@onlyjob
Copy link
Author

onlyjob commented Mar 23, 2015

Thanks. It started successfully for the very first time but crashed as soon as I've chosen another profile from "profile management" drop-down list:

../src/unix/dir.cpp(275): assert "IsOpened()" failed in GetFirst(): must wxDir::Open() first

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff5b8c107 in __GI_raise (sig=5) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56      ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) thread apply all bt

Thread 1 (Thread 0x7ffff7f79a40 (LWP 6990)):
#0  0x00007ffff5b8c107 in __GI_raise (sig=5) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007ffff72ecb80 in wxGUIAppTraits::ShowAssertDialog (this=<optimized out>, msg=...) at ../src/gtk/utilsgtk.cpp:332
#2  0x00007ffff7995a22 in ShowAssertDialog (file=..., line=line@entry=275, func=..., cond=..., msgUser=..., traits=traits@entry=0x82c560) at ../src/common/appbase.cpp:1302
#3  0x00007ffff7995de0 in wxAppConsoleBase::OnAssertFailure (this=this@entry=0x7f0370, file=<optimized out>, line=275, func=<optimized out>, cond=<optimized out>, msg=<optimized out>) at ../src/common/appbase.cpp:781
#4  0x00007ffff72ab7c0 in wxApp::OnAssertFailure (this=0x7f0370, file=<optimized out>, line=<optimized out>, func=<optimized out>, cond=<optimized out>, msg=<optimized out>) at ../src/gtk/app.cpp:507
#5  0x00007ffff79961bb in wxDefaultAssertHandler (file=..., line=275, func=..., cond=..., msg=...) at ../src/common/appbase.cpp:1093
#6  0x00007ffff7991be1 in wxOnAssert (file=file@entry=0x7ffff7b6061c "../src/unix/dir.cpp", line=line@entry=275, 
    func=func@entry=0x7ffff7b60653 <wxDir::GetFirst(wxString*, wxString const&, int) const::__FUNCTION__> "GetFirst", cond=cond@entry=0x7ffff7b5b6e6 "IsOpened()", 
    msg=msg@entry=0x7ffff7b60510 L"must wxDir::Open() first") at ../src/common/appbase.cpp:1178
#7  0x00007ffff7ad5a02 in wxDir::GetFirst (this=0x7fffffffd170, filename=0x7fffffffd210, filespec=..., flags=1) at ../src/unix/dir.cpp:275
#8  0x00000000004b2194 in FSOExecutable::GetBinariesFromRootFolder (path=..., globPattern=..., quiet=quiet@entry=true) at /mnt/tmpssd/src/wxl-2/wxlauncher/code/datastructures/FSOExecutable.cpp:126
#9  0x00000000004b3a60 in FSOExecutable::GetBinariesFromRootFolder (path=..., quiet=quiet@entry=true) at /mnt/tmpssd/src/wxl-2/wxlauncher/code/datastructures/FSOExecutable.cpp:111
#10 0x00000000004b3e22 in FSOExecutable::HasFSOExecutables (path=...) at /mnt/tmpssd/src/wxl-2/wxlauncher/code/datastructures/FSOExecutable.cpp:77
#11 0x00000000004b49bd in FSOExecutable::IsRootFolderValid (path=..., quiet=quiet@entry=true) at /mnt/tmpssd/src/wxl-2/wxlauncher/code/datastructures/FSOExecutable.cpp:69
#12 0x0000000000458101 in BasicSettingsPage::OnCurrentBinaryChanged (this=0xc26ef0, event=...) at /mnt/tmpssd/src/wxl-2/wxlauncher/code/tabs/BasicSettingsPage.cpp:1359
#13 0x00007ffff798fd5e in wxAppConsoleBase::CallEventHandler (this=0x7f0370, handler=0xc26ef0, functor=..., event=...) at ../src/common/appbase.cpp:623
#14 0x00007ffff7b2b4c8 in wxEvtHandler::ProcessEventIfMatchesId (entry=..., handler=<optimized out>, event=...) at ../src/common/event.cpp:1392
#15 0x00007ffff7b2b5cb in wxEventHashTable::HandleEvent (this=<optimized out>, event=..., self=self@entry=0xc26ef0) at ../src/common/event.cpp:998
#16 0x00007ffff7b2b978 in wxEvtHandler::TryHereOnly (this=0xc26ef0, event=...) at ../src/common/event.cpp:1589
#17 0x00007ffff7b2ba03 in TryBeforeAndHere (event=..., this=0xc26ef0) at ../include/wx/event.h:3671
#18 wxEvtHandler::ProcessEventLocally (this=0xc26ef0, event=...) at ../src/common/event.cpp:1522
#19 0x00007ffff7b2ba65 in wxEvtHandler::ProcessEvent (this=0xc26ef0, event=...) at ../src/common/event.cpp:1495
#20 0x00007ffff7b2cbf8 in wxEvtHandler::ProcessPendingEvents (this=0xc26ef0) at ../src/common/event.cpp:1359
#21 0x00007ffff7993cd7 in wxAppConsoleBase::ProcessPendingEvents (this=0x7f0370) at ../src/common/appbase.cpp:520
#22 0x00007ffff72a6f62 in wxApp::DoIdle (this=0x7f0370) at ../src/gtk/app.cpp:136
#23 0x00007ffff72a70a3 in wxapp_idle_callback () at ../src/gtk/app.cpp:107
#24 0x00007ffff3a6cb6d in g_main_dispatch (context=0x81a210) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3111
#25 g_main_context_dispatch (context=context@entry=0x81a210) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3710
#26 0x00007ffff3a6cf48 in g_main_context_iterate (context=0x81a210, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3781
#27 0x00007ffff3a6d272 in g_main_loop_run (loop=0x11373c0) at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c:3975
#28 0x00007ffff4cfc597 in IA__gtk_main () at /build/gtk+2.0-czQfyJ/gtk+2.0-2.24.25/gtk/gtkmain.c:1257
#29 0x00007ffff72c88a5 in wxGUIEventLoop::DoRun (this=0xd963a0) at ../src/gtk/evtloop.cpp:65
#30 0x00007ffff79d5d50 in wxEventLoopBase::Run (this=0xd963a0) at ../src/common/evtloopcmn.cpp:78
#31 0x00007ffff7992086 in wxAppConsoleBase::MainLoop (this=0x7f0370) at ../src/common/appbase.cpp:334
#32 0x00007ffff7a2cc20 in wxEntry (argc=@0x7ffff7dd78f0: 1, argv=<optimized out>) at ../src/common/init.cpp:495
Segmentation fault

@onlyjob
Copy link
Author

onlyjob commented Mar 23, 2015

Log now have meaningful entries:

15082050706:DEBUG:System default OpenAL device: Built-in Audio Digital Stereo (IEC958)
15082050707:DEBUG:System default OpenAL capture device: Webcam C600 Analog Mono
15082050707:ERROR:IsEFXSupported: playback device name is empty
15082050707:DEBUG:Playback device '' does not support EFX. Hiding Enable EFX checkbox.

And this was logged after when I disconnected webcam:

15082051042:DEBUG:System default OpenAL device: Built-in Audio Digital Stereo (IEC958)
15082051042:DEBUG:System default OpenAL capture device: Monitor of Built-in Audio Digital Stereo (IEC958)
15082051042:ERROR:IsEFXSupported: playback device name is empty
15082051042:DEBUG:Playback device '' does not support EFX. Hiding Enable EFX checkbox.

@IssMneur
Copy link
Member

Okay, another patch 8630c64. I wonder what you were selecting to trigger that bug that no one has....

@onlyjob
Copy link
Author

onlyjob commented Mar 24, 2015

Finally it works -- thanks for your relentless effort.
I tried with empty profile and got

15083073724:DEBUG:System default OpenAL device: Built-in Audio Digital Stereo (IEC958)
15083073724:DEBUG:Reported default sound device: Built-in Audio Digital Stereo (IEC958)
15083073724:DEBUG:updating OpenAL sound device profile entry to "Built-in Audio Digital Stereo (IEC958)"
15083073724:DEBUG:adding entry /openal/device with value Built-in Audio Digital Stereo (IEC958) to current profile
15083073724:DEBUG:System default OpenAL capture device: Webcam C600 Analog Mono
15083073724:DEBUG:Reported default sound capture device: Webcam C600 Analog Mono
15083073724:DEBUG:updating OpenAL sound capture device profile entry to "Webcam C600 Analog Mono"
15083073724:DEBUG:adding entry /openal/capturedevice with value Webcam C600 Analog Mono to current profile
15083073724:ERROR:OpenAL:422: Unknown error number 0x0000a004

as soon as I chose (the only available) audio playback device. It was ERROR:IsEFXSupported: playback device name is empty in the beginning while no playback device was selected.
Those errors seems to be harmless and I don't know how they affect wxlauncher's functionality.
However I doubt that I'm the only one who has 'em (although it seems I'm the only one who bothered reporting): since my hardware is not that unique and that I'm building official Debian package, potentially every third or fourth wxlauncher user in Debian may experience similar problem...

@onlyjob
Copy link
Author

onlyjob commented Mar 24, 2015

By the way I believe all the changes that you've made recently justify 0.9.6 release. ;)

@IssMneur
Copy link
Member

The only effect that you will not be able to enable EFX.

Yes, this will be released as 0.9.6 soon. I need to check with the OS X guy and make sure nothing has broken there. I expect if we find no more issues, 0.9.6 will be released by Monday.

Their was an issue that I was investigating a while ago with OpenALSoft where wxLauncher was abusing the alGetError function and I wonder if that is where that error is coming from. Let me know what happens with the following patch.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2c2e217..719f70a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -96,9 +96,6 @@ if(UNIX)
   include_directories(${SDL_INCLUDE_DIR})
   set(HAS_SDL true)
 endif()
-if(UNIX AND NOT DEFINED PLATFORM_HAS_BROKEN_OPENAL)
-  set(PLATFORM_HAS_BROKEN_OPENAL TRUE)
-endif()

 if(IS_APPLE)
   option(USING_SDL_FRAMEWORK "Check this if building with an SDL framework." ON)
diff --git a/code/apis/OpenALManager.cpp b/code/apis/OpenALManager.cpp
index f9ee490..1e833f7 100644
--- a/code/apis/OpenALManager.cpp
+++ b/code/apis/OpenALManager.cpp
@@ -171,13 +171,7 @@ bool OpenALMan::checkForALError_(size_t line) {
    } else {
        wxLogError(_T("OpenAL:%ld: Unknown error number 0x%08x"), line, errorcode);
    }
-#if PLATFORM_HAS_BROKEN_OPENAL == 1
-   /** \todo a hack to fix certain OpenAL implementations that are not
-   clearing the errors correctly. */
-   return true;
-#else
    return false;
-#endif
 }
 #endif

@@ -334,10 +328,6 @@ wxString OpenALMan::GetCurrentVersion() {
    wxString selectedDevice;
    ProMan::GetProfileManager()->ProfileRead(PRO_CFG_OPENAL_DEVICE, &selectedDevice);

-   // clear errors, I have not done any openAL stuff, so make sure that any
-   // errors that are active are because of me.
-   checkForALError();
-
    alcOpenDeviceType OpenDevice = 
        GetOALFuncPtr(alcOpenDeviceType,alcOpenDevice);
    if ( OpenDevice == NULL) {
@@ -417,10 +407,6 @@ bool OpenALMan::IsEFXSupported(const wxString& playbackDeviceName) {
        return false;
    }

-   // clear errors, I have not done any openAL stuff, so make sure that any
-   // errors that are active are because of me.
-   checkForALError();
-   
    alcOpenDeviceType OpenDevice = 
        GetOALFuncPtr(alcOpenDeviceType, alcOpenDevice);

diff --git a/code/global/configure_launcher.h.in b/code/global/configure_launcher.h.in
index 96649b9..85634a4 100644
--- a/code/global/configure_launcher.h.in
+++ b/code/global/configure_launcher.h.in
@@ -9,7 +9,6 @@
 #cmakedefine01 USE_JOYSTICK
 #cmakedefine01 USE_OPENAL
 #cmakedefine01 PLATFORM_USES_REGISTRY
-#cmakedefine01 PLATFORM_HAS_BROKEN_OPENAL
 #cmakedefine01 PROFILE_DEBUGGING

 #cmakedefine01 HAS_SDL

@onlyjob
Copy link
Author

onlyjob commented Mar 25, 2015

Fantastic, I hope OSX testing will be OK.

With patch applied error ERROR:OpenAL:422: Unknown error number 0x0000a004 disappeared. :)

Also I've noticed a minor pedantic issue: when playback device is selected the error ERROR:IsEFXSupported: playback device name is empty is not cleared from status line.

@IssMneur
Copy link
Member

0.9.6 is released.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants