GNOME Bugzilla – Bug 764233
gtksourceviewmm3 needs update with respect to the API changes in gtksourceview3.20
Last modified: 2016-03-30 08:01:22 UTC
Building gtksourceviewmm3.18 with gtksourceview3.20 development files gave the following errors: .libs/completion.o:completion.cc:(.text+0xb5d): undefined reference to `gtk_source_completion_move_window' .libs/completioninfo.o:completioninfo.cc:(.text+0x821): undefined reference to `gtk_source_completion_info_get_widget' .libs/completioninfo.o:completioninfo.cc:(.text+0x809): undefined reference to `gtk_source_completion_info_set_widget' .libs/gutter.o:gutter.cc:(.text+0x446): undefined reference to `gtk_source_gutter_get_window' .libs/gutter.o:gutter.cc:(.text+0x55d): undefined reference to `gtk_source_gutter_set_padding' .libs/gutter.o:gutter.cc:(.text+0x57d): undefined reference to `gtk_source_gutter_get_padding' .libs/gutterrendererpixbuf.o:gutterrendererpixbuf.cc:(.text+0x628): undefined reference to `gtk_source_gutter_renderer_pixbuf_get_stock_id' .libs/gutterrendererpixbuf.o:gutterrendererpixbuf.cc:(.text+0x6f0): undefined reference to `gtk_source_gutter_renderer_pixbuf_set_stock_id' .libs/markattributes.o:markattributes.cc:(.text+0x848): undefined reference to `gtk_source_mark_attributes_get_stock_id' .libs/markattributes.o:markattributes.cc:(.text+0x910): undefined reference to `gtk_source_mark_attributes_set_stock_id' .libs/view.o:view.cc:(.text+0x140d): undefined reference to `gtk_source_view_get_draw_spaces'
I was able to build to build gtksourceviewmm 3.18 with gtksourceview 3.20 just fine in jhbuild. Could you send me the output of "make V=1 check"? It might be some problem with the environment. For the record, the relevant parts from the output from the "make V=1 check" invocation on my computer: [krnowak@fiodor gtksourceviewmm]$ make V=1 check ... Making check in tests make[1]: Entering directory '/home/krnowak/usr/src/gtksourceviewmm/tests' make basic/test langs/test search/test get_buffer/test mime_types/test completion/test make[2]: Entering directory '/home/krnowak/usr/src/gtksourceviewmm/tests' ... depbase=`echo completion/main.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ g++ -DHAVE_CONFIG_H -I.. -I../gtksourceview -pthread -pthread -I/home/krnowak/usr/include/gtkmm-3.0 -I/home/krnowak/usr/lib/gtkmm-3.0/include -I/home/krnowak/usr/include/atkmm-1.6 -I/home/krnowak/usr/include/gtk-3.0/unix-print -I/home/krnowak/usr/include/gdkmm-3.0 -I/home/krnowak/usr/lib/gdkmm-3.0/include -I/home/krnowak/usr/include/giomm-2.4 -I/home/krnowak/usr/lib/giomm-2.4/include -I/home/krnowak/usr/include/pangomm-1.4 -I/home/krnowak/usr/lib/pangomm-1.4/include -I/home/krnowak/usr/include/glibmm-2.4 -I/home/krnowak/usr/lib/glibmm-2.4/include -I/home/krnowak/usr/include/cairomm-1.0 -I/home/krnowak/usr/lib/cairomm-1.0/include -I/home/krnowak/usr/include/sigc++-2.0 -I/home/krnowak/usr/lib/sigc++-2.0/include -I/home/krnowak/usr/include/gtksourceview-3.0 -I/home/krnowak/usr/include/gtk-3.0 -I/home/krnowak/usr/include/at-spi2-atk/2.0 -I/home/krnowak/usr/include/at-spi-2.0 -I/home/krnowak/usr/include/gtk-3.0 -I/home/krnowak/usr/include/gio-unix-2.0/ -I/home/krnowak/usr/include/pango-1.0 -I/home/krnowak/usr/include/harfbuzz -I/home/krnowak/usr/include/pango-1.0 -I/home/krnowak/usr/include/atk-1.0 -I/home/krnowak/usr/include/gdk-pixbuf-2.0 -I/home/krnowak/usr/include/glib-2.0 -I/home/krnowak/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng16 -Wall -Wno-long-long -g -O0 -std=c++11 -MT completion/main.o -MD -MP -MF $depbase.Tpo -c -o completion/main.o completion/main.cc &&\ mv -f $depbase.Tpo $depbase.Po /bin/sh ../libtool --tag=CXX --mode=link g++ -Wall -Wno-long-long -g -O0 -std=c++11 -L/home/krnowak/usr/lib -o completion/test completion/main.o -L/home/krnowak/usr/lib -lgtkmm-3.0 -latkmm-1.6 -lgdkmm-3.0 -lgiomm-2.4 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgtksourceview-3.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 ../gtksourceview/gtksourceviewmm/libgtksourceviewmm-3.0.la libtool: link: g++ -Wall -Wno-long-long -g -O0 -std=c++11 -o completion/.libs/test completion/main.o -L/home/krnowak/usr/lib ../gtksourceview/gtksourceviewmm/.libs/libgtksourceviewmm-3.0.so -lgtkmm-3.0 -latkmm-1.6 -lgdkmm-3.0 -lgiomm-2.4 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgtksourceview-3.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -Wl,-rpath -Wl,/home/krnowak/usr/lib make[2]: Leaving directory '/home/krnowak/usr/src/gtksourceviewmm/tests' make[1]: Leaving directory '/home/krnowak/usr/src/gtksourceviewmm/tests' make[1]: Entering directory '/home/krnowak/usr/src/gtksourceviewmm' make[1]: Leaving directory '/home/krnowak/usr/src/gtksourceviewmm'
Thank you for the quick response. I see now that this issue does not have anything with API changes, since it is happening when linking. Sorry. I am trying to fix gtksourceviewmm3 for MSYS2 (https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-gtksourceviewmm3) after they upgraded to gtksourceview3.20. I just verified that gtksourceviewmm3 compiles and links with the older gtksourceview3.18 MSYS2 package. When running make V=1 check (hopefully the relevant parts): $ make V=1 check Making check in gtksourceview/gtksourceviewmm make[1]: Entering directory '/home/ole/MINGW-packages/mingw-w64-gtksourceviewmm3/src/build-x86_64-w64-mingw32/gtksourceview/gtksourceviewmm' /bin/sh ../../libtool --tag=CXX --mode=link x86_64-w64-mingw32-g++ -Wall -Wno-long-long -march=x86-64 -mtune=generic -O2 -pipe -std=c++11 -no-undefined -version-info 0:0:0 -pipe -o libgtksourceviewmm-3.0.la -rpath /mingw64/lib buffer.lo completion.lo completionactivation.lo completioncontext.lo completioninfo.lo completionitem.lo completionproposal.lo completionprovider.lo completionwords.lo gutter.lo gutterrenderer.lo gutterrendererpixbuf.lo gutterrenderertext.lo language.lo languagemanager.lo mark.lo markattributes.lo printcompositor.lo style.lo stylescheme.lo styleschememanager.lo undomanager.lo view.lo wrap_init.lo init.lo markup.lo -LC:/msys64/mingw64/lib -lgtkmm-3.0 -latkmm-1.6 -lgdkmm-3.0 -lgiomm-2.4 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgtksourceview-3.0 -lgtk-3 -lgdk-3 -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -ldwmapi -lz -lpangowin32-1.0 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl libtool: link: rm -fr .libs/libgtksourceviewmm-3.0.dll.a libtool: link: x86_64-w64-mingw32-g++ -shared -nostdlib C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/lib/../lib/dllcrt2.o C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/crtbegin.o .libs/buffer.o .libs/completion.o .libs/completionactivation.o .libs/completioncontext.o .libs/completioninfo.o .libs/completionitem.o .libs/completionproposal.o .libs/completionprovider.o .libs/completionwords.o .libs/gutter.o .libs/gutterrenderer.o .libs/gutterrendererpixbuf.o .libs/gutterrenderertext.o .libs/language.o .libs/languagemanager.o .libs/mark.o .libs/markattributes.o .libs/printcompositor.o .libs/style.o .libs/stylescheme.o .libs/styleschememanager.o .libs/undomanager.o .libs/view.o .libs/wrap_init.o .libs/init.o .libs/markup.o -LC:/msys64/mingw64/lib -lgtkmm-3.0 -latkmm-1.6 -lgdkmm-3.0 -lgiomm-2.4 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgtksourceview-3.0 -lgtk-3 -lgdk-3 -lgdi32 -limm32 -lshell32 -lole32 -lwinmm -ldwmapi -lz -lpangowin32-1.0 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl -LC:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0 -LC:/msys64/mingw64/bin/../lib/gcc -LC:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/lib/../lib -LC:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../lib -LC:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/lib -LC:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../.. -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/crtend.o -march=x86-64 -mtune=generic -O2 -Wl,-luuid -o .libs/libgtksourceviewmm-3.0-0.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libgtksourceviewmm-3.0.dll.a .libs/completion.o:completion.cc:(.text+0xb5d): undefined reference to `gtk_source_completion_move_window' .libs/completioninfo.o:completioninfo.cc:(.text+0x821): undefined reference to `gtk_source_completion_info_get_widget' .libs/completioninfo.o:completioninfo.cc:(.text+0x809): undefined reference to `gtk_source_completion_info_set_widget' .libs/gutter.o:gutter.cc:(.text+0x446): undefined reference to `gtk_source_gutter_get_window' .libs/gutter.o:gutter.cc:(.text+0x55d): undefined reference to `gtk_source_gutter_set_padding' .libs/gutter.o:gutter.cc:(.text+0x57d): undefined reference to `gtk_source_gutter_get_padding' .libs/gutterrendererpixbuf.o:gutterrendererpixbuf.cc:(.text+0x628): undefined reference to `gtk_source_gutter_renderer_pixbuf_get_stock_id' .libs/gutterrendererpixbuf.o:gutterrendererpixbuf.cc:(.text+0x6f0): undefined reference to `gtk_source_gutter_renderer_pixbuf_set_stock_id' .libs/markattributes.o:markattributes.cc:(.text+0x848): undefined reference to `gtk_source_mark_attributes_get_stock_id' .libs/markattributes.o:markattributes.cc:(.text+0x910): undefined reference to `gtk_source_mark_attributes_set_stock_id' .libs/view.o:view.cc:(.text+0x140d): undefined reference to `gtk_source_view_get_draw_spaces' collect2.exe: error: ld returned 1 exit status Makefile:507: recipe for target 'libgtksourceviewmm-3.0.la' failed make[1]: *** [libgtksourceviewmm-3.0.la] Error 1 make[1]: Leaving directory '/home/ole/MINGW-packages/mingw-w64-gtksourceviewmm3/src/build-x86_64-w64-mingw32/gtksourceview/gtksourceviewmm' Makefile:558: recipe for target 'check-recursive' failed make: *** [check-recursive] Error 1
That's curious. Almost all the undefined references are references to the deprecated functions (marked with GTK_SOURCE_DEPRECATED_IN_3_X or GTK_SOURCE_DEPRECATED_IN_3_X_FOR). The lone exception is gtk_source_view_get_draw_spaces which is not deprecated, but does not have the GTK_SOURCE_AVAILABLE_IN_ALL attribute (https://git.gnome.org/browse/gtksourceview/tree/gtksourceview/gtksourceview.h#n254). The last one is likely a bug in gtksourceview and I just sent a patch here - https://bugzilla.gnome.org/show_bug.cgi?id=764246. I don't know where exactly is the problem. Maybe with G_DEPRECATED macro? But you would have issues with it earlier I guess.
When looking into gtksourceviewmm3 source, and running: $ grep -R gtk_source_completion_move_window * I get these two: gtksourceviewmm/completion.cc: gtk_source_completion_move_window(gobj(), const_cast<GtkTextIter*>((iter).gobj())); src/completion.hg: _WRAP_METHOD(void move_window(const Gtk::TextIter& iter), gtk_source_completion_move_window, deprecated "Use SourceCompletionProvider::get_start_iter() instead.") Might the solution be to update the implementations (.cc-files) to use non-deprecated functions? I take it some functions got removed (due to older deprecations) from gtksourceview3.18 to 3.20? However, it is still strange that you got it to compile... Also by running configure and make manually I get the following output that is a bit more descriptive (the "In function" are included): $ make Making all in gtksourceview/gtksourceviewmm make[1]: Entering directory '/home/ole/MINGW-packages/mingw-w64-gtksourceviewmm3/src/gtksourceviewmm-3.18.0/gtksourceview/gtksourceviewmm' CXX buffer.lo CXX completion.lo CXX completionactivation.lo CXX completioncontext.lo CXX completioninfo.lo CXX completionitem.lo CXX completionproposal.lo CXX completionprovider.lo CXX completionwords.lo CXX gutter.lo CXX gutterrenderer.lo CXX gutterrendererpixbuf.lo CXX gutterrenderertext.lo CXX language.lo CXX languagemanager.lo CXX mark.lo CXX markattributes.lo CXX printcompositor.lo CXX style.lo CXX stylescheme.lo CXX styleschememanager.lo CXX undomanager.lo CXX view.lo CXX wrap_init.lo CXX init.lo CXX markup.lo CXXLD libgtksourceviewmm-3.0.la .libs/completion.o: In function `Gsv::Completion::move_window(Gtk::TextIter const&)': C:\msys64\home\ole\MINGW-packages\mingw-w64-gtksourceviewmm3\src\gtksourceviewmm-3.18.0\gtksourceview\gtksourceviewmm/completion.cc:404: undefined reference to `gtk_source_completion_move_window' .libs/completioninfo.o: In function `Gsv::CompletionInfo::get_widget()': C:\msys64\home\ole\MINGW-packages\mingw-w64-gtksourceviewmm3\src\gtksourceviewmm-3.18.0\gtksourceview\gtksourceviewmm/completioninfo.cc:229: undefined reference to `gtk_source_completion_info_get_widget' .libs/completioninfo.o: In function `Gsv::CompletionInfo::set_widget(Gtk::Widget&)': C:\msys64\home\ole\MINGW-packages\mingw-w64-gtksourceviewmm3\src\gtksourceviewmm-3.18.0\gtksourceview\gtksourceviewmm/completioninfo.cc:220: undefined reference to `gtk_source_completion_info_set_widget' .libs/gutter.o: In function `Gsv::Gutter::get_window()': C:\msys64\home\ole\MINGW-packages\mingw-w64-gtksourceviewmm3\src\gtksourceviewmm-3.18.0\gtksourceview\gtksourceviewmm/gutter.cc:145: undefined reference to `gtk_source_gutter_get_window' .libs/gutter.o: In function `Gsv::Gutter::set_padding(int, int)': C:\msys64\home\ole\MINGW-packages\mingw-w64-gtksourceviewmm3\src\gtksourceviewmm-3.18.0\gtksourceview\gtksourceviewmm/gutter.cc:186: undefined reference to `gtk_source_gutter_set_padding' .libs/gutter.o: In function `Gsv::Gutter::get_padding(int&, int&) const': C:\msys64\home\ole\MINGW-packages\mingw-w64-gtksourceviewmm3\src\gtksourceviewmm-3.18.0\gtksourceview\gtksourceviewmm/gutter.cc:195: undefined reference to `gtk_source_gutter_get_padding' .libs/gutterrendererpixbuf.o: In function `Gsv::GutterRendererPixbuf::get_stock_id[abi:cxx11]() const': C:\msys64\home\ole\MINGW-packages\mingw-w64-gtksourceviewmm3\src\gtksourceviewmm-3.18.0\gtksourceview\gtksourceviewmm/gutterrendererpixbuf.cc:173: undefined reference to `gtk_source_gutter_renderer_pixbuf_get_stock_id' .libs/gutterrendererpixbuf.o: In function `Gsv::GutterRendererPixbuf::set_stock_id(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': C:\msys64\home\ole\MINGW-packages\mingw-w64-gtksourceviewmm3\src\gtksourceviewmm-3.18.0\gtksourceview\gtksourceviewmm/gutterrendererpixbuf.cc:182: undefined reference to `gtk_source_gutter_renderer_pixbuf_set_stock_id' .libs/markattributes.o: In function `Gsv::MarkAttributes::get_stock_id[abi:cxx11]() const': C:\msys64\home\ole\MINGW-packages\mingw-w64-gtksourceviewmm3\src\gtksourceviewmm-3.18.0\gtksourceview\gtksourceviewmm/markattributes.cc:309: undefined reference to `gtk_source_mark_attributes_get_stock_id' .libs/markattributes.o: In function `Gsv::MarkAttributes::set_stock_id(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': C:\msys64\home\ole\MINGW-packages\mingw-w64-gtksourceviewmm3\src\gtksourceviewmm-3.18.0\gtksourceview\gtksourceviewmm/markattributes.cc:318: undefined reference to `gtk_source_mark_attributes_set_stock_id' .libs/view.o: In function `Gsv::View::get_draw_spaces() const': C:\msys64\home\ole\MINGW-packages\mingw-w64-gtksourceviewmm3\src\gtksourceviewmm-3.18.0\gtksourceview\gtksourceviewmm/view.cc:512: undefined reference to `gtk_source_view_get_draw_spaces' collect2.exe: error: ld returned 1 exit status Makefile:507: recipe for target 'libgtksourceviewmm-3.0.la' failed make[1]: *** [libgtksourceviewmm-3.0.la] Error 1 make[1]: Leaving directory '/home/ole/MINGW-packages/mingw-w64-gtksourceviewmm3/src/gtksourceviewmm-3.18.0/gtksourceview/gtksourceviewmm' Makefile:558: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1 Not sure if this helps, but posting it anyway. Have also tried configuring and compiling with various deprecation settings and macros without any luck.
Update: The problem seems not to be gtksourceviewmm3.18 but instead in gtksourceview3.20. When I try to build an application using a deprecated symbol in gtksourceview3.20 I get the same undefined reference error. MSYS2 builds gtksourceview3 using the PKGCONFIG in: https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-gtksourceview3 I have also tried various deprecation settings here. The older gtksourceview3 version 3.18 in MSYS2 was build with the same configuration settings.
Might the problem be that G_DEPRECATED and G_DEPRECATED_FOR is used instead of GDK_DEPRECATED and GDK_DEPRECATED_FOR in https://git.gnome.org/browse/gtksourceview/tree/gtksourceview/gtksourceversion.h.in? G_DEPRECATED and G_DEPRECATED_FOR is missing the keyword "extern" at the end. The following source: #pragma message "G_DEPRECATED_FOR=" BOOST_PP_STRINGIZE(G_DEPRECATED_FOR(something)) #pragma message "GDK_DEPRECATED_FOR=" BOOST_PP_STRINGIZE(GDK_DEPRECATED_FOR(something)) #pragma message "G_DEPRECATED=" BOOST_PP_STRINGIZE(G_DEPRECATED) #pragma message "GDK_DEPRECATED=" BOOST_PP_STRINGIZE(GDK_DEPRECATED) Gives the following output: C:/msys64/home/ole/gui_example/main.cpp:60:83: note: #pragma message: G_DEPRECATED_FOR=__attribute__((__deprecated__("Use '" "something" "' instead"))) #pragma message "G_DEPRECATED_FOR=" BOOST_PP_STRINGIZE(G_DEPRECATED_FOR(something)) ^ C:/msys64/home/ole/gui_example/main.cpp:61:87: note: #pragma message: GDK_DEPRECATED_FOR=__attribute__((__deprecated__("Use '" "something" "' instead"))) extern #pragma message "GDK_DEPRECATED_FOR=" BOOST_PP_STRINGIZE(GDK_DEPRECATED_FOR(something)) ^ C:/msys64/home/ole/gui_example/main.cpp:63:64: note: #pragma message: G_DEPRECATED=__attribute__((__deprecated__)) #pragma message "G_DEPRECATED=" BOOST_PP_STRINGIZE(G_DEPRECATED) ^ C:/msys64/home/ole/gui_example/main.cpp:64:68: note: #pragma message: GDK_DEPRECATED=__attribute__((__deprecated__)) extern #pragma message "GDK_DEPRECATED=" BOOST_PP_STRINGIZE(GDK_DEPRECATED) ^ C:/msys64/home/ole/gui_example/main.cpp:49:8: warning: unused variable 'w' [-Wunused-variable] auto w=gtk_source_gutter_get_window(NULL);
Just verified that applying your patch, and replacing all G_DEPRECATED and G_DEPRECATED_FOR(f) with _GTK_SOURCE_EXTERN in https://git.gnome.org/browse/gtksourceview/tree/gtksourceview/gtksourceversion.h.in made everything work. Of course this is a bad solution. Did try to replace G_DEPRECATED and G_DEPRECATED_FOR(f) with GDK_DEPRECATED and GDK_DEPRECATED_FOR(f), but that did not work for some reason.
Ok, it seems _GTK_SOURCE_EXTERN is defined in https://git.gnome.org/browse/gtksourceview/tree/config.h.win32.in#n81 My guess then is that the dllexport is missing for G_DEPRECATED and G_DEPRECATED_FOR, or?
_GTK_SOURCE_EXTERN seems to be missing behind all G_DEPRECATED and G_DEPRECATED_FOR(f). See for instance how they do it in https://git.gnome.org/browse/gtk+/tree/gdk/gdkversionmacros.h.in. In gtksourceversion.h.in it is done by adding _GTK_SOURCE_EXTERN at the end of each line, for instance like here: https://git.gnome.org/browse/gtksourceview/tree/gtksourceview/gtksourceversion.h.in#n291 Fix for https://git.gnome.org/browse/gtksourceview/tree/gtksourceview/gtksourceversion.h.in (sorry I'm used to GitHub only): $ diff -u gtksourceversion.h.in.old gtksourceversion.h.in --- gtksourceversion.h.in.old 2016-03-27 17:22:19.000000000 +0200 +++ gtksourceversion.h.in 2016-03-27 17:24:00.000000000 +0200 @@ -278,8 +278,8 @@ #ifndef __GTK_DOC_IGNORE__ #if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_0 -#define GTK_SOURCE_DEPRECATED_IN_3_0 G_DEPRECATED -#define GTK_SOURCE_DEPRECATED_IN_3_0_FOR(f) G_DEPRECATED_FOR(f) +#define GTK_SOURCE_DEPRECATED_IN_3_0 G_DEPRECATED _GTK_SOURCE_EXTERN +#define GTK_SOURCE_DEPRECATED_IN_3_0_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN #else #define GTK_SOURCE_DEPRECATED_IN_3_0 _GTK_SOURCE_EXTERN #define GTK_SOURCE_DEPRECATED_IN_3_0_FOR(f) _GTK_SOURCE_EXTERN @@ -296,8 +296,8 @@ #ifndef __GTK_DOC_IGNORE__ #if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_2 -#define GTK_SOURCE_DEPRECATED_IN_3_2 G_DEPRECATED -#define GTK_SOURCE_DEPRECATED_IN_3_2_FOR(f) G_DEPRECATED_FOR(f) +#define GTK_SOURCE_DEPRECATED_IN_3_2 G_DEPRECATED _GTK_SOURCE_EXTERN +#define GTK_SOURCE_DEPRECATED_IN_3_2_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN #else #define GTK_SOURCE_DEPRECATED_IN_3_2 _GTK_SOURCE_EXTERN #define GTK_SOURCE_DEPRECATED_IN_3_2_FOR(f) _GTK_SOURCE_EXTERN @@ -314,8 +314,8 @@ #ifndef __GTK_DOC_IGNORE__ #if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_4 -#define GTK_SOURCE_DEPRECATED_IN_3_4 G_DEPRECATED -#define GTK_SOURCE_DEPRECATED_IN_3_4_FOR(f) G_DEPRECATED_FOR(f) +#define GTK_SOURCE_DEPRECATED_IN_3_4 G_DEPRECATED _GTK_SOURCE_EXTERN +#define GTK_SOURCE_DEPRECATED_IN_3_4_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN #else #define GTK_SOURCE_DEPRECATED_IN_3_4 _GTK_SOURCE_EXTERN #define GTK_SOURCE_DEPRECATED_IN_3_4_FOR(f) _GTK_SOURCE_EXTERN @@ -332,8 +332,8 @@ #ifndef __GTK_DOC_IGNORE__ #if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_6 -#define GTK_SOURCE_DEPRECATED_IN_3_6 G_DEPRECATED -#define GTK_SOURCE_DEPRECATED_IN_3_6_FOR(f) G_DEPRECATED_FOR(f) +#define GTK_SOURCE_DEPRECATED_IN_3_6 G_DEPRECATED _GTK_SOURCE_EXTERN +#define GTK_SOURCE_DEPRECATED_IN_3_6_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN #else #define GTK_SOURCE_DEPRECATED_IN_3_6 _GTK_SOURCE_EXTERN #define GTK_SOURCE_DEPRECATED_IN_3_6_FOR(f) _GTK_SOURCE_EXTERN @@ -350,8 +350,8 @@ #ifndef __GTK_DOC_IGNORE__ #if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_8 -#define GTK_SOURCE_DEPRECATED_IN_3_8 G_DEPRECATED -#define GTK_SOURCE_DEPRECATED_IN_3_8_FOR(f) G_DEPRECATED_FOR(f) +#define GTK_SOURCE_DEPRECATED_IN_3_8 G_DEPRECATED _GTK_SOURCE_EXTERN +#define GTK_SOURCE_DEPRECATED_IN_3_8_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN #else #define GTK_SOURCE_DEPRECATED_IN_3_8 _GTK_SOURCE_EXTERN #define GTK_SOURCE_DEPRECATED_IN_3_8_FOR(f) _GTK_SOURCE_EXTERN @@ -368,8 +368,8 @@ #ifndef __GTK_DOC_IGNORE__ #if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_10 -#define GTK_SOURCE_DEPRECATED_IN_3_10 G_DEPRECATED -#define GTK_SOURCE_DEPRECATED_IN_3_10_FOR(f) G_DEPRECATED_FOR(f) +#define GTK_SOURCE_DEPRECATED_IN_3_10 G_DEPRECATED _GTK_SOURCE_EXTERN +#define GTK_SOURCE_DEPRECATED_IN_3_10_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN #else #define GTK_SOURCE_DEPRECATED_IN_3_10 _GTK_SOURCE_EXTERN #define GTK_SOURCE_DEPRECATED_IN_3_10_FOR(f) _GTK_SOURCE_EXTERN @@ -386,8 +386,8 @@ #ifndef __GTK_DOC_IGNORE__ #if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_12 -#define GTK_SOURCE_DEPRECATED_IN_3_12 G_DEPRECATED -#define GTK_SOURCE_DEPRECATED_IN_3_12_FOR(f) G_DEPRECATED_FOR(f) +#define GTK_SOURCE_DEPRECATED_IN_3_12 G_DEPRECATED _GTK_SOURCE_EXTERN +#define GTK_SOURCE_DEPRECATED_IN_3_12_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN #else #define GTK_SOURCE_DEPRECATED_IN_3_12 _GTK_SOURCE_EXTERN #define GTK_SOURCE_DEPRECATED_IN_3_12_FOR(f) _GTK_SOURCE_EXTERN @@ -404,8 +404,8 @@ #ifndef __GTK_DOC_IGNORE__ #if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_14 -#define GTK_SOURCE_DEPRECATED_IN_3_14 G_DEPRECATED -#define GTK_SOURCE_DEPRECATED_IN_3_14_FOR(f) G_DEPRECATED_FOR(f) +#define GTK_SOURCE_DEPRECATED_IN_3_14 G_DEPRECATED _GTK_SOURCE_EXTERN +#define GTK_SOURCE_DEPRECATED_IN_3_14_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN #else #define GTK_SOURCE_DEPRECATED_IN_3_14 _GTK_SOURCE_EXTERN #define GTK_SOURCE_DEPRECATED_IN_3_14_FOR(f) _GTK_SOURCE_EXTERN @@ -422,8 +422,8 @@ #ifndef __GTK_DOC_IGNORE__ #if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_16 -#define GTK_SOURCE_DEPRECATED_IN_3_16 G_DEPRECATED -#define GTK_SOURCE_DEPRECATED_IN_3_16_FOR(f) G_DEPRECATED_FOR(f) +#define GTK_SOURCE_DEPRECATED_IN_3_16 G_DEPRECATED _GTK_SOURCE_EXTERN +#define GTK_SOURCE_DEPRECATED_IN_3_16_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN #else #define GTK_SOURCE_DEPRECATED_IN_3_16 _GTK_SOURCE_EXTERN #define GTK_SOURCE_DEPRECATED_IN_3_16_FOR(f) _GTK_SOURCE_EXTERN @@ -440,8 +440,8 @@ #ifndef __GTK_DOC_IGNORE__ #if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_18 -#define GTK_SOURCE_DEPRECATED_IN_3_18 G_DEPRECATED -#define GTK_SOURCE_DEPRECATED_IN_3_18_FOR(f) G_DEPRECATED_FOR(f) +#define GTK_SOURCE_DEPRECATED_IN_3_18 G_DEPRECATED _GTK_SOURCE_EXTERN +#define GTK_SOURCE_DEPRECATED_IN_3_18_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN #else #define GTK_SOURCE_DEPRECATED_IN_3_18 _GTK_SOURCE_EXTERN #define GTK_SOURCE_DEPRECATED_IN_3_18_FOR(f) _GTK_SOURCE_EXTERN @@ -458,8 +458,8 @@ #ifndef __GTK_DOC_IGNORE__ #if GTK_SOURCE_VERSION_MIN_REQUIRED >= GTK_SOURCE_VERSION_3_20 -#define GTK_SOURCE_DEPRECATED_IN_3_20 G_DEPRECATED -#define GTK_SOURCE_DEPRECATED_IN_3_20_FOR(f) G_DEPRECATED_FOR(f) +#define GTK_SOURCE_DEPRECATED_IN_3_20 G_DEPRECATED _GTK_SOURCE_EXTERN +#define GTK_SOURCE_DEPRECATED_IN_3_20_FOR(f) G_DEPRECATED_FOR(f) _GTK_SOURCE_EXTERN #else #define GTK_SOURCE_DEPRECATED_IN_3_20 _GTK_SOURCE_EXTERN #define GTK_SOURCE_DEPRECATED_IN_3_20_FOR(f) _GTK_SOURCE_EXTERN
Added the patch here: https://bugzilla.gnome.org/show_bug.cgi?id=764263
Thanks for investigating it! Will close it when the issue on gtksourceview side is resolved - I added myself to CC there.
Closing, the bug on gtksourceview side was fixed.