GNOME Bugzilla – Bug 647395
Can't build due to calendar-server/calendar-sources.h:29:25: fatal error: glib-object.h: No such file or directory
Last modified: 2011-05-18 13:02:29 UTC
I tried to build gnome-shell but it fails: [jhbuild] muelli@bigbox ~/svn/gnome2/gnome-shell $ make V=1 make all-recursive make[1]: Entering directory `/home/muelli/svn/gnome2/gnome-shell' Making all in data make[2]: Entering directory `/home/muelli/svn/gnome2/gnome-shell/data' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/muelli/svn/gnome2/gnome-shell/data' Making all in js make[2]: Entering directory `/home/muelli/svn/gnome2/gnome-shell/js' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/muelli/svn/gnome2/gnome-shell/js' Making all in src make[2]: Entering directory `/home/muelli/svn/gnome2/gnome-shell/src' make all-am make[3]: Entering directory `/home/muelli/svn/gnome2/gnome-shell/src' gcc -DHAVE_CONFIG_H -I. -I.. -I../src -DPREFIX=\""/opt/gnome2"\" -DLIBDIR=\""/opt/gnome2/lib64"\" -DDATADIR=\""/opt/gnome2/share"\" -DG_DISABLE_DEPRECATED -DG_LOG_DOMAIN=\"ShellCalendarServer\" -g -O2 -Wall -Wmissing-prototypes -Werror -MT gnome_shell_calendar_server-calendar-sources.o -MD -MP -MF .deps/gnome_shell_calendar_server-calendar-sources.Tpo -c -o gnome_shell_calendar_server-calendar-sources.o `test -f 'calendar-server/calendar-sources.c' || echo './'`calendar-server/calendar-sources.c gcc -DHAVE_CONFIG_H -I. -I.. -I../src -DPREFIX=\""/opt/gnome2"\" -DLIBDIR=\""/opt/gnome2/lib64"\" -DDATADIR=\""/opt/gnome2/share"\" -DG_DISABLE_DEPRECATED -DG_LOG_DOMAIN=\"ShellCalendarServer\" -g -O2 -Wall -Wmissing-prototypes -Werror -MT gnome_shell_calendar_server-gnome-shell-calendar-server.o -MD -MP -MF .deps/gnome_shell_calendar_server-gnome-shell-calendar-server.Tpo -c -o gnome_shell_calendar_server-gnome-shell-calendar-server.o `test -f 'calendar-server/gnome-shell-calendar-server.c' || echo './'`calendar-server/gnome-shell-calendar-server.c gcc -DHAVE_CONFIG_H -I. -I.. -DGSEAL_ENABLE -pthread -I/opt/gnome2/include/gtk-3.0 -I/opt/gnome2/include/atk-1.0 -I/opt/gnome2/include/cairo -I/opt/gnome2/include/gdk-pixbuf-2.0 -I/opt/gnome2/include/pango-1.0 -I/opt/gnome2/include/glib-2.0 -I/opt/gnome2/lib64/glib-2.0/include -I/opt/gnome2/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -g -O2 -Wall -Wmissing-prototypes -Werror -MT gnome_shell_perf_helper-shell-perf-helper.o -MD -MP -MF .deps/gnome_shell_perf_helper-shell-perf-helper.Tpo -c -o gnome_shell_perf_helper-shell-perf-helper.o `test -f 'shell-perf-helper.c' || echo './'`shell-perf-helper.c In file included from calendar-server/calendar-sources.c:28:0: calendar-server/calendar-sources.h:29:25: fatal error: glib-object.h: No such file or directory compilation terminated. calendar-server/gnome-shell-calendar-server.c:36:21: fatal error: gio/gio.h: No such file or directory compilation terminated. make[3]: *** [gnome_shell_calendar_server-calendar-sources.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: *** [gnome_shell_calendar_server-gnome-shell-calendar-server.o] Error 1 mv -f .deps/gnome_shell_perf_helper-shell-perf-helper.Tpo .deps/gnome_shell_perf_helper-shell-perf-helper.Po make[3]: Leaving directory `/home/muelli/svn/gnome2/gnome-shell/src' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/muelli/svn/gnome2/gnome-shell/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/muelli/svn/gnome2/gnome-shell' make: *** [all] Error 2 [jhbuild] muelli@bigbox ~/svn/gnome2/gnome-shell $ find /opt/gnome2/ -name glib-object.h /opt/gnome2/include/glib-2.0/glib-object.h [jhbuild] muelli@bigbox ~/svn/gnome2/gnome-shell $ pkg-config --cflags gobject-2.0 -pthread -I/opt/gnome2/include/glib-2.0 -I/opt/gnome2/lib64/glib-2.0/include [jhbuild] muelli@bigbox ~/svn/gnome2/gnome-shell/src $ The interwebs show other people apparently having the very same problem, but no solution. I jhbuilt -afc gnome-shell, hoping for this to go away, but it didn't help. So given that /opt/gnome2/include/glib-2.0/glib-object.h exists, I presume, that the include path misses /opt/gnome2/include/glib-2.0/ And well, if I do that manually, it looks much better: [jhbuild] muelli@bigbox ~/svn/gnome2/gnome-shell/src $ gcc -DHAVE_CONFIG_H -I. -I.. -I../src -DPREFIX=\""/opt/gnome2"\" -DLIBDIR=\""/opt/gnome2/lib64"\" -DDATADIR=\""/opt/gnome2/share"\" -DG_DISABLE_DEPRECATED -DG_LOG_DOMAIN=\"ShellCalendarServer\" -g -O2 -Wall -Wmissing-prototypes -Werror -MT gnome_shell_calendar_server-calendar-sources.o -MD -MP -MF .deps/gnome_shell_calendar_server-calendar-sources.Tpo -c -o gnome_shell_calendar_server-calendar-sources.o `test -f 'calendar-server/calendar-sources.c' || echo './'`calendar-server/calendar-sources.c `pkg-config --cflags gobject-2.0` calendar-server/calendar-sources.c:32:32: fatal error: gconf/gconf-client.h: No such file or directory compilation terminated. [jhbuild] muelli@bigbox ~/svn/gnome2/gnome-shell/src $ Note the additional pkg-config call, at the end of the command line. Hence, I don't think it's an error on my side but rather something with the build system.
(In reply to comment #0) > gcc -DHAVE_CONFIG_H -I. -I.. -DGSEAL_ENABLE -pthread > -I/opt/gnome2/include/gtk-3.0 -I/opt/gnome2/include/atk-1.0 > -I/opt/gnome2/include/cairo -I/opt/gnome2/include/gdk-pixbuf-2.0 > -I/opt/gnome2/include/pango-1.0 -I/opt/gnome2/include/glib-2.0 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > -I/opt/gnome2/lib64/glib-2.0/include -I/opt/gnome2/include/pixman-1 > -I/usr/include/freetype2 -I/usr/include/libpng12 -g -O2 -Wall > -Wmissing-prototypes -Werror -MT gnome_shell_perf_helper-shell-perf-helper.o > -MD -MP -MF .deps/gnome_shell_perf_helper-shell-perf-helper.Tpo -c -o > gnome_shell_perf_helper-shell-perf-helper.o `test -f 'shell-perf-helper.c' || > echo './'`shell-perf-helper.c > In file included from calendar-server/calendar-sources.c:28:0: > calendar-server/calendar-sources.h:29:25: fatal error: glib-object.h: No such > file or directory > So given that /opt/gnome2/include/glib-2.0/glib-object.h exists, I presume, > that the include path misses /opt/gnome2/include/glib-2.0/ But it's right there in the compile line you quoted...
Yeah, it's weird. But the failing line is gcc -DHAVE_CONFIG_H -I. -I.. -I../src -DPREFIX=\""/opt/gnome2"\" -DLIBDIR=\""/opt/gnome2/lib64"\" -DDATADIR=\""/opt/gnome2/share"\" -DG_DISABLE_DEPRECATED -DG_LOG_DOMAIN=\"ShellCalendarServer\" -g -O2 -Wall -Wmissing-prototypes -Werror -MT gnome_shell_calendar_server-calendar-sources.o -MD -MP -MF .deps/gnome_shell_calendar_server-calendar-sources.Tpo -c -o gnome_shell_calendar_server-calendar-sources.o `test -f 'calendar-server/calendar-sources.c' || echo './'`calendar-server/calendar-sources.c And it doesn't have the necessary -Is.
oh... you're using "make -j". should have mentioned that. presumably the bug is that some dependency is wrong and so it doesn't work with parallelized make
hm. I don't fully understand your comment. However, "make clean && make -j1" doesn't help it. I seems that src/Makefile-calendar-server.am is responsible for the compiler flags. It uses $CALENDAR_SERVER_CFLAGS. These, however, have not been defined: muelli@bigbox ~/svn/gnome2/gnome-shell/src $ grep -C 2 -n CALENDAR_SERVER_CFLAGS Makefile 316-AWK = gawk 317-BLUETOOTH_LIBS = 318:CALENDAR_SERVER_CFLAGS = 319-CALENDAR_SERVER_LIBS = 320-CATALOGS = -- 792- -DG_DISABLE_DEPRECATED \ 793- -DG_LOG_DOMAIN=\"ShellCalendarServer\" \ 794: $(CALENDAR_SERVER_CFLAGS) \ 795- $(NULL) 796- muelli@bigbox ~/svn/gnome2/gnome-shell/src $ The configure didn't seem to have it defined, either: muelli@bigbox ~/svn/gnome2/gnome-shell/src $ grep -C 2 -n CALENDAR_SERVER_CFLAGS ../config.log 846-ac_cv_build=x86_64-unknown-linux-gnu 847-ac_cv_c_compiler_gnu=yes 848:ac_cv_env_CALENDAR_SERVER_CFLAGS_set= 849:ac_cv_env_CALENDAR_SERVER_CFLAGS_value= 850-ac_cv_env_CALENDAR_SERVER_LIBS_set= 851-ac_cv_env_CALENDAR_SERVER_LIBS_value= -- 991-lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\''' 992-lt_cv_sys_max_cmd_len=1572864 993:pkg_cv_CALENDAR_SERVER_CFLAGS= 994-pkg_cv_CALENDAR_SERVER_LIBS= 995-pkg_cv_DESKTOP_SCHEMAS_CFLAGS='-I/opt/gnome2/include/gsettings-desktop-schemas ' -- 1061-BUILD_RECORDER_FALSE='#' 1062-BUILD_RECORDER_TRUE='' 1063:CALENDAR_SERVER_CFLAGS='' 1064-CALENDAR_SERVER_LIBS='' 1065-CATALOGS='' muelli@bigbox ~/svn/gnome2/gnome-shell/src $ And well, e-d-s is not installed. JHBuild doesn't list e-d-s as dependency of gnome-shell. I guess that's a separate issue. But I feel that configuration of gnome-shell should bail out if the necessary packages, i.e. e-d-s, are not found or are not working. After installing e-d-s, I could compile gnome-shell.
danw@laptop:gnome-shell (master)> sudo rpm -e evolution-data-server-devel [sudo] password for danw: danw@laptop:gnome-shell (master)> jhbuild -f ~/.jhbuildrc-gs buildone -nfa gnome-shell *** Configuring gnome-shell *** [1/1] ./autogen.sh --prefix /opt/gnome-shell --libdir '/opt/gnome-shell/lib64' --enable-jhbuild-wrapper-script --disable-static --disable-gtk-doc ... checking for CALENDAR_SERVER... no configure: error: Package requirements (libecal-1.2 >= 2.32.0 libedataserver-1.2 >= 1.2.0 libedataserverui-1.2 >= 1.2.0 gio-2.0) were not met: No package 'libecal-1.2' found No package 'libedataserver-1.2' found No package 'libedataserverui-1.2' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables CALENDAR_SERVER_CFLAGS and CALENDAR_SERVER_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. *** Error during phase configure of gnome-shell: ########## Error running ./autogen.sh --prefix /opt/gnome-shell --libdir '/opt/gnome-shell/lib64' --enable-jhbuild-wrapper-script --disable-static --disable-gtk-doc *** [1/1]
at any rate, we should get rid of the e-d-s 1.2 support though
Created attachment 186021 [details] [review] configure: remove support for evolution-data-server 1.2
Marking as NEW as per comment #6
poke
Well. I didn't test the patch, because I installed e-d-s. But it looks good to me.
Review of attachment 186021 [details] [review]: Didn't test it but looks good to me. Thanks.
Attachment 186021 [details] pushed as 986d72d - configure: remove support for evolution-data-server 1.2