gfortran compilar GILDAS falha com referências indefinidas para libgio

0

Eu estou tentando compilar o pacote de software GILDAS ( link ) da fonte em 14.04, e estou ficando preso nas verificações de criação, com um erro que parece ser um problema com a biblioteca libgio ou com o fornecimento do pacote. Eu entrei em contato com os mantenedores caso seja um bug no código, mas eu não tive uma resposta, e suspeito que não é como se sabe compilar em 14.04 com sucesso ( link ).

A falha específica é:

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

Eu tenho libgio instalado e nesse diretório:

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

E é a versão 2.4:

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

No entanto, não estou totalmente certo de que os pacotes estejam realmente vinculados corretamente, por causa disso:

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:

que parece apontar para o local errado? Incluir isso na fonte antes de executar make não corrige o problema; mensagens de erro idênticas são retornadas.

Eu não instalei nenhuma biblioteca manualmente até agora neste sistema operacional: tudo foi instalado via apt-get, então estou surpreso que isso seja um problema. Qualquer ajuda com esta questão seria muito apreciada! Felicidades

    
por user3392403 04.11.2014 / 12:45

1 resposta

1

Depois de resolver o problema com os mantenedores, parece ser um problema com a distribuição do Canopy do Python ter sua própria versão de algumas das bibliotecas, de modo que haja duas versões da mesma biblioteca sendo usadas ao mesmo tempo .

Como não preciso das ligações Python para CLASS, executando o comando source com as opções:

-n python

permitiu que tudo compilasse corretamente.

    
por user3392403 06.11.2014 / 12:26