编译ATS时提示unrecognized command line option ‘-mcx16’的解决方法

问题现象描述

若GCC版本为8.4.1,在执行ATS 8.0.5 make编译时,会提示“unrecognized command line option ‘-mcx16’”。

关键过程、根本原因分析

该问题是由于GCC 8.4.1版本自身编译时,支持x86系统的“-mcx16”编译选项,而ARM系统不支持,所以在GCC 8.4.1版本上需要去掉该选项。

例如:GCC 8.4.0与GCC 8.4.1在生成Makefile文件时对比图如下所示:

结论、解决方案及效果

  1. 进入trafficserver-8.0.5源码路径。

    1
    cd /home/trafficserver-8.0.5
    

  2. 执行如下命令去掉所有Makefile文件中的“-mcx16”选项。

    1
    sed -i "s/\ -mcx16//g" `find -name Makefile`
    

  3. 执行编译安装。

    1
    2
    make clean
    make -j60