GStreamer ARM cross compilation

Deepak Jain jain1982 at gmail.com
Fri May 17 06:17:35 PDT 2013


Hi,

I am trying to cross compile "gstreamer-1.0.6.tar.gz" package on ARM.

Here is what I did:

(1) Extracted gstreamer-1.0.6.tar.gz
(2) I already have ARM toolchain in folder toolchain and I already exported
the path to /toolchain/bin
(3) I already have ARM cross-compiled glib-2.0, FFI and ICONV with me and
they are residing in folders glib, FFI and ICONV resp.


Now I configure my gstreamer-1.0.6 with following command:

#  ./configure --prefix=/<some_directory> --host=arm-linux-gnueabi
CFLAGS="-I/glib/Inc/ -I/FFI/include -I/ICONV/Inc"

# make


I got following error:

gstutils.h:724:3: warning: right shift count >= width of type [enabled by
default]
gstutils.h:724:3: warning: right shift count >= width of type [enabled by
default]
gstutils.h:724:3: warning: right shift count >= width of type [enabled by
default]
gstutils.h:724:3: warning: right shift count >= width of type [enabled by
default]
  CC     libgstreamer_1.0_la-gstallocator.lo
gstallocator.c:61:8: error: conflicting types for 'gst_memory_alignment'
../gst/gstallocator.h:52:18: note: previous declaration of
'gst_memory_alignment' was here
make[4]: *** [libgstreamer_1.0_la-gstallocator.lo] Error 1
make[4]: Leaving directory `/home/gstreamer-1.0.6/gst'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/gstreamer-1.0.6/gst'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/gstreamer-1.0.6/gst'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/gstreamer-1.0.6'
make: *** [all] Error 2



Now I changed my configure command to below one:


# ./configure --prefix=/<some_directory> --host=arm-linux-gnueabi
CFLAGS="-I/glib/Inc/ -I/FFI/include -I/ICONV/Inc" GLIB_LIBS="-L/glib/Lib/
-lgobject-2.0 -lglib-2.0 -lgthread-2.0 -lgmodule-2.0"
GLIB_ONLY_LIBS="-L/glib/Lib/ -lglib-2.0"


# make


Still I do not have any success, same above error comes.



Again I changed my configure command to below one:

# ./configure --prefix=/<some_directory> --host=arm-linux-gnueabi
CFLAGS="-I/glib/Inc/ -I/FFI/include -I/ICONV/Inc" GLIB_CFLAGS="-I/glib/Inc
-I/glib/Inc/glib-2.0 -I/glib/Inc/glib-2.0/glib
-I/glib/Lib/glib-2.0/include" GLIB_LIBS="-L/glib/Lib/ -L/FFI/Lib/
-L/ICONV//Lib/"

# make

Now I get the following errors:

gst_plugin_scanner-gst-plugin-scanner.o: In function `main':
/home/gstreamer-1.0.6/libs/gst/helpers/gst-plugin-scanner.c:45: undefined
reference to `g_malloc'
/home/gstreamer-1.0.6/libs/gst/helpers/gst-plugin-scanner.c:55: undefined
reference to `g_free'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to `g_dir_close'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_intern_static_string'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_date_time_unref'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_value_set_static_string'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_object_newv'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_date_time_new_now_utc'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_signal_new'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_value_get_int64'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_build_filename'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_list_delete_link'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_mapped_file_get_contents'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_object_get_property'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_direct_hash'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_main_loop_unref'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_list_append'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_type_value_table_peek'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_initially_unowned_get_type'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_string_sized_new'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_datalist_id_set_data_full'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_list_reverse'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to `g_dir_open'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_queue_init'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_date_time_get_minute'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_string_new'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_slist_length'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_object_class_list_properties'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_once_init_enter'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_object_unref'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_key_file_set_value'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_type_check_value'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to `g_fprintf'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_date_get_year'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_date_get_julian'
../../../gst/.libs/libgstreamer-1.0.so: undefined reference to
`g_array_set_clear_func'



I am not sure what all flags are required to properly configure GStreamer
at the beginning.
On googling, I do not find any conclusive answers to the problems faced by
many.

Some said you need to set PKG_CONFIG_PATH. But in my case, it do not exist.

Some said you need to set LD_LIBRARY_PATH and not GLIB_CFLAGS or GLIB_LIBS
but that is also not helping.

If anybody has successfully cross-compiled gstreamer on ARM, kindly let me
know the correct procedure as the information available on the net is not
conclusive, it is only confusing:(

Thanks in advance.

Deepak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130517/6a3d0d19/attachment.html>


More information about the gstreamer-devel mailing list