Mac 安装 Icarus-Verilog 报错解决方案参考

周翼
2023-12-01

背景:系统Mac OS 10.12.6

已经安装最新版gcc,并替代clang占用的gcc命令。

但brew install icarus-verilog 在./configure中报错,提示

C preprocessor "/lib/cpp" fails sanity check

查了一圈没找到原因。很奇怪。故选择下载资源手动编译。

1.下载Icarus-Verilog 11.0,并解压;

https://sourceforge.net/projects/iverilog/files/iverilog/

2.右击新建位于文件夹的finder窗口,依次输入

./configure 

make

进行编译。如果这两个都通过,再输入

make install 

即可完成安装。

————————————————————————

结果我的./configure 步骤通过,make步骤跑到一半报错,错误记得是什么bison  expecting string,上github查原因,参考网页:https://hub.fastgit.org/steveicarus/iverilog ,(详细阐述了各种环境要求以及步骤,报其他错的也可以仔细看看是哪个地方不合要求。)引用如下:

- bison and flex
          OSX note: bison 2.3 shipped with MacOS including Catalina generates
          broken code, but bison 3+ works. We recommend using the Fink
          project version of bison and flex (finkproject.org), brew version
          works fine either.

看来是mac自带的老版bison 2.3在作怪。解决方法:安装新版bison:

1.用brew安装新版bison:终止之前的终端。打开新的终端,输入

brew install bison

即安装新版bison。之后添加新版bison的路径:(把3.7.6改成你自己下载的bison版本)

export PATH=/usr/local/Cellar/bison/3.7.6/bin:$PATH

2.重新编译安装:新建位于之前下载Icarus-Verilog 11.0文件夹的finder窗口

再查看bison的版本:

bison --version

看到是你自己新安装的版本就行了。如果还是mac自带的2.3,再在这个窗口添加一遍路径,直到看到bison的版本变成你自己新装的版本。

清除之前的编译文件,不清除直接make还会报错。

make clean

重新编译安装

make

make install

就搞定了因为bison 2.3报错的问题。

如果其他问题报错,仔细看https://hub.fastgit.org/steveicarus/iverilog 检查什么地方不符合安装要求。

 类似资料: