Wireshark-dev: Re: [Wireshark-dev] Building RPM proprietarry plugin including math.h fails

From: João Valverde <joao.valverde@xxxxxxxxxxxxxxxxxx>
Date: Wed, 29 Aug 2018 06:14:32 +0100


On 29/08/18 06:09, Anders Broman wrote:


Den ons 29 aug. 2018 07:03João Valverde <joao.valverde@xxxxxxxxxxxxxxxxxx <mailto:joao.valverde@xxxxxxxxxxxxxxxxxx>> skrev:



    On 29/08/18 05:53, Guy Harris wrote:
     > On Aug 28, 2018, at 9:27 PM, João Valverde
    <joao.valverde@xxxxxxxxxxxxxxxxxx
    <mailto:joao.valverde@xxxxxxxxxxxxxxxxxx>> wrote:
     >
     >> On 29/08/18 05:15, Anders Broman wrote:
     >>
     >>> If indeed that is the problem (very likely) the decision to
    make these libraries PRIVATE was intentional because the only
    external linkage requirement that I saw was glib.
     >>> Yes this was the problem as I suspected yesterday, it just took
    a while to verify as I had to delete the build directory to have the
    cmake changes take effect. Another question
     >>
     >> It's not a bug in Wireshark, it's a bug in your build, IMO.
     >
     > If your plugin calls C math functions, the "math library" is an
    external linkage requirement; some platforms have a separate "math
    library", some don't.  M_LIBRARIES should be set as necessary by the
    CMake module for libm.

    And if my plugin calls requires libfoozbar that's an automatic
    libwireshark dependency then? Or doesn't call C math functions, why
    should my plugin be force to link with libm? Point is any library is
    already available to plugins.



Not sure what you are saying, where should what be done to make the build work?

Assuming you are using CMake your plugin should use:
  target_link_libraries(myplugin epan ${M_LIBRARIES})