kcat / alure

Alure is a utility library for OpenAL, providing a C++ API and managing common tasks that include file loading, caching, and streaming
zlib License
70 stars 20 forks source link

"alure" prefixed functions not declared or defined in this repository #48

Closed time-killer-games closed 9 months ago

time-killer-games commented 9 months ago

I've been trying to port a game engine I am working on to work on OpenBSD, and unfortunately, their package manager has no package for alure available, unlike most other systems. alure fresh from the package manager on every system I tried has the functions I need defined and declared. This includes Windows/MSYS2's pacman, many Linux distributions, macOS, and non-OpenBSD *BSD's.

I tried working around the lack of alure in OpenBSD's package manager by taking the following steps: 1) Fork this kcat/alure repository to not use libdumb in the CMakeLists.txt, because libdumb causes compile errors on OpenBSD, then import my fork as a git submodule to my project using alure. 2) Change the header includes from AL/alure.h to AL/alure2.h because alure.h is what package managers on other systems provide but alure2.h is what this alure repository actually provides. 3) Invoke cmake ., make, and make install and build/link my openbsd executable to alure2.so.

Unfortunately, this resulted in a ton of undefined references to functions which are not even declared in any of the headers or defined in any of the sources of this alure repository. All these undeclared functions work on other platforms because I am not relying on alure from this repository but instead on alure provided by package managers, which do define/declare the functions I need, and these functions I am using have the "alure" prefix.

See my code below to see some of those functions with the "alure" prefix:

https://github.com/time-killer-games/stigma-dev/blob/master/ENIGMAsystem/SHELL/Audio_Systems/OpenAL/ALadvanced.cpp

To name a few I rely on:

All of the above are undefined and undeclared in this alure repository. How can I get access to these functions? What am I doing wrong? If this is not the correct alure repository where those functions would be present, where is the correct one?

Thank you! Samuel

kcat commented 9 months ago

Alure2 is a different C++-based API which is incompatible with the Alure 1.x C API. The last tags/releases for the old releases can be found here.

time-killer-games commented 9 months ago

Thank you! I'll close this issue. Technically, Github Issues are meant for bug reports and not for getting help. That said, thank you for your patience and being helpful.