Quote:
Originally Posted by GreenFireFly
/usr/include/gtk-2.0/gdk/gdktypes.h:114:39: error: 'GdkWindow' has a previous declaration as 'typedef struct _GdkDrawable GdkWindow'
typedef struct _GdkDrawable GdkWindow;
^
make[2]: *** [Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/X11Utils.cpp.o] Error 1
make[1]: *** [Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/all] Error 2
make: *** [all] Error 2
|
Other platforms are having similar issues with wxGTK3.
https://code.google.com/p/dolphin-em...detail?id=7555
https://bugzilla.redhat.com/show_bug.cgi?id=1124402
https://code.google.com/p/dolphin-em...detail?id=7069
The issue is that you have wxGTK3 built with gtk3 and dolphin is pulling in gtk2. It is explicitly looking for gtk2 once wxWidgets is found. Unfortunately, the cmake/gtk3 package in Slackware 14.1 doesn't come with a FindGTK3.cmake file so you have to update the CMakeLists.txt file to search for the proper gtk.h header file and gtk3 libs. I've created a patch that allows dolphin-emu to build with gtk3 and can be applied by adding "patch -p1 < $CWD/wxGTK3.patch" before the "mkdir build" step in dolphin-emu.SlackBuild.
Code:
diff -Naur dolphin-4.0.2.orig/CMakeLists.txt dolphin-4.0.2/CMakeLists.txt
--- dolphin-4.0.2.orig/CMakeLists.txt 2013-11-29 21:05:19.000000000 +0000
+++ dolphin-4.0.2/CMakeLists.txt 2014-10-28 14:54:54.694148746 +0000
@@ -702,18 +702,13 @@
# gdk-pixbuf-2.0. On yet another hand, cmake version 2.8.3 in
# Ubuntu Natty does not find the glib libraries correctly.
# Ugly!!!
- execute_process(COMMAND lsb_release -c -s
- OUTPUT_VARIABLE DIST_NAME
- ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
- if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}
- VERSION_EQUAL 2.8.2 OR "${DIST_NAME}" STREQUAL "natty")
- check_lib(GTK2 gtk+-2.0 gtk.h REQUIRED)
- else()
- include(FindGTK2)
- if(GTK2_FOUND)
- include_directories(${GTK2_INCLUDE_DIRS})
- endif()
- endif()
+ execute_process(COMMAND
+ pkg-config --libs gtk+-3.0
+ OUTPUT_VARIABLE GTK3_LIBS_OUT
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ set(GTK3_LIBS_OUT "${GTK3_LIBS_OUT}")
+ check_lib(GTK3 gtk+-3.0 gtk.h REQUIRED)
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GTK3_LIBS_OUT}")
endif()
if(wxWidgets_FOUND)
I haven't tested the patch to see if dolphin runs correctly when build against gtk3 but dolphin does compile correctly with this patch.
NB: I don't plan to support this patch. In fact, I'm planning on using "-DDISABLE_WX:BOOL=ON" in the cmake step in order to bypass any wxWidgets requirements. dolphin-emu doesn't require wxWidgets to run anyways and I'll let upstream fix this.