Categories
geocode-glib Gnome

Building Geocode-glib

I was trying to build Geocode-glib on Ubuntu 12.04. But I was getting the following error while running ./configure –
[sourcecode language=”text” gutter=”false”]
configure: error: Package requirements (gio-2.0 >= 2.34
  json-glib-1.0 >= 0.14
  libsoup-2.4) were not met:
Requested ‘gio-2.0 >= 2.34’ but version of GIO is 2.32.3
Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.
Alternatively, you may set the environment variables GEOCODE_CFLAGS
and GEOCODE_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
[/sourcecode]

Initially I solved the above problem with jhbuild. I used –

[sourcecode language=”shell” gutter=”false”]
jhbuild buildone glib geocode-glib
[/sourcecode]

And jhbuild took care of the version mismatch problem by picking up the gio library from where jhbuild installed it.
I looked into the config.log file in the directory where jhbuild successfully built geocode-glib. It had set  –

[sourcecode language=”bash” gutter=”false”]
PKG_CONFIG_PATH='<where_jhbuild_installed_gnome_modules>/gnome/lib/pkgconfig:<where_jhbuild_installed_gnome_modules>/gnome/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig’
[/sourcecode]

So if you want to build without jhbuild on Ubuntu 12.04, first get the latest glib from http://git.gnome.org/browse/glib and install it. Then you can either do –

[sourcecode language=”shell” gutter=”false”]
./configure <the_flags_you_want_to_set>  PKG_CONFIG_PATH='<where_you_installed_latest_glib>/gnome/lib/pkgconfig:<where_you_installed_latest_glib>/gnome/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig’
[/sourcecode]

or
you can set the environment variables GEOCODE_CFLAGS and GEOCODE_LIBS –

[sourcecode language=”shell” gutter=”false”]
./configure <the_flags_you_want_to_set> GEOCODE_CFLAGS=’-pthread -l<where_you_installed_latest_glib>/gnome/include/glib-2.0 -I<where_you_installed_latest_glib>/gnome/lib/glib-2.0/include -I/usr/include/json-glib-1.0 -I/usr/include/libsoup-2.4 -I/usr/include/libxml2  ‘ GEOCODE_LIBS=’-L<where_you_installed_latest_glib>/gnome/lib -ljson-glib-1.0 -lsoup-2.4 -lgio-2.0 -lgobject-2.0 -lglib-2.0  ‘
[/sourcecode]

Note that, the json-glib and libsoup libraries are taken from the default libraries that Ubuntu provides.