<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>130418</bug_id>
          
          <creation_ts>2014-03-18 13:32:33 -0700</creation_ts>
          <short_desc>[GStreamer] FindGStreamer.cmake should also look for libraries in ${PC_${_component_prefix}_LIBDIR}/.libs</short_desc>
          <delta_ts>2014-05-21 13:47:33 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brendan Long">b.long</reporter>
          <assigned_to name="Brendan Long">b.long</assigned_to>
          <cc>bunhere</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>pnormand</cc>
    
    <cc>rakuco</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>991842</commentid>
    <comment_count>0</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-03-18 13:32:33 -0700</bug_when>
    <thetext>[GStreamer] FindGStreamer.cmake should also look for libraries in ${PC_${_component_prefix}_LIBDIR}/.libs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991845</commentid>
    <comment_count>1</comment_count>
      <attachid>227098</attachid>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-03-18 13:36:14 -0700</bug_when>
    <thetext>Created attachment 227098
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991875</commentid>
    <comment_count>2</comment_count>
      <attachid>227098</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2014-03-18 14:28:51 -0700</bug_when>
    <thetext>Comment on attachment 227098
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=227098&amp;action=review

&gt; ChangeLog:8
&gt; +        When building GStreamer from git, it uses libtool, which creates libgstwhatever.la,
&gt; +        but the real library goes in .libs/libgstwhatever.so. Another approach
&gt; +        would be to compile with libtool, but that&apos;s much more involved.

This doesn&apos;t look like a very good reason to do this: why should this be done only to GStreamer and not any other dependency that is built with libtool? Why not just install your GStreamer copy somewhere and deal with it normally? This approach seems like a weird workaround for a very specific situation to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991893</commentid>
    <comment_count>3</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-03-18 14:50:31 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; This doesn&apos;t look like a very good reason to do this: why should this be done only to GStreamer and not any other dependency that is built with libtool? Why not just install your GStreamer copy somewhere and deal with it normally? This approach seems like a weird workaround for a very specific situation to me.

Because this is how GStreamer is meant to be used:

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/chapter-developing.html#idp55212752

I doubt many people will need to use this, but it&apos;s a trivial change that makes working with git checkouts of GStreamer significantly easier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991912</commentid>
    <comment_count>4</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2014-03-18 15:26:08 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; This doesn&apos;t look like a very good reason to do this: why should this be done only to GStreamer and not any other dependency that is built with libtool? Why not just install your GStreamer copy somewhere and deal with it normally? This approach seems like a weird workaround for a very specific situation to me.
&gt; 
&gt; Because this is how GStreamer is meant to be used:
&gt; 
&gt; http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/chapter-developing.html#idp55212752

I fail to see anything GStreamer-specific in this link, the content there applies to any libtool project -- it&apos;s all about changing environment variables.

&gt; I doubt many people will need to use this, but it&apos;s a trivial change that makes working with git checkouts of GStreamer significantly easier.

My concern with this approach is that it&apos;s basically an undocumented hack for a very specific use case.

If you have already modified your other environment variables (PKG_CONFIG_PATH, for example, since you are relying on its output in the patch), wouldn&apos;t it work if you also just changed CMAKE_LIBRARY_PATH locally?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991918</commentid>
    <comment_count>5</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-03-18 15:36:41 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; If you have already modified your other environment variables (PKG_CONFIG_PATH, for example, since you are relying on its output in the patch), wouldn&apos;t it work if you also just changed CMAKE_LIBRARY_PATH locally?

The whole point of gst-git is that it sets up PKG_CONFIG_PATH automatically. Hard-coding every library directory is a much bigger hack than just looking in the libtool .libs directory. And there are hundreds of them, which change every time a new plugin is added to GStreamer..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991925</commentid>
    <comment_count>6</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-03-18 15:45:47 -0700</bug_when>
    <thetext>I also find it frustrating that it worked until we switched to CMake..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991926</commentid>
    <comment_count>7</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-03-18 15:46:45 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; My concern with this approach is that it&apos;s basically an undocumented hack for a very specific use case.

I could also document this with a comment that we&apos;re looking in .libs because GStreamer&apos;s git checkouts automatically use libtool, which puts libraries in .libs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991928</commentid>
    <comment_count>8</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-03-18 15:50:22 -0700</bug_when>
    <thetext>philn, do you use a git checkout of GStreamer? If so, how do you handle building against it in WebKit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>991932</commentid>
    <comment_count>9</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2014-03-18 16:02:34 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; If you have already modified your other environment variables (PKG_CONFIG_PATH, for example, since you are relying on its output in the patch), wouldn&apos;t it work if you also just changed CMAKE_LIBRARY_PATH locally?
&gt; 
&gt; The whole point of gst-git is that it sets up PKG_CONFIG_PATH automatically. Hard-coding every library directory is a much bigger hack than just looking in the libtool .libs directory. And there are hundreds of them, which change every time a new plugin is added to GStreamer..

Doesn&apos;t `gst-git &amp;&amp; export CMAKE_LIBRARY_PATH=${LD_LIBRARY_PATH}&apos; work?

Additionally, if you just build GStreamer with ./autogen.sh won&apos;t the .pc files have &quot;prefix=/usr/local&quot; and thus the current patch will tell CMake to look at /usr/local/lib/.libs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992045</commentid>
    <comment_count>10</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-03-19 00:34:32 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; philn, do you use a git checkout of GStreamer? If so, how do you handle building against it in WebKit?

I usually rely on the version we have in jhbuild, which I make point to trunk whenever needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010828</commentid>
    <comment_count>11</comment_count>
    <who name="Brendan Long">b.long</who>
    <bug_when>2014-05-21 13:47:22 -0700</bug_when>
    <thetext>Sorry, I didn&apos;t get emailed about the responses on here for some reason. I&apos;ll look into just using the jhbuild to do what I need (and hopefully GStreamer will fix this eventually).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227098</attachid>
            <date>2014-03-18 13:36:14 -0700</date>
            <delta_ts>2014-05-21 13:47:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130418-20140318153551.patch</filename>
            <type>text/plain</type>
            <size>1552</size>
            <attacher name="Brendan Long">b.long</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY1ODE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvRmlu
ZEdTdHJlYW1lci5jbWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5kR1N0cmVhbWVyLmNtYWtlCmluZGV4
IDVmM2Y2NWJiNmU3MWMzMjkxYzUwYjA0ZDk2NWIyM2QyYzQzZjBmMDQuLmQ2ZjZlNDNmZWJhYmYw
MGUyYmIwZWVmZjVmZDZiMDM1ZjZhZTBiODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9GaW5k
R1N0cmVhbWVyLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9GaW5kR1N0cmVhbWVyLmNtYWtlCkBA
IC02NCw3ICs2NCw3IEBAIG1hY3JvKEZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVCBfY29tcG9uZW50
X3ByZWZpeCBfcGtnY29uZmlnX25hbWUgX2hlYWRlciBfbGlicmFyCiAKICAgICBmaW5kX2xpYnJh
cnkoJHtfY29tcG9uZW50X3ByZWZpeH1fTElCUkFSSUVTCiAgICAgICAgIE5BTUVTICR7X2xpYnJh
cnl9Ci0gICAgICAgIEhJTlRTICR7UENfJHtfY29tcG9uZW50X3ByZWZpeH1fTElCUkFSWV9ESVJT
fSAke1BDXyR7X2NvbXBvbmVudF9wcmVmaXh9X0xJQkRJUn0KKyAgICAgICAgSElOVFMgJHtQQ18k
e19jb21wb25lbnRfcHJlZml4fV9MSUJSQVJZX0RJUlN9ICR7UENfJHtfY29tcG9uZW50X3ByZWZp
eH1fTElCRElSfS8ubGlicyAke1BDXyR7X2NvbXBvbmVudF9wcmVmaXh9X0xJQkRJUn0KICAgICAp
CiBlbmRtYWNybygpCiAKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBk
NDY3NGJmOGUyYTg0NmU5NmIxODYzMzUwZDM4ZDA3YzQyYTQzMDQzLi4zMWY4Nzg2YjMzY2I3NGQz
MGI3ZTE2NjkyYjgxYTI3YjAzMTg1MzkxIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTQtMDMtMTggIEJyZW5kYW4gTG9uZyAgPGIubG9u
Z0BjYWJsZWxhYnMuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIEZpbmRHU3RyZWFtZXIuY21h
a2Ugc2hvdWxkIGFsc28gbG9vayBmb3IgbGlicmFyaWVzIGluICR7UENfJHtfY29tcG9uZW50X3By
ZWZpeH1fTElCRElSfS8ubGlicworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTMwNDE4CisKKyAgICAgICAgV2hlbiBidWlsZGluZyBHU3RyZWFtZXIgZnJv
bSBnaXQsIGl0IHVzZXMgbGlidG9vbCwgd2hpY2ggY3JlYXRlcyBsaWJnc3R3aGF0ZXZlci5sYSwK
KyAgICAgICAgYnV0IHRoZSByZWFsIGxpYnJhcnkgZ29lcyBpbiAubGlicy9saWJnc3R3aGF0ZXZl
ci5zby4gQW5vdGhlciBhcHByb2FjaAorICAgICAgICB3b3VsZCBiZSB0byBjb21waWxlIHdpdGgg
bGlidG9vbCwgYnV0IHRoYXQncyBtdWNoIG1vcmUgaW52b2x2ZWQuCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvRmluZEdTdHJl
YW1lci5jbWFrZToKKwogMjAxNC0wMy0xNyAgQnJlbmRhbiBMb25nICA8Yi5sb25nQGNhYmxlbGFi
cy5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gaHVtYW4gcmVhZGFibGUgbGFuZ3VhZ2UgY29k
ZSBmb3IgdHJhY2tzCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>