<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[T113 mangopi SDK 增加ntpd或ntpdate时关于&#x27;CMAC_CTX&#x27;类型未定义问题]]></title><description><![CDATA[<p dir="auto">T113-s3芯片在使用 <a href="https://github.com/mangopi-sbc/Tina-Linux" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/mangopi-sbc/Tina-Linux</a> 这个SDK时，为了同步时间，我尝试增加 ntpd，ntpdate，在编译时出现 a_md5encrypt.c:34:2: error: unknown type name 'CMAC_CTX' 错误，查看代码时发现 openssl/cmac.h 中通过 typedef struct CMAC_CTX_st CMAC_CTX; 进行了声明，在 cmac.c 内对 struct CMAC_CTX_st 进行了定义，这种方式我理解的是一种接口隔离模块化的方式(通常是将结构体直接定义在.h中)。但现在编译报错，与之相关的也就是 OPENSSL 以及 CMAC，通过menuconfig 已经选中了 openssl 和 cmac 相关，现在实在是解决不了这个问题，可能是个很小的问题，但我接触linux不多，麻烦各位提供点解决的办法或者建议。<br />
编译错误截图：<br />
<img src="/assets/uploads/files/1665217741131-make_error.jpg" alt="make_error.jpg" class=" img-responsive img-markdown" width="1140" height="290" /><br />
cmac.h, cmac.c (尝试过把struct CMAC_CTX_st 定义在头文件中也还是同样错误)<br />
<img src="/assets/uploads/files/1665217824622-cmac_h.jpg" alt="cmac_h.jpg" class=" img-responsive img-markdown" width="1030" height="713" /><br />
<img src="/assets/uploads/files/1665217929405-cmac_c.jpg" alt="cmac_c.jpg" class=" img-responsive img-markdown" width="1079" height="589" /><br />
<img src="/assets/uploads/files/1665218108291-a_md5encrypt_c.jpg" alt="a_md5encrypt_c.jpg" class=" img-responsive img-markdown" width="1141" height="890" /><br />
menuconfig 中使能 openssl 相关：<br />
<img src="/assets/uploads/files/1665218241722-openssl.jpg" alt="openssl.jpg" class=" img-responsive img-markdown" width="1183" height="515" /><br />
kernel module 这里不确定是否需要增加cmac，实在解决不了就加上了：<br />
<img src="/assets/uploads/files/1665218358757-kmod_crypto_cmac.jpg" alt="kmod_crypto_cmac.jpg" class=" img-responsive img-markdown" width="1195" height="644" /><br />
<img src="/assets/uploads/files/1665218415330-ntpd.jpg" alt="ntpd.jpg" class=" img-responsive img-markdown" width="1198" height="304" /></p>
]]></description><link>https://bbs.aw-ol.com/topic/2283/t113-mangopi-sdk-增加ntpd或ntpdate时关于-cmac_ctx-类型未定义问题</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 05:53:09 GMT</lastBuildDate><atom:link href="https://bbs.aw-ol.com/topic/2283.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 08 Oct 2022 08:41:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to T113 mangopi SDK 增加ntpd或ntpdate时关于&#x27;CMAC_CTX&#x27;类型未定义问题 on Thu, 10 Nov 2022 13:35:12 GMT]]></title><description><![CDATA[<p dir="auto">这个问题是openssl版本问题，因为我不是按照建议的ubuntu14.04而是wsl2 ubuntu20.04环境编译的，所以遇到的这个问题可能大家一般不会遇到，后来各种搜索资料解决了，这里说一下方法了结这个问题。<br />
查看openssl版本，通过apt降级到1.1.0版本（SDK里是1.1.0.i），之后手动删除out目录下之前openssl的编译输出，然后重新编译就好了。<br />
<img src="/assets/uploads/files/1668087207144-3cadb9fe-ed9f-4590-96e9-cca7a001dd8b-image.png" alt="3cadb9fe-ed9f-4590-96e9-cca7a001dd8b-image.png" class=" img-responsive img-markdown" width="1115" height="215" /></p>
]]></description><link>https://bbs.aw-ol.com/post/11891</link><guid isPermaLink="true">https://bbs.aw-ol.com/post/11891</guid><dc:creator><![CDATA[xiaobo]]></dc:creator><pubDate>Thu, 10 Nov 2022 13:35:12 GMT</pubDate></item></channel></rss>