Estou tentando construir gstreamer_ndk_bundle no Ubuntu 12.4 e estou falhando miseravelmente! Instalei todos os pacotes "glib-dev" (pacotes que em seus nomes possuem glib
e dev
), e também tentei compilar/instalar o glib 2.33.1 (mais recente) do código-fonte, mas sempre recebo este erro:
/home/marko/gstreamer_ndk_bundle/jni/../glib/gobject/gmarshal.c:149: undefined reference to `g_value_get_schar'
collect2: ld returned 1 exit status
make: *** [/home/marko/gstreamer_ndk_bundle/obj/local/armeabi/libgobject-2.0.so] Error 1
Isso significa que glib source não tem a definição para g_value_get_schar
, e como essa função foi introduzida no glib em algum lugar após a versão 2.30.0, meu palpite é que não estou usando o glib adequado!
Tentei forçar gstremaer_ndk_bundle a construir com fontes da pasta /home/marko/glib-2.33.1/
que compilei/instalei exportando estes env vars:
GLIB_GENMARSHAL=/home/marko/glib-2.33.1/gobject/glib-genmarshal
GLIB_COMPILE_SCHEMAS=/home/marko/glib-2.33.1/gio/glib-compile-schemas
Também mudei gmarshal.h
para incluir gmarshal.h
na pasta glib instalada:
#ifndef _marko_glib_loaded
#define _marko_glib_loaded
#include "/home/marko/glib-2.33.1/gobject/gmarshal.h"
#endif
Mas falhou em ambos os casos.
- Como posso saber qual glib é usado ao compilar o gstreamer e instalar o adequado?
- Como posso forçar o gstreamer_ndk_bundle a usar fontes simplistas da pasta que destardei/configurei/instalei e não as do sistema, ou quaisquer que sejam usadas?
- Li em algum lugar que preciso
gstreamer-devel
de um pacote se continuar recebendo esse erro durante a compilação. Onde posso encontrar esse pacote?! Não consigo pesquisar no Google... - Alguém JÁ construiu gstreamer_ndk_bundle e viveu para contar a história?
Responder1
Eu coloquei --enable-debug=no
a bandeira em glib/Android.mk
. E o erro do link desapareceu. Experimente isso. PS Você tem que começar ./setup.sh
a reconfigurar todos os pacotes.