Error building Magnum 2019.10 on FreeBSD/powerpc64
pkubaj opened this issue · 9 comments
Reporting here, because the error is about Corrade's header:
/usr/local/bin/g++9 -DCORRADE_DYNAMIC_PLUGIN -DWavAudioImporter_EXPORTS -I/wrkdirs/usr/ports/graphics/magnum/work/magnum-2019.10/src -Isrc -I/usr/local/include/AL -O2 -pipe -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc9 -Wl,-rpath=/usr/local/lib/gcc9 -O2 -pipe -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc9 -Wl,-rpath=/usr/local/lib/gcc9 -fPIC -std=c++11 -Wall -Wextra -Wold-style-cast -Winit-self -Werror=return-type -Wmissing-declarations -pedantic -fvisibility=hidden -fvisibility-inlines-hidden -Wzero-as-null-pointer-constant -Wdouble-promotion -fno-strict-aliasing -MD -MT src/MagnumPlugins/WavAudioImporter/CMakeFiles/WavAudioImporter.dir/WavImporter.cpp.o -MF src/MagnumPlugins/WavAudioImporter/CMakeFiles/WavAudioImporter.dir/WavImporter.cpp.o.d -o src/MagnumPlugins/WavAudioImporter/CMakeFiles/WavAudioImporter.dir/WavImporter.cpp.o -c /wrkdirs/usr/ports/graphics/magnum/work/magnum-2019.10/src/MagnumPlugins/WavAudioImporter/WavImporter.cpp
In file included from /wrkdirs/usr/ports/graphics/magnum/work/magnum-2019.10/src/MagnumPlugins/WavAudioImporter/WavImporter.cpp:31:
/usr/local/include/Corrade/Utility/Endianness.h: In instantiation of 'static void Corrade::Utility::Endianness::littleEndianInPlaceInternal(T&, U& ...) [with T = const unsigned int; U = {const Magnum::Audio::Implementation::WavAudioFormat, const short unsigned int, const unsigned int, const unsigned int, const short unsigned int, const short unsigned int}]':
/usr/local/include/Corrade/Utility/Endianness.h:108:40: required from 'static void Corrade::Utility::Endianness::littleEndianInPlace(T& ...) [with T = {const unsigned int, const Magnum::Audio::Implementation::WavAudioFormat, const short unsigned int, const unsigned int, const unsigned int, const short unsigned int, const short unsigned int}]'
/wrkdirs/usr/ports/graphics/magnum/work/magnum-2019.10/src/MagnumPlugins/WavAudioImporter/WavImporter.cpp:125:35: required from here
/usr/local/include/Corrade/Utility/Endianness.h:127:19: error: assignment of read-only reference 'first'
127 | first = littleEndian(first);
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~
The host runs FreeBSD 12.1-RELEASE (big-endian). Corrade is version 2019.10.
Hi again :)
This will be a bit more involved, because the importer takes a shortcut and asserts the system is LE: https://github.com/mosra/magnum/blob/31a08cf573e37e519fc03deb536d11694ff10d7c/src/MagnumPlugins/WavAudioImporter/WavImporter.cpp#L210-L211 So I need to fix that too.
Like last time, is it okay if I ping you back with a patch to test? Thank you!
Sure, I can test it.
BTW, if you want to have access to big-endian PPC for development, you can get for free a PPC64 OpenStack access (intended for open-source developers) at https://osuosl.org/services/powerdev/request_hosting/.
BTW2, IBM says that big-endian is being dropped etc. to force people to buy new hardware, but there are systems (like FreeBSD, but also Adelie Linux, Void Linux and Gentoo) that will still target big-endian PPC.
I think with corrade master (especially ef64471) and mosra/magnum@2ff5d32 this should be fixed. In order to test this on my (LE) machine, I added support for Big-Endian RIFX WAVs and unless I messed up something real bad, the BE support on LE platforms should also ensure LE support on BE platforms works.
Would be great if you could confirm with running corrade's UtilityEndiannessTest
and magnum's WavAudioImporterTest
. Thanks again!
Corrade passes all tests:
Starting Corrade::Utility::Test::EndiannessTest with 6 test cases...
Big endian system
OK [1] endianness()
OK [2] floats()
OK [3] inPlace()
OK [4] inPlaceUnaligned()
OK [5] inPlaceList()
OK [6] enumClass()
Finished Corrade::Utility::Test::EndiannessTest with 0 errors out of 44 checks.
But there are a number of problems with Magnum.
- It misses -lGL:
FAILED: Release/bin/PlatformWindowlessGlxApplicationTest
: && /usr/local/bin/g++9 -O2 -pipe -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc9 -Wl,-rpath=/usr/local/lib/gcc9 -O2 -pipe -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc9 -Wl,-rpath=/usr/local/lib/gcc9 -fstack-protector-strong -Wl,-rpath=/usr/local/lib/gcc9 -L/usr/local/lib/gcc9 src/Magnum/Platform/Test/CMakeFiles/PlatformWindowlessGlxApplicationTest.dir/WindowlessGlxApplicationTest.cpp.o -o Release/bin/PlatformWindowlessGlxApplicationTest -Wl,-rpath,/usr/local/poudriere/ports/default/graphics/magnum/work/.build/Release/lib:/usr/local/lib Release/lib/libMagnumWindowlessGlxApplication.a Release/lib/libMagnumGL.so.2.3 Release/lib/libMagnum.so.2.3 /usr/local/lib/libCorradeUtility.so /usr/local/lib/libGLESv2.so /usr/local/lib/libSM.so /usr/local/lib/libICE.so /usr/local/lib/libX11.so /usr/local/lib/libXext.so && :
/usr/local/bin/ld: Release/lib/libMagnumWindowlessGlxApplication.a(WindowlessGlxApplication.cpp.o): in function `Magnum::Platform::WindowlessGlxContext::WindowlessGlxContext(Magnum::Platform::WindowlessGlxContext::Configuration const&, Magnum::Platform::GLContext*)':WindowlessGlxApplication.cpp:(.text+0x68): undefined reference to `glXQueryVersion'
/usr/local/bin/ld: WindowlessGlxApplication.cpp:(.text+0xb0): undefined reference to `glXChooseFBConfig'
/usr/local/bin/ld: WindowlessGlxApplication.cpp:(.text+0xd4): undefined reference to `glXCreatePbuffer'
/usr/local/bin/ld: WindowlessGlxApplication.cpp:(.text+0xec): undefined reference to `glXGetProcAddress'
/usr/local/bin/ld: Release/lib/libMagnumWindowlessGlxApplication.a(WindowlessGlxApplication.cpp.o): in function `Magnum::Platform::WindowlessGlxContext::~WindowlessGlxContext()':WindowlessGlxApplication.cpp:(.text+0x354): undefined reference to `glXDestroyContext'
/usr/local/bin/ld: WindowlessGlxApplication.cpp:(.text+0x390): undefined reference to `glXDestroyPbuffer'
/usr/local/bin/ld: Release/lib/libMagnumWindowlessGlxApplication.a(WindowlessGlxApplication.cpp.o): in function `Magnum::Platform::WindowlessGlxContext::makeCurrent()':WindowlessGlxApplication.cpp:(.text+0x424): undefined reference to `glXMakeContextCurrent'
/usr/local/bin/ld: Release/lib/libMagnumWindowlessGlxApplication.a(OpenGLFunctionLoader.cpp.o): in function `Magnum::Platform::Implementation::OpenGLFunctionLoader::load(char const*)':OpenGLFunctionLoader.cpp:(.text+0x30): undefined reference to `glXGetProcAddressARB'
collect2: error: ld returned 1 exit status
- After adding manually LDFLAGS+=-lGL in my environment (this should be fixed in Magnum's files instead):
In file included from /usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp:29:
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp: In member function 'void Magnum::Audio::Test::{anonymous}::WavImporterTest::invalidFactChunk()':
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp:206:47: error: narrowing conversion of '-27' from 'int' to 'char' [-Wnarrowing]
206 | -27, -11, -1, -9, 24, -6, 127, -5}}),
| ^
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp: In member function 'void Magnum::Audio::Test::{anonymous}::WavImporterTest::mono8ALaw()':
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp:264:47: error: narrowing conversion of '-43' from 'int' to 'char' [-Wnarrowing]
264 | 87, 84, 85, 85, 85, -43, -43, -43}}),
| ^
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp: In member function 'void Magnum::Audio::Test::{anonymous}::WavImporterTest::mono8MuLaw()':
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp:278:47: error: narrowing conversion of '-5' from 'int' to 'char' [-Wnarrowing]
278 | -5, -3, -1, -2, -1, 127, 127, 126}}),
| ^
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp: In member function 'void Magnum::Audio::Test::{anonymous}::WavImporterTest::stereo8ALaw()':
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp:340:51: error: narrowing conversion of '-43' from 'int' to 'char' [-Wnarrowing]
340 | -43, -43, -43, -43, -43, -43, 85, -43}}),
| ^
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp: In member function 'void Magnum::Audio::Test::{anonymous}::WavImporterTest::stereo8MuLaw()':
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp:354:45: error: narrowing conversion of '-1' from 'int' to 'char' [-Wnarrowing]
354 | -1, -1, -1, -1, -1, -1, 127, -1}}),
| ^
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp: In member function 'void Magnum::Audio::Test::{anonymous}::WavImporterTest::mono32f()':
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp:407:78: error: narrowing conversion of '-103' from
'int' to 'char' [-Wnarrowing]
407 | 0, 0, 0, 0, 108, 57, -103, 59, 3, 63, 42, 60, -33, -81, -120, 60}}),
| ^
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp: In member function 'void Magnum::Audio::Test::{anonymous}::WavImporterTest::mono32fBigEndian()':
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp:420:78: error: narrowing conversion of '-103' from
'int' to 'char' [-Wnarrowing]
420 | 0, 0, 0, 0, 108, 57, -103, 59, 3, 63, 42, 60, -33, -81, -120, 60}}),
| ^
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp: In member function 'void Magnum::Audio::Test::{anonymous}::WavImporterTest::stereo32f()':
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp:434:46: error: narrowing conversion of '-77' from 'int' to 'char' [-Wnarrowing]
434 | 17, -77, -103, 56, 5, 50, 72, 56}}),
| ^
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp: In member function 'void Magnum::Audio::Test::{anonymous}::WavImporterTest::stereo64f()':
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp:451:63: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing]
451 | 0, 0, 0, 0, 0, 0, 24, -65, 0, 0, 0, 0, 0, 0, 0, 0}}),
| ^
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp: In member function 'void Magnum::Audio::Test::{anonymous}::WavImporterTest::stereo64fBigEndian()':
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp:467:63: error: narrowing conversion of '-65' from 'int' to 'char' [-Wnarrowing]
467 | 0, 0, 0, 0, 0, 0, 24, -65, 0, 0, 0, 0, 0, 0, 0, 0}}),
| ^
char is unsigned by default on all ARM and PPC platforms, so if you want to use negative values, you should make them explicitly signed. This is not about endianness, on little-endian ARM and PPC there will be the same error.
3. I also got:
/usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/WavImporter.cpp:31:10: fatal error: Corrade/Utility/EndiannessBatch.h: No such file or directory
31 | #include <Corrade/Utility/EndiannessBatch.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There is Corrade/Utility/Endianness.h
, but not Corrade/Utility/EndiannessBatch.h
. Is that a typo?
- somehow it links to libGLESv2 instead, do you have
TARGET_GLES
enabled? In that case WindowlessGlxApplication won't work, only the EGL variants - argh, forgot about unsigned
char
s, sorry ... will fix (in the meantime,-Wno-narrowing
maybe?) - that header is there: https://github.com/mosra/corrade/tree/master/src/Corrade/Utility .. maybe you just forgot to install master?
- I had
TARGET_GLES2
disabled, but notTARGET_GLES
. Thanks for that. - Yes, it builds with -
Wno-narrowing
. But it may still cause runtime issues. - The
pkg-plist
(I'm building from FreeBSD ports) is from 2019.10 release so it was missing this file, thanks.
Test results:
Starting Magnum::Audio::Test::WavImporterTest with 31 test cases...
OK [01] empty()
OK [02] wrongSignature()
OK [03] unsupportedFormat()
OK [04] unsupportedChannelCount()
OK [05] invalidPadding()
OK [06] invalidLength()
OK [07] invalidDataChunk()
FAIL [08] invalidFactChunk() at /usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp on line 204
Containers importer->data().prefix(8) and (Containers::Array<char>{Containers::InPlaceInit, { -27, -11, -1, -9, 24, -6, 127, -5}}) have different contents, actual:
{245, 229, 247, 255, 250, 24, 251, 127}
but expected
{229, 245, 255, 247, 24, 250, 127, 251}
Actual 245 but 229 expected on position 0.
OK [09] zeroSamples()
OK [10] mono4()
OK [11] mono8()
OK [12] mono8junk()
OK [13] mono8ALaw()
OK [14] mono8MuLaw()
FAIL [15] mono16() at /usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp on line 289
Containers importer->data() and (Containers::Array<char>{Containers::InPlaceInit, { '\x1d', '\x10', '\x71', '\xc5'}}) have different contents, actual:
{16, 29, 197, 113}
but expected
{29, 16, 113, 197}
Actual 16 but 29 expected on position 0.
FAIL [16] mono16BigEndian() at /usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp on line 302
Containers importer->data() and (Containers::Array<char>{Containers::InPlaceInit, { '\x1d', '\x10', '\x71', '\xc5'}}) have different contents, actual:
{16, 29, 197, 113}
but expected
{29, 16, 113, 197}
Actual 16 but 29 expected on position 0.
OK [17] stereo4()
OK [18] stereo8()
OK [19] stereo8ALaw()
OK [20] stereo8MuLaw()
OK [21] stereo12()
FAIL [22] stereo16() at /usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp on line 374
Containers importer->data() and (Containers::Array<char>{Containers::InPlaceInit, {39, 79, 39, 79}}) have different contents, actual:
{79, 39, 79, 39}
but expected
{39, 79, 39, 79}
Actual 79 but 39 expected on position 0.
OK [23] stereo24()
OK [24] stereo32()
FAIL [25] mono32f() at /usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp on line 405
Containers importer->data().prefix(16) and (Containers::Array<char>{Containers::InPlaceInit, { 0, 0, 0, 0, 108, 57, -103, 59, 3, 63, 42, 60, -33, -81, -120, 60}}) have different contents, actual:
{0, 0, 0, 0, 59, 153, 57, 108, 60, 42, 63, 3, 60, 136, 175, 223}
but expected
{0, 0, 0, 0, 108, 57, 153, 59, 3, 63, 42, 60, 223, 175, 136, 60}
Actual 59 but 108 expected on position 4.
FAIL [26] mono32fBigEndian() at /usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp on line 418
Containers importer->data() and (Containers::Array<char>{Containers::InPlaceInit, { 0, 0, 0, 0, 108, 57, -103, 59, 3, 63, 42, 60, -33, -81, -120, 60}}) have different contents, actual:
{0, 0, 0, 0, 59, 153, 57, 108, 60, 42, 63, 3, 60, 136, 175, 223}
but expected
{0, 0, 0, 0, 108, 57, 153, 59, 3, 63, 42, 60, 223, 175, 136, 60}
Actual 59 but 108 expected on position 4.
FAIL [27] stereo32f() at /usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp on line 432
Containers importer->data().prefix(8) and (Containers::Array<char>{Containers::InPlaceInit, { 17, -77, -103, 56, 5, 50, 72, 56}}) have different contents, actual:
{56, 153, 179, 17, 56, 72, 50, 5}
but expected
{17, 179, 153, 56, 5, 50, 72, 56}
Actual 56 but 17 expected on position 0.
FAIL [28] stereo64f() at /usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp on line 446
Containers importer->data().prefix(64) and (Containers::Array<char>{Containers::InPlaceInit, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 16, 63, 0, 0
, 0, 0, 0, 0, 24, -65, 0, 0, 0, 0, 0, 0, 0, 0}}) have different contents, actual:
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 16, 0, 0, 0, 0, 0, 0, 191, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
but expected
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 16, 63, 0, 0, 0, 0, 0, 0, 24, 191, 0, 0, 0, 0, 0, 0, 0, 0}
Actual 63 but 0 expected on position 32.
FAIL [29] stereo64fBigEndian() at /usr/local/poudriere/ports/default/graphics/magnum/work/magnum-7cfa170/src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp on line 462
Containers importer->data() and (Containers::Array<char>{Containers::InPlaceInit, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 16, 63, 0, 0, 0, 0, 0,
0, 24, -65, 0, 0, 0, 0, 0, 0, 0, 0}}) have different contents, actual:
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 16, 0, 0, 0, 0, 0, 0, 191, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
but expected
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 16, 63, 0, 0, 0, 0, 0, 0, 24, 191, 0, 0, 0, 0, 0, 0, 0, 0}
Actual 63 but 0 expected on position 32.
OK [30] surround51Channel16()
OK [31] surround71Channel24()
Finished Magnum::Audio::Test::WavImporterTest with 9 errors out of 105 checks.
It looks like the actual values are misplaced every 4 values.
Yep, sorry, realized too late the test itself suffers from endianness issues as well.
Should be fixed in mosra/magnum@16f845e (the next
branch right now, not master
yet), -Wno-narrowing
should not be needed anymore either. Can you confirm? Thanks a lot!
Looks like it passed now:
Starting Magnum::Audio::Test::WavImporterTest with 31 test cases...
OK [01] empty()
OK [02] wrongSignature()
OK [03] unsupportedFormat()
OK [04] unsupportedChannelCount()
OK [05] invalidPadding()
OK [06] invalidLength()
OK [07] invalidDataChunk()
OK [08] invalidFactChunk()
OK [09] zeroSamples()
OK [10] mono4()
OK [11] mono8()
OK [12] mono8junk()
OK [13] mono8ALaw()
OK [14] mono8MuLaw()
OK [15] mono16()
OK [16] mono16BigEndian()
OK [17] stereo4()
OK [18] stereo8()
OK [19] stereo8ALaw()
OK [20] stereo8MuLaw()
OK [21] stereo12()
OK [22] stereo16()
OK [23] stereo24()
OK [24] stereo32()
OK [25] mono32f()
OK [26] mono32fBigEndian()
OK [27] stereo32f()
OK [28] stereo64f()
OK [29] stereo64fBigEndian()
OK [30] surround51Channel16()
OK [31] surround71Channel24()
Finished Magnum::Audio::Test::WavImporterTest with 0 errors out of 105 checks.
Thanks!
Wonderful, thanks for the confirmation!