Hi Damjan,

I cant see the patch attached. Can you provide me the patch?

Thanks.


All the best

Peter


On 16.03.2018 02:35, Damjan Jovanovic wrote:
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.I

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 <http://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 <mailto:pe...@apache.org>> wrote:

    +1

    Am 15. März 2018 03:22:20 MEZ schrieb Damjan Jovanovic
    <dam...@apache.org <mailto: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 <mailto: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/
    <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
    <mailto:dev-unsubscr...@openoffice.apache.org>
    >> For additional commands, e-mail: dev-h...@openoffice.apache.org
    <mailto:dev-h...@openoffice.apache.org>
    >>
    >>

    ---------------------------------------------------------------------
    To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
    <mailto:dev-unsubscr...@openoffice.apache.org>
    For additional commands, e-mail: dev-h...@openoffice.apache.org
    <mailto:dev-h...@openoffice.apache.org>




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org

Reply via email to