<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">On 03/05/2014 05:21 PM, Richard Purdie
      wrote:<br>
    </div>
    <blockquote cite="mid:1394011283.31845.97.camel@ted" type="cite">
      <pre wrap="">On Wed, 2014-03-05 at 17:18 +0800, Chong Lu wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">Some packages do not link successfully using shared libraries.
When link something to libfl.so, we will get this:

        libfl.so: undefined reference to `yylex'

So we only build static libraries to fix this issue.

Signed-off-by: Chong Lu <a class="moz-txt-link-rfc2396E" href="mailto:Chong.Lu@windriver.com">&lt;Chong.Lu@windriver.com&gt;</a>
---
 .../files/flex-not-to-build-shared-libraries.patch | 39 ++++++++++++++++++++++
 meta/recipes-devtools/flex/flex.inc                |  1 +
 2 files changed, 40 insertions(+)
 create mode 100644 meta/recipes-devtools/flex/files/flex-not-to-build-shared-libraries.patch
</pre>
      </blockquote>
      <pre wrap="">
Why aren't the shared libraries working? Which packages show this
problem? Is this not a problem in the recipes using the shared
libraries?

At the very least this patch needs more explanation but I don't like the
idea.

Cheers,

Richard



</pre>
    </blockquote>
    In flex 2.5.38, libfl.so was built by libtool.<br>
    <br>
    ipsec-tools shows this problem.<br>
    When link libipsec.so to libfl.so, it uses '-lfl' flag. It will link
    from libfl.so.<br>
    But libfl.so doesn't define yylex, we may get "libfl.so not found"
    through `ldd libipsec.so'.<br>
    If we only build static libraries, libipsec.so will not link to
    libfl.so. it will link to libfl.a.<br>
    Then libipsec.so uses yylex function by itself rather than libfl.so
    provided.<br>
    <br>
    In Mageia distribution, revert building libraries with libtool.<br>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <a
href="http://www.rpmfind.net//linux/RPM/mageia/cauldron/x86_64/media/core/release/flex-2.5.38-1.mga5.x86_64.html">http://www.rpmfind.net//linux/RPM/mageia/cauldron/x86_64/media/core/release/flex-2.5.38-1.mga5.x86_64.html</a><br>
    And in flex 2.5.37 version, it will only generate static libraries.<br>
    So in order to ignore blocking some packages(likes ipsec-tools), I
    have two ways to fix this issue.<br>
    1. revert building libraries with libtool.<br>
    2. modify libtool to make it only build static libraries.<br>
    I choose the second way. The same result to first.<br>
    <br>
    Best Regards<br>
    Chong<br>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <blockquote cite="mid:1394011283.31845.97.camel@ted" type="cite">
      <pre wrap="">
</pre>
    </blockquote>
    <br>
  </body>
</html>