I've made a preliminary patch that does run-time dynamic linking to the GStreamer libraries, only linking to $(GTK_LIBS) at build time. This should ultimately allow you to build on CentOS 6.
The patch is attached. It's pretty ugly: lots of GStreamer macros expand to functions and thus had to be inlined and hacked to use our function pointers. GStreamer clearly wasn't designed for run-time dynamic linking. It builds but I haven't tested it and won't be able to for a while. Currently, even though GStreamer libraries are not used during the build, you still need GStreamer installed, so pkg-config can detect $(GSTREAMER_CFLAGS) for the header files we need. Our configure.ac thus needs some patching too. That can be an exercise for the reader ;). Damjan On Thu, Mar 15, 2018 at 9:09 AM, Peter kovacs <pe...@apache.org> wrote: > +1 > > Am 15. März 2018 03:22:20 MEZ schrieb Damjan Jovanovic <dam...@apache.org > >: > >If GStreamer is that problematic to obtain, we could import these 30 > >symbols that we use from it via run-time dynamic linking. That way we > >don't > >need the GStreamer libraries to link against at compile time, only the > >header files: > > > >0000000000000000 DF *UND* 0000000000000060 > >gst_video_overlay_get_type > >0000000000000000 DF *UND* 0000000000000196 > >gst_bus_set_sync_handler > >0000000000000000 DF *UND* 000000000000003b > >gst_message_get_structure > >0000000000000000 DF *UND* 00000000000000b1 > >gst_element_query_duration > >0000000000000000 DF *UND* 0000000000000136 > >gst_pad_get_current_caps > >0000000000000000 DF *UND* 000000000000000a > >gst_pipeline_get_bus > >0000000000000000 DF *UND* 000000000000007f > >gst_bus_get_type > >0000000000000000 DF *UND* 0000000000000174 > >gst_object_unref > >0000000000000000 DF *UND* 00000000000000fc > >gst_element_get_state > >0000000000000000 DF *UND* 00000000000000af > >gst_pipeline_get_type > >0000000000000000 DF *UND* 00000000000000dc > >gst_element_set_state > >0000000000000000 DF *UND* 00000000000000b4 > >gst_structure_has_field > >0000000000000000 DF *UND* 00000000000000da > >gst_bus_have_pending > >0000000000000000 DF *UND* 00000000000000b1 > >gst_element_query_position > >0000000000000000 DF *UND* 000000000000002f > >gst_structure_get_name > >0000000000000000 DF *UND* 0000000000000090 > >gst_structure_get_value > >0000000000000000 DF *UND* 00000000000000c2 > >gst_structure_get_int > >0000000000000000 DF *UND* 000000000000003e > >gst_caps_get_size > >0000000000000000 DF *UND* 0000000000000059 > >gst_structure_nth_field_name > >0000000000000000 DF *UND* 000000000000003a > >gst_is_video_overlay_prepare_window_handle_message > >0000000000000000 DF *UND* 00000000000000ca > >gst_bin_get_type > >0000000000000000 DF *UND* 0000000000000365 > >gst_mini_object_unref > >0000000000000000 DF *UND* 00000000000000b4 > >gst_message_parse_error > >0000000000000000 DF *UND* 000000000000005f > >gst_init > >0000000000000000 DF *UND* 00000000000000da > >gst_bus_pop > >0000000000000000 DF *UND* 0000000000000065 > >gst_caps_get_structure > >0000000000000000 DF *UND* 00000000000000b4 > >gst_element_seek_simple > >0000000000000000 DF *UND* 00000000000001ea > >gst_element_factory_make > >0000000000000000 DF *UND* 0000000000000148 > >gst_video_overlay_set_window_handle > >0000000000000000 DF *UND* 000000000000002f > >gst_structure_n_fields > > > >We already do with ODBC for example, where we will link against either > >iODBC or unixODBC depending on which is installed at run-time. > > > > > >On Thu, Mar 15, 2018 at 12:17 AM, Andrea Pescetti <pesce...@apache.org> > >wrote: > > > >> Damjan Jovanovic wrote: > >> > >>> GStreamer 1.0.0 requires glib 2.32.0. > >>> > >> > >> CentOS 6 ships with glib (package name: glib2) 2.28 as per > >> http://mirror.centos.org/centos/6/os/x86_64/Packages/ > >> > >> So this is indeed an issue: we would need a distribution that ships > >with > >> glib >= 2.32 (without considering other possible dependencies at the > >> moment) to build. > >> > >> On the other hand, we want something as old as possible since builds > >done > >> with too recent versions of glibc (not to confuse with the above, and > >set > >> at 2.12 in CentOS 6) won't work for users of old Linux-based systems. > >> > >> > >> Regards, > >> Andrea. > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org > >> For additional commands, e-mail: dev-h...@openoffice.apache.org > >> > >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org > For additional commands, e-mail: dev-h...@openoffice.apache.org > >
--------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org For additional commands, e-mail: dev-h...@openoffice.apache.org