Dgame RC #1

Mike Parker via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Thu Apr 2 00:56:22 PDT 2015


On 4/2/2015 11:36 AM, Craig Dillabaugh wrote:

> derelict.util.exception.SymbolLoadException at ../../../.dub/packages/derelict-util-1.9.1/source/derelict/util/exception.d(35):
> Failed to load symbol SDL_HasAVX from shared library libSDL2.so

This error message is telling you two things. First, SDL is installed on 
your system and the loader found it just fine. Second, the loader was 
unable to find the SDL_HasAVX function in libSDL2.so.

SDL_HasAVX was added to the API in SDL 2.0.2, so you have an older 
version installed on your system and DGame is attempting to load a more 
recent version. Derelict will load either SDL 2.0.2 or 2.0.3. The latter 
is the latest release, but there are no API differences between them.

 From your end, the solution is to install the latest version of SDL2. 
Another solution is for DGame to take advantage of the SharedLibVersion 
feature of Derelict to set a minimum acceptable version of SDL. For 
example, if DGame doesn't use any API features added to SDL since 2.0.0, 
then this will allow any version of SDL2 to load:

DerelictSDL2.load(SharedLibVersion(2,0,0));

Bye bye SymbolLoadException. Then again, loading the older versions 
makes it possible for DGame to be affected by SDL bugs that have since 
been fixed, so I make no judgement on whether or not it's worth it.




More information about the Digitalmars-d-announce mailing list