Bug 197890

Summary: emulators/dolphin-emu fails to build with GCC 4.9 (despite USES=compiler:c++11-lib)
Product: Ports & Packages Reporter: Gerald Pfeifer <gerald>
Component: Individual Port(s)Assignee: Ganael LAPLANCHE <martymac>
Status: Closed FIXED    
Severity: Affects Some People Flags: bugzilla: maintainer-feedback? (martymac)
Priority: ---    
Version: Latest   
Hardware: amd64   
OS: Any   
Bug Depends on:    
Bug Blocks: 196712    

Description Gerald Pfeifer freebsd_committer freebsd_triage 2015-02-22 01:08:58 UTC
This is related to PR 196712 and blocks updating the default version of
GCC from 4.8 to 4.9.

Here is a build log, apparently the problem is amd64-specific.

http://package22.nyi.freebsd.org/data/93amd64-default-PR196712/2015-01-18_12h28m08s/logs/errors/dolphin-emu-4.0.2_2.log

cd /wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Source/Core/Common && /usr/local/bin/g++49   -DDATA_DIR=\"/usr/local/share/dolphin-emu/\" -DHAVE_ALSA=0 -DHAVE_AO=0 -DHAVE_BLUEZ=0 -DHAVE_LIBAV -DHAVE_OPENAL=1 -DHAVE_PORTAUDIO=1 -DHAVE_PULSEAUDIO=0 -DHAVE_WAYLAND=0 -DHAVE_WX=1 -DHAVE_X11=1 -DHAVE_X11_XINPUT2=1 -DHAVE_XRANDR=1 -DUSER_DIR=\".dolphin-emu\" -DUSE_UPNP -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_THREAD_SAFE -D__LIBUSB__ -D__WXGTK__ -O2 -pipe -fstack-protector -Wl,-rpath=/usr/local/lib/gcc49 -fno-strict-aliasing -Wl,-rpath=/usr/local/lib/gcc49 -Wtype-limits -Wsign-compare -Wignored-qualifiers -Wuninitialized -Wlogical-op -Wshadow -Winit-self -fvisibility-inlines-hidden -fvisibility=hidden -I/usr/local/include/wx-3.0 -O2 -pipe -fstack-protector -Wl,-rpath=/usr/local/lib/gcc49 -fno-strict-aliasing -Wl,-rpath=/usr/local/lib/gcc49 -I/wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Externals/SFML/include -I/usr/local/include/portaudio2 -I/usr/local/include -I/usr/local/include/AL -I/wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Source/Core/AudioCommon/Src -I/wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Source/Core/Common/Src -I/wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Source/Core/Core/Src -I/wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Source/Core/DebuggerUICommon/Src -I/wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Source/Core/DebuggerWX/Src -I/wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Source/Core/DiscIO/Src -I/wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Source/Core/DolphinWX/Src -I/wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Source/Core/InputCommon/Src -I/wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Source/Core/VideoCommon/Src -I/wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Source/Core/VideoUICommon/Src -I/wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Externals/Bochs_disasm -I/usr/local/include/soundtouch -I/usr/local/include/SDL -I/usr/local/include/miniupnpc -I/wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Externals/SOIL -I/usr/include/GL -I/usr/local/include/libdrm -I/wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Externals/CLRun/include -I/usr/local/include/freetype2 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/atk-1.0 -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/cairo -I/usr/local/include/pango-1.0 -I/usr/local/include/gtk-2.0 -isystem /usr/local/lib/wx/include/gtk2-unicode-3.0 -isystem /usr/local/include/wx-3.0    -msse2 -Wall -fno-strict-aliasing -fno-exceptions -fomit-frame-pointer -Wno-unknown-pragmas -std=gnu++0x -o CMakeFiles/common.dir/Src/BreakPoints.cpp.o -c /wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Source/Core/Common/Src/BreakPoints.cpp
In file included from /usr/local/lib/gcc49/gcc/x86_64-portbld-freebsd9.3/4.9.2/include/x86intrin.h:37:0,
                 from /usr/local/lib/gcc49/include/c++/x86_64-portbld-freebsd9.3/bits/opt_random.h:33,
                 from /usr/local/lib/gcc49/include/c++/random:50,
                 from /usr/local/lib/gcc49/include/c++/bits/stl_algo.h:66,
                 from /usr/local/lib/gcc49/include/c++/algorithm:62,
                 from /wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Source/Core/Common/Src/BreakPoints.cpp:11:
/usr/local/lib/gcc49/gcc/x86_64-portbld-freebsd9.3/4.9.2/include/tmmintrin.h: In function '__m128i _mm_shuffle_epi8(__m128i, __m128i)':
/usr/local/lib/gcc49/gcc/x86_64-portbld-freebsd9.3/4.9.2/include/tmmintrin.h:136:1: error: redefinition of '__m128i _mm_shuffle_epi8(__m128i, __m128i)'
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from /wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Source/Core/Common/Src/Common.h:49:0,
                 from /wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Source/Core/Common/Src/BreakPoints.cpp:5:
/wrkdirs/usr/ports/emulators/dolphin-emu/work/dolphin-emu-dolphin-88fabf7/Source/Core/Common/Src/CommonFuncs.h:36:1: note: '__m128i _mm_shuffle_epi8(__m128i, __m128i)' previously defined here
 _mm_shuffle_epi8(__m128i a, __m128i mask)
 ^
*** [Source/Core/Common/CMakeFiles/common.dir/Src/BreakPoints.cpp.o] Error code 1
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2015-02-22 01:08:58 UTC
Auto-assigned to maintainer martymac@FreeBSD.org
Comment 2 commit-hook freebsd_committer freebsd_triage 2015-02-23 13:16:20 UTC
A commit references this bug:

Author: martymac
Date: Mon Feb 23 13:16:10 UTC 2015
New revision: 379673
URL: https://svnweb.freebsd.org/changeset/ports/379673

Log:
  Fix build with Gcc 4.9

  PR:		197890
  Submitted by:	gerald

Changes:
  head/emulators/dolphin-emu/files/patch-Source-Core-Common-Src-CommonFuncs.h
Comment 3 Ganael LAPLANCHE freebsd_committer freebsd_triage 2015-02-23 13:26:21 UTC
Hi Gerald,

Thanks for your report, this issue should be fixed by now.

The added patch is a backport from newer versions of Dolphin.

Ganael.