GNOME Bugzilla – Bug 634512
build error in GConf 2.32.1
Last modified: 2011-04-25 18:28:24 UTC
This is on Mandriva Cooker with GConf 2.32.1 and glib 2.26.0: /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fomit-frame-pointer -march=i586 -mtune=generic -fasynchronous-unwind-tables -Wall -Wl,-z,relro -Wl,-O1 -Wl,--build-id -o gsettings-data-convert gsettings-data-convert.o ../gconf/libgconf-2.la -pthread -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 libtool: link: gcc -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fomit-frame-pointer -march=i586 -mtune=generic -fasynchronous-unwind-tables -Wall -Wl,-z -Wl,relro -Wl,-O1 -Wl,--build-id -o .libs/gsettings-data-convert gsettings-data-convert.o -pthread ../gconf/.libs/libgconf-2.so /usr/lib/libORBit-2.so /usr/lib/libgio-2.0.so -lresolv -lz /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so -ldl /usr/lib/libgthread-2.0.so -lpthread -lrt /usr/lib/libglib-2.0.so /usr/lib/libpcre.so -pthread gsettings-data-convert.o: In function `handle_file': /tmp/mdvsys_mxbC/BUILD/GConf-2.32.1/gsettings/gsettings-data-convert.c:162: undefined reference to `g_settings_get_range' collect2: ld returned 1 exit status
because they are using API introduced in 2.27.1. http://git.gnome.org/browse/gconf/commit/?id=6d6704ea4143a335808b08e921a419bd4125d296 Overview of Changes from GLib 2.27.0 to 2.27.1 ============================================== * GSettings has more complete support for ranges New API: g_settings_get_range g_settings_range_check The gsettings commandline tool supports ranges too. is the second time when gnome developers are releasing in a bug fix version a version that using UNSTABLE API. 2.32.1 should never be released because that commit is only available in MASTER and not in gnome-2-32 branch. Definitely this was a failure from their side.
there are two solutions on this problem. release a new tarball with 2.32.1.1 using gnome-2.32 branch and 2.91.2 from master to follow the gnome unstable roadmap
configure script is still checking for (gio-2.0 >= 2.25.9) which should be updated too..
2.32.1 looks entirely broken: d1040d83beefa492499b882f13ced971d0292d7b introduces gtk+3 as default dependency.
this is fixed in GConf 2.23.2.
Not fixed nor in 2.32.1, 2.32.2 and neither in 2.32.3 . Here is the output on my system with glib 2.26.1 and gtk+ 2.22.1: mv -f .deps/libgsettingsgconfbackend_la-gconfsettingsbackend.Tpo .deps/libgsettingsgconfbackend_la-gconfsettingsbackend.Plo /bin/sh ../libtool --tag=CC --mode=link gcc -I.. -I.. -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -O2 -fPIC -pipe -march=x86-64 -Wall -export_dynamic -avoid-version -module -no-undefined -export-symbols-regex '^g_io_module_(load|unload|query)' -o libgsettingsgconfbackend.la -rpath /usr/lib64/gio/modules libgsettingsgconfbackend_la-gconfsettingsbackend-module.lo libgsettingsgconfbackend_la-gconfsettingsbackend.lo ../gconf/libgconf-2.la -pthread -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 libtool: link: /usr/bin/nm -B .libs/libgsettingsgconfbackend_la-gconfsettingsbackend-module.o .libs/libgsettingsgconfbackend_la-gconfsettingsbackend.o | sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed 's/.* //' | sort | uniq > .libs/libgsettingsgconfbackend.exp libtool: link: /usr/bin/grep -E -e "^g_io_module_(load|unload|query)" ".libs/libgsettingsgconfbackend.exp" > ".libs/libgsettingsgconfbackend.expT" libtool: link: mv -f ".libs/libgsettingsgconfbackend.expT" ".libs/libgsettingsgconfbackend.exp" libtool: link: echo "{ global:" > .libs/libgsettingsgconfbackend.ver libtool: link: cat .libs/libgsettingsgconfbackend.exp | sed -e "s/\(.*\)/\1;/" >> .libs/libgsettingsgconfbackend.ver libtool: link: echo "local: *; };" >> .libs/libgsettingsgconfbackend.ver libtool: link: gcc -shared .libs/libgsettingsgconfbackend_la-gconfsettingsbackend-module.o .libs/libgsettingsgconfbackend_la-gconfsettingsbackend.o -Wl,-rpath -Wl,/home/sasa/DEVELOPMENT/DROPLINE_GNOME/DBS/DLG/WORK/gconf-2.32.3-1/GConf-2.32.3/gconf/.libs ../gconf/.libs/libgconf-2.so -L/usr/lib64 /usr/lib64/libORBit-2.so /usr/lib64/libgio-2.0.so -lresolv -lz /usr/lib64/libgobject-2.0.so /usr/lib64/libgmodule-2.0.so -ldl /usr/lib64/libgthread-2.0.so -lpthread -lrt /usr/lib64/libglib-2.0.so -pthread -march=x86-64 -pthread -pthread -Wl,-soname -Wl,libgsettingsgconfbackend.so -Wl,-version-script -Wl,.libs/libgsettingsgconfbackend.ver -o .libs/libgsettingsgconfbackend.so libtool: link: ( cd ".libs" && rm -f "libgsettingsgconfbackend.la" && ln -s "../libgsettingsgconfbackend.la" "libgsettingsgconfbackend.la" ) gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I.. -DDATADIR=\"/usr/share\" -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -O2 -fPIC -pipe -march=x86-64 -Wall -MT gsettings-data-convert.o -MD -MP -MF .deps/gsettings-data-convert.Tpo -c -o gsettings-data-convert.o gsettings-data-convert.c gsettings-data-convert.c: In function 'handle_file': gsettings-data-convert.c:162: warning: implicit declaration of function 'g_settings_get_range' gsettings-data-convert.c:162: warning: assignment makes pointer from integer without a cast mv -f .deps/gsettings-data-convert.Tpo .deps/gsettings-data-convert.Po /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -fPIC -pipe -march=x86-64 -Wall -o gsettings-data-convert gsettings-data-convert.o ../gconf/libgconf-2.la -pthread -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 libtool: link: gcc -O2 -fPIC -pipe -march=x86-64 -Wall -o .libs/gsettings-data-convert gsettings-data-convert.o -pthread ../gconf/.libs/libgconf-2.so /usr/lib64/libORBit-2.so /usr/lib64/libgio-2.0.so -lresolv -lz /usr/lib64/libgobject-2.0.so /usr/lib64/libgmodule-2.0.so -ldl /usr/lib64/libgthread-2.0.so -lpthread -lrt /usr/lib64/libglib-2.0.so -pthread gsettings-data-convert.o: In function `main': gsettings-data-convert.c:(.text+0x89b): undefined reference to `g_settings_get_range' collect2: ld returned 1 exit status make[2]: *** [gsettings-data-convert] Error 1 make[2]: Leaving directory `/home/sasa/DEVELOPMENT/DROPLINE_GNOME/DBS/DLG/WORK/gconf-2.32.3-1/GConf-2.32.3/gsettings' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/sasa/DEVELOPMENT/DROPLINE_GNOME/DBS/DLG/WORK/gconf-2.32.3-1/GConf-2.32.3' make: *** [all] Error 2 Error! make exited with status: 2 Failed package gconf root@beast:/home/sasa/DEVELOPMENT/DROPLINE_GNOME/DBS/DLG_2_32# All 3 versions end with the same error.