0

I'm trying to compile the software package GILDAS (http://www.iram.fr/IRAMFR/GILDAS/) from source on 14.04, and am getting stuck on the make checks, with an error which seems to be an issue either with the library libgio or with sourcing the package. I have contacted the maintainers in case it is a bug in the code, but I haven't had a response, and suspect that it is not as it is known to compile on 14.04 successfully (http://vilhelmp.blogspot.co.uk/2012/11/installing-iram-gildas-on-ubuntu-1210.html).

The specific failure is:

gfortran     built/x86_64-ubuntu14.04-gfortran/clean.o -o /home/richard/Gildas/gildas-src-jul14a/integ/x86_64-ubuntu14.04-gfortran/tasks/clean.exe  -L/home/richard/Gildas/gildas-src-jul14a/integ/x86_64-ubuntu14.04-gfortran/lib -L/home/richard/Canopy/appdata/canopy-1.4.1.1975.rh5-x86_64/lib -lmaptasks -lmapping -lggui -lgcore -lgio -lgwcs -lgmath -lgsys -lginc -lslatec -llapack -lblas \
-lpython2.7 -lutil -lpng -lz  -lrt -lpthread -lm -ldl
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0: undefined reference to `g_variant_dict_end'
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0: undefined reference to `g_variant_dict_new'
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0: undefined reference to `g_str_tokenize_and_fold'
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0: undefined reference to `g_option_context_parse_strv'
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0: undefined reference to `g_hash_table_get_keys_as_array'
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0: undefined reference to `g_variant_new_take_string'
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0: undefined reference to `g_unix_fd_source_funcs'
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0: undefined reference to `g_unix_signal_funcs'
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0: undefined reference to `g_variant_parse_error_quark'
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0: undefined reference to `g_variant_dict_insert_value'
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0: undefined reference to `g_variant_dict_ref'
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0: undefined reference to `g_variant_dict_unref'
collect2: error: ld returned 1 exit status
make[3]: *** [/home/richard/Gildas/gildas-src-jul14a/integ/x86_64-ubuntu14.04-gfortran/tasks/clean.exe] Error 1
rm built/x86_64-ubuntu14.04-gfortran/clean.o built/x86_64-ubuntu14.04-gfortran/clean.f90
make[3]: Leaving directory `/home/richard/Gildas/gildas-src-jul14a/packages/map/tasks'
make[2]: *** [default] Error 1
make[2]: Leaving directory `/home/richard/Gildas/gildas-src-jul14a/packages/map'
make[1]: *** [default] Error 1
make[1]: Leaving directory `/home/richard/Gildas/gildas-src-jul14a/packages'
make: *** [default] Error 1

I have libgio installed and in that directory:

richard@florianus:~/Gildas/gildas-src-jul14a$ ls -l /usr/lib/x86_64-linux-gnu/ |fgrep gio
drwxr-xr-x  3 root root     4096 Jul 22 23:02 gio
drwxr-xr-x  3 root root     4096 Oct  4 16:41 giomm-2.4
-rw-r--r--  1 root root  3574336 Sep 25 18:56 libgio-2.0.a
lrwxrwxrwx  1 root root       22 Sep 25 18:56 libgio-2.0.so -> libgio-2.0.so.0.4002.0
lrwxrwxrwx  1 root root       22 Sep 25 18:56 libgio-2.0.so.0 -> libgio-2.0.so.0.4002.0
-rw-r--r--  1 root root  1513096 Sep 25 18:56 libgio-2.0.so.0.4002.0
-rw-r--r--  1 root root  3093530 Apr  8  2014 libgiomm-2.4.a
lrwxrwxrwx  1 root root       21 Apr  8  2014 libgiomm-2.4.so -> libgiomm-2.4.so.1.3.0
lrwxrwxrwx  1 root root       21 Oct  4 12:00 libgiomm-2.4.so.1 -> libgiomm-2.4.so.1.3.0
-rw-r--r--  1 root root  1570304 Apr  8  2014 libgiomm-2.4.so.1.3.0

And it is version 2.4:

richard@florianus:~/Gildas/gildas-src-jul14a$ pkg-config --modversion glib-2.0
2.40.2

However, I am not entirely sure that the packages are actually linked properly, because of this:

richard@florianus:~/Gildas/gildas-src-jul14a$ ldd -v /usr/lib/x86_64-linux-gnu/libgio-2.0.so | fgrep glib
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f2cdde38000)
/lib/x86_64-linux-gnu/libglib-2.0.so.0:

which seems to point to the wrong location? Including this in the source before running make doesn't fix the problem however; identical error messages are returned.

I haven't manually installed any libraries so far on this OS: everything has been installed via apt-get, so I'm surprised that this is an issue. Any help with this issue would be greatly appreciated! Best wishes

1 Answer 1

1

After working through the issue with the maintainers, it appears to be an issue with the Canopy distribution of Python having its own version of some of the libraries, so that there are two versions of the same library being used at the same time.

As I don't need the Python bindings for CLASS, running the source command with the options:

-n python

allowed everything to compile correctly.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .