On Ubuntu 16.04, compiling DeSmuMe from trunk (actually r5565) gives an error. The last version I can compile is r5532.
g++ -O2 -march=native -mfpmath=sse -o desmume avout_pipe_base.o avout_x264.o avout_flac.o config.o desmume.o dToolsList.o tools/ioregsView.o ../sndsdl.o ../ctrlssdl.o ../driver.o osmesa_3Demu.o glx_3Demu.o cheatsGTK.o ../filter/hq2x.o ../filter/hq4x.o ../filter/2xsai.o ../filter/bilinear.o ../filter/epx.o ../filter/lq2x.o ../filter/scanline.o ../filter/videofilter.o main.o ../libdesmume.a -L/usr/lib/x86_64-linux-gnu -lSDL -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lgthread-2.0 -pthread -lglib-2.0 -lagg_pic -lX11 -lGL -ldl -lz -lGL -lGLU -lopenal
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer555To8888Opaque<true, true>(unsigned short const*, unsigned int*, unsigned long)':
colorspacehandler.cpp:(.text._Z38ColorspaceConvertBuffer555To8888OpaqueILb1ELb1EEvPKtPjm[_Z38ColorspaceConvertBuffer555To8888OpaqueILb1ELb1EEvPKtPjm]+0x20): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer555To8888Opaque_SwapRB_IsUnaligned(unsigned short const*, unsigned int*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer555To8888Opaque<true, false>(unsigned short const*, unsigned int*, unsigned long)':
colorspacehandler.cpp:(.text._Z38ColorspaceConvertBuffer555To8888OpaqueILb1ELb0EEvPKtPjm[_Z38ColorspaceConvertBuffer555To8888OpaqueILb1ELb0EEvPKtPjm]+0x20): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer555To8888Opaque_SwapRB(unsigned short const*, unsigned int*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer555To8888Opaque<false, true>(unsigned short const*, unsigned int*, unsigned long)':
colorspacehandler.cpp:(.text._Z38ColorspaceConvertBuffer555To8888OpaqueILb0ELb1EEvPKtPjm[_Z38ColorspaceConvertBuffer555To8888OpaqueILb0ELb1EEvPKtPjm]+0x20): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer555To8888Opaque_IsUnaligned(unsigned short const*, unsigned int*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer555To8888Opaque<false, false>(unsigned short const*, unsigned int*, unsigned long)':
colorspacehandler.cpp:(.text._Z38ColorspaceConvertBuffer555To8888OpaqueILb0ELb0EEvPKtPjm[_Z38ColorspaceConvertBuffer555To8888OpaqueILb0ELb0EEvPKtPjm]+0x20): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer555To8888Opaque(unsigned short const*, unsigned int*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer555To6665Opaque<true, true>(unsigned short const*, unsigned int*, unsigned long)':
colorspacehandler.cpp:(.text._Z38ColorspaceConvertBuffer555To6665OpaqueILb1ELb1EEvPKtPjm[_Z38ColorspaceConvertBuffer555To6665OpaqueILb1ELb1EEvPKtPjm]+0x20): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer555To6665Opaque_SwapRB_IsUnaligned(unsigned short const*, unsigned int*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer555To6665Opaque<true, false>(unsigned short const*, unsigned int*, unsigned long)':
colorspacehandler.cpp:(.text._Z38ColorspaceConvertBuffer555To6665OpaqueILb1ELb0EEvPKtPjm[_Z38ColorspaceConvertBuffer555To6665OpaqueILb1ELb0EEvPKtPjm]+0x20): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer555To6665Opaque_SwapRB(unsigned short const*, unsigned int*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer555To6665Opaque<false, true>(unsigned short const*, unsigned int*, unsigned long)':
colorspacehandler.cpp:(.text._Z38ColorspaceConvertBuffer555To6665OpaqueILb0ELb1EEvPKtPjm[_Z38ColorspaceConvertBuffer555To6665OpaqueILb0ELb1EEvPKtPjm]+0x20): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer555To6665Opaque_IsUnaligned(unsigned short const*, unsigned int*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer555To6665Opaque<false, false>(unsigned short const*, unsigned int*, unsigned long)':
colorspacehandler.cpp:(.text._Z38ColorspaceConvertBuffer555To6665OpaqueILb0ELb0EEvPKtPjm[_Z38ColorspaceConvertBuffer555To6665OpaqueILb0ELb0EEvPKtPjm]+0x20): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer555To6665Opaque(unsigned short const*, unsigned int*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer8888To6665<true, true>(unsigned int const*, unsigned int*, unsigned long)':
colorspacehandler.cpp:(.text._Z33ColorspaceConvertBuffer8888To6665ILb1ELb1EEvPKjPjm[_Z33ColorspaceConvertBuffer8888To6665ILb1ELb1EEvPKjPjm]+0x26): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer8888To6665_SwapRB_IsUnaligned(unsigned int const*, unsigned int*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer8888To6665<true, false>(unsigned int const*, unsigned int*, unsigned long)':
colorspacehandler.cpp:(.text._Z33ColorspaceConvertBuffer8888To6665ILb1ELb0EEvPKjPjm[_Z33ColorspaceConvertBuffer8888To6665ILb1ELb0EEvPKjPjm]+0x26): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer8888To6665_SwapRB(unsigned int const*, unsigned int*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer8888To6665<false, true>(unsigned int const*, unsigned int*, unsigned long)':
colorspacehandler.cpp:(.text._Z33ColorspaceConvertBuffer8888To6665ILb0ELb1EEvPKjPjm[_Z33ColorspaceConvertBuffer8888To6665ILb0ELb1EEvPKjPjm]+0x26): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer8888To6665_IsUnaligned(unsigned int const*, unsigned int*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer8888To6665<false, false>(unsigned int const*, unsigned int*, unsigned long)':
colorspacehandler.cpp:(.text._Z33ColorspaceConvertBuffer8888To6665ILb0ELb0EEvPKjPjm[_Z33ColorspaceConvertBuffer8888To6665ILb0ELb0EEvPKjPjm]+0x26): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer8888To6665(unsigned int const*, unsigned int*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer6665To8888<true, true>(unsigned int const*, unsigned int*, unsigned long)':
colorspacehandler.cpp:(.text._Z33ColorspaceConvertBuffer6665To8888ILb1ELb1EEvPKjPjm[_Z33ColorspaceConvertBuffer6665To8888ILb1ELb1EEvPKjPjm]+0x26): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer6665To8888_SwapRB_IsUnaligned(unsigned int const*, unsigned int*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer6665To8888<true, false>(unsigned int const*, unsigned int*, unsigned long)':
colorspacehandler.cpp:(.text._Z33ColorspaceConvertBuffer6665To8888ILb1ELb0EEvPKjPjm[_Z33ColorspaceConvertBuffer6665To8888ILb1ELb0EEvPKjPjm]+0x26): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer6665To8888_SwapRB(unsigned int const*, unsigned int*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer6665To8888<false, true>(unsigned int const*, unsigned int*, unsigned long)':
colorspacehandler.cpp:(.text._Z33ColorspaceConvertBuffer6665To8888ILb0ELb1EEvPKjPjm[_Z33ColorspaceConvertBuffer6665To8888ILb0ELb1EEvPKjPjm]+0x26): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer6665To8888_IsUnaligned(unsigned int const*, unsigned int*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer6665To8888<false, false>(unsigned int const*, unsigned int*, unsigned long)':
colorspacehandler.cpp:(.text._Z33ColorspaceConvertBuffer6665To8888ILb0ELb0EEvPKjPjm[_Z33ColorspaceConvertBuffer6665To8888ILb0ELb0EEvPKjPjm]+0x26): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer6665To8888(unsigned int const*, unsigned int*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer8888To5551<true, true>(unsigned int const*, unsigned short*, unsigned long)':
colorspacehandler.cpp:(.text._Z33ColorspaceConvertBuffer8888To5551ILb1ELb1EEvPKjPtm[_Z33ColorspaceConvertBuffer8888To5551ILb1ELb1EEvPKjPtm]+0x20): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer8888To5551_SwapRB_IsUnaligned(unsigned int const*, unsigned short*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer8888To5551<true, false>(unsigned int const*, unsigned short*, unsigned long)':
colorspacehandler.cpp:(.text._Z33ColorspaceConvertBuffer8888To5551ILb1ELb0EEvPKjPtm[_Z33ColorspaceConvertBuffer8888To5551ILb1ELb0EEvPKjPtm]+0x20): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer8888To5551_SwapRB(unsigned int const*, unsigned short*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer8888To5551<false, true>(unsigned int const*, unsigned short*, unsigned long)':
colorspacehandler.cpp:(.text._Z33ColorspaceConvertBuffer8888To5551ILb0ELb1EEvPKjPtm[_Z33ColorspaceConvertBuffer8888To5551ILb0ELb1EEvPKjPtm]+0x20): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer8888To5551_IsUnaligned(unsigned int const*, unsigned short*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer8888To5551<false, false>(unsigned int const*, unsigned short*, unsigned long)':
colorspacehandler.cpp:(.text._Z33ColorspaceConvertBuffer8888To5551ILb0ELb0EEvPKjPtm[_Z33ColorspaceConvertBuffer8888To5551ILb0ELb0EEvPKjPtm]+0x20): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer8888To5551(unsigned int const*, unsigned short*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer6665To5551<true, true>(unsigned int const*, unsigned short*, unsigned long)':
colorspacehandler.cpp:(.text._Z33ColorspaceConvertBuffer6665To5551ILb1ELb1EEvPKjPtm[_Z33ColorspaceConvertBuffer6665To5551ILb1ELb1EEvPKjPtm]+0x20): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer6665To5551_SwapRB_IsUnaligned(unsigned int const*, unsigned short*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer6665To5551<true, false>(unsigned int const*, unsigned short*, unsigned long)':
colorspacehandler.cpp:(.text._Z33ColorspaceConvertBuffer6665To5551ILb1ELb0EEvPKjPtm[_Z33ColorspaceConvertBuffer6665To5551ILb1ELb0EEvPKjPtm]+0x20): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer6665To5551_SwapRB(unsigned int const*, unsigned short*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer6665To5551<false, true>(unsigned int const*, unsigned short*, unsigned long)':
colorspacehandler.cpp:(.text._Z33ColorspaceConvertBuffer6665To5551ILb0ELb1EEvPKjPtm[_Z33ColorspaceConvertBuffer6665To5551ILb0ELb1EEvPKjPtm]+0x20): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer6665To5551_IsUnaligned(unsigned int const*, unsigned short*, unsigned long) const'
../libdesmume.a(colorspacehandler.o): In function `void ColorspaceConvertBuffer6665To5551<false, false>(unsigned int const*, unsigned short*, unsigned long)':
colorspacehandler.cpp:(.text._Z33ColorspaceConvertBuffer6665To5551ILb0ELb0EEvPKjPtm[_Z33ColorspaceConvertBuffer6665To5551ILb0ELb0EEvPKjPtm]+0x20): undefined reference to `ColorspaceHandler_AVX2::ConvertBuffer6665To5551(unsigned int const*, unsigned short*, unsigned long) const'
collect2: error: ld returned 1 exit status
Makefile:601: recipe for target 'desmume' failed
make[3]: *** [desmume] Error 1
Anonymous
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
Last edit: Anonymous 2016-12-24
It seems to be an issue with GCC 5, I successfully compiled DeSmuMe with GCC 6.
Using "-std=gnu++14" solves the issue.
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
I'm trying to submit a bug report, but I don't know how to. Can someone help?
Create a SF account, or post it to our project on github (after creating an account)
You can always create a throwaway account
This issue is completely obsolete. Our Linux builds can build just fine. We currently use a continuous integration system on GitHub that checks for exactly this issue.
Closing, since this issue has long since been fixed.