Error: incomplete type when using HMAC_CTX in C++ project
<p>I am trying to compile this library  <a href="https://github.com/named-data/ndn-cxx" rel="noreferrer">ndn-cxx</a>
in my laptop. I already tried in another computer and it compiled successfully but now i am getting this error and i think its related somhow to openssl. I verify that i have openssl in my laptop using <em>sudo apt-cache search libssl | grep SSL</em> and the result is :</p>

<ul>
<li>libssl-ocaml - OCaml bindings for OpenSSL (runtime)</li>
<li>libssl-ocaml-dev - OCaml bindings for OpenSSL</li>
<li>libssl0.9.8 - SSL shared libraries</li>
<li>libsslcommon2 - enterprise messaging system - common SSL libraries</li>
<li>libsslcommon2-dev - enterprise messaging system - common SSL development files</li>
</ul>

<p><strong>The error I am getting when trying to compile the library is :</strong></p>

<pre><code>../src/security/transform/hmac-filter.cpp:49:12: error: field ‘m_context’ has incomplete type
   HMAC_CTX m_context;
            ^

../src/security/transform/hmac-filter.cpp: In constructor 
‘ndn::security::transform::HmacFilter::Impl::Impl()’:
../src/security/transform/hmac-filter.cpp:35:20: error: ‘m_context’ was not declared in this scope
     HMAC_CTX_init(&amp;m_context);
                    ^

../src/security/transform/hmac-filter.cpp:35:29: error: ‘HMAC_CTX_init’ was not declared in this scope
     HMAC_CTX_init(&amp;m_context);
                             ^

../src/security/transform/hmac-filter.cpp: In destructor ‘ndn::security::transform::HmacFilter::Impl::~Impl()’:
../src/security/transform/hmac-filter.cpp:40:23: error: ‘m_context’ was not declared in this scope
     HMAC_CTX_cleanup(&amp;m_context);
                       ^    

../src/security/transform/hmac-filter.cpp:40:32: error: ‘HMAC_CTX_cleanup’ was not declared in this scope
     HMAC_CTX_cleanup(&amp;m_context);
                                ^

../src/security/transform/hmac-filter.cpp: In member function ‘ndn::security::transform::HmacFilter::Impl::operator HMAC_CTX*()’:
../src/security/transform/hmac-filter.cpp:45:13: error: ‘m_context’ was not declared in this scope
     return &amp;m_context;
             ^

../src/security/transform/hmac-filter.cpp:46:3: warning: control reaches end of non-void function [-Wreturn-type]
   }
   ^
</code></pre>