Dgame RC #1
Namespace via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Thu Apr 2 02:38:03 PDT 2015
On Thursday, 2 April 2015 at 07:56:19 UTC, Mike Parker wrote:
> 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.
Dgame is based on SDL 2.0.3 (as described in the installation
tutorial), but tries to "wrap" any function call which is
introduced after SDL 2.0.0:
----
static if (SDL_VERSION_ATLEAST(2, 0, 2))
----
so that Dgame should be usable with any SDL2.x version.
I will investigate which function is calling SDL_HasAVX.
More information about the Digitalmars-d-announce
mailing list