导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页

    T113 mangopi SDK 增加ntpd或ntpdate时关于'CMAC_CTX'类型未定义问题

    MR Series
    1
    2
    1573
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • X
      xiaobo LV 3 最后由 编辑

      T113-s3芯片在使用 https://github.com/mangopi-sbc/Tina-Linux 这个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不多,麻烦各位提供点解决的办法或者建议。
      编译错误截图:
      make_error.jpg
      cmac.h, cmac.c (尝试过把struct CMAC_CTX_st 定义在头文件中也还是同样错误)
      cmac_h.jpg
      cmac_c.jpg
      a_md5encrypt_c.jpg
      menuconfig 中使能 openssl 相关:
      openssl.jpg
      kernel module 这里不确定是否需要增加cmac,实在解决不了就加上了:
      kmod_crypto_cmac.jpg
      ntpd.jpg

      1 条回复 最后回复 回复 引用 分享 0
      • X
        xiaobo LV 3 最后由 编辑

        这个问题是openssl版本问题,因为我不是按照建议的ubuntu14.04而是wsl2 ubuntu20.04环境编译的,所以遇到的这个问题可能大家一般不会遇到,后来各种搜索资料解决了,这里说一下方法了结这个问题。
        查看openssl版本,通过apt降级到1.1.0版本(SDK里是1.1.0.i),之后手动删除out目录下之前openssl的编译输出,然后重新编译就好了。
        3cadb9fe-ed9f-4590-96e9-cca7a001dd8b-image.png

        1 条回复 最后回复 回复 引用 分享 1
        • 1 / 1
        • First post
          Last post

        Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

        行为准则 | 用户协议 | 隐私权政策