<div dir="ltr"><div><div><div><div><div><div><div><div><div>Hi,<br><br></div>I am trying to cross compile "gstreamer-1.0.6.tar.gz" package on ARM.<br><br></div>Here is what I did:<br><br></div>(1) Extracted gstreamer-1.0.6.tar.gz<br>
</div>(2) I already have ARM toolchain in folder toolchain and I already exported the path to /toolchain/bin<br></div>(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.<br>
<br><br></div>Now I configure my gstreamer-1.0.6 with following command:<br><br>#  ./configure --prefix=/<some_directory> --host=arm-linux-gnueabi CFLAGS="-I/glib/Inc/ -I/FFI/include -I/ICONV/Inc"<br><br></div>
# make<br><br><br></div>I got following error:<br><br>gstutils.h:724:3: warning: right shift count >= width of type [enabled by default]<br>gstutils.h:724:3: warning: right shift count >= width of type [enabled by default]<br>
gstutils.h:724:3: warning: right shift count >= width of type [enabled by default]<br>gstutils.h:724:3: warning: right shift count >= width of type [enabled by default]<br>  CC     libgstreamer_1.0_la-gstallocator.lo<br>
gstallocator.c:61:8: error: conflicting types for 'gst_memory_alignment'<br>../gst/gstallocator.h:52:18: note: previous declaration of 'gst_memory_alignment' was here<br>make[4]: *** [libgstreamer_1.0_la-gstallocator.lo] Error 1<br>
make[4]: Leaving directory `/home/gstreamer-1.0.6/gst'<br>make[3]: *** [all-recursive] Error 1<br>make[3]: Leaving directory `/home/gstreamer-1.0.6/gst'<br>make[2]: *** [all] Error 2<br>make[2]: Leaving directory `/home/gstreamer-1.0.6/gst'<br>
make[1]: *** [all-recursive] Error 1<br>make[1]: Leaving directory `/home/gstreamer-1.0.6'<br>make: *** [all] Error 2<br><br><br><br></div>Now I changed my configure command to below one:<br><br><br><div># ./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"<br>
<br><br></div><div># make<br></div><div><br><br></div><div>Still I do not have any success, same above error comes.<br><br><br><br></div><div>Again I changed my configure command to below one:<br><br># ./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/" <br>
<br></div><div># make<br></div><div><br></div><div>Now I get the following errors:<br><br>gst_plugin_scanner-gst-plugin-scanner.o: In function `main':<br>/home/gstreamer-1.0.6/libs/gst/helpers/gst-plugin-scanner.c:45: undefined reference to `g_malloc'<br>
/home/gstreamer-1.0.6/libs/gst/helpers/gst-plugin-scanner.c:55: undefined reference to `g_free'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_dir_close'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_intern_static_string'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_date_time_unref'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_value_set_static_string'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_object_newv'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_date_time_new_now_utc'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_signal_new'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_value_get_int64'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_build_filename'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_list_delete_link'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_mapped_file_get_contents'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_object_get_property'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_direct_hash'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_main_loop_unref'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_list_append'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_type_value_table_peek'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_initially_unowned_get_type'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_string_sized_new'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_datalist_id_set_data_full'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_list_reverse'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_dir_open'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_queue_init'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_date_time_get_minute'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_string_new'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_slist_length'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_object_class_list_properties'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_once_init_enter'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_object_unref'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_key_file_set_value'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_type_check_value'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_fprintf'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_date_get_year'<br>../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_date_get_julian'<br>
../../../gst/.libs/<a href="http://libgstreamer-1.0.so">libgstreamer-1.0.so</a>: undefined reference to `g_array_set_clear_func'<br><br></div><div><br><br></div><div>I am not sure what all flags are required to properly configure GStreamer at the beginning.<br>
</div><div>On googling, I do not find any conclusive answers to the problems faced by many.<br><br></div><div>Some said you need to set PKG_CONFIG_PATH. But in my case, it do not exist.<br><br></div><div>Some said you need to set LD_LIBRARY_PATH and not GLIB_CFLAGS or GLIB_LIBS but that is also not helping.<br>
<br></div><div>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:(<br><br></div><div>Thanks in advance.<br>
<br></div><div>Deepak<br></div><div><br><br><br></div></div>