从源码编译安装 KLayout

有的,KLayout 支持从源码编译。以下是详细的源码编译步骤:


一、安装依赖

bash 复制代码
sudo apt update
sudo apt install -y build-essential git

# Qt 依赖(KLayout 需要 Qt5 或 Qt6)
sudo apt install -y qtbase5-dev qttools5-dev libqt5svg5-dev \
    libqt5xmlpatterns5-dev qtmultimedia5-dev

# Ruby 支持(OpenROAD 流程需要)
sudo apt install -y ruby ruby-dev

# Python 支持
sudo apt install -y python3 python3-dev libpython3-dev

# 其他依赖
sudo apt install -y libz-dev zlib1g-dev libgit2-dev chrpath txt2man

二、克隆源码

bash 复制代码
cd ~/tmp01
git clone https://github.com/KLayout/klayout.git
cd klayout

# 查看最新版本
git tag | tail -5
# 例如切换到 0.30.10
git checkout 0.30.10

三、编译

KLayout 提供了 build.sh 脚本,使用方式如下:

bash 复制代码
cd ~/tmp01/klayout

# 查看帮助
./build.sh -h

# 标准编译(Release 模式,使用所有 CPU 核心)
./build.sh -j$(nproc)

# 不带 Qt 绑定(编译更快,但脚本无法创建 GUI)
./build.sh -without-qtbinding -j$(nproc)

# 指定 Python 版本
./build.sh -python /usr/bin/python3 -j$(nproc)

编译完成后,二进制文件在 bin-release/ 目录下。


四、安装

bash 复制代码
cd ~/tmp01/klayout

# 方式 1:直接复制到系统目录
sudo cp -r bin-release/* /usr/local/bin/
sudo cp -r lib-release/* /usr/local/lib/ 2>/dev/null || true

# 方式 2:创建软链接
sudo ln -sf $(pwd)/bin-release/klayout /usr/local/bin/klayout

# 验证
klayout -v
# 应显示类似:KLayout 0.30.10

五、OpenROAD 流程中使用

bash 复制代码
cd ~/tmp01/OpenROAD-flow-scripts/flow

# 确保 klayout 在 PATH 中
which klayout

# 重新运行(从 GDS 合并步骤继续)
make YOSYS_EXE=/usr/local/bin/yosys OPENROAD_EXE=$(which openroad)

六、编译选项参考

选项 说明
-j<N> 并行编译,使用 N 个核心
-without-qtbinding 禁用 Qt 绑定(减少编译时间)
-python <path> 指定 Python 解释器路径
-ruby <path> 指定 Ruby 解释器路径
-prefix <path> 安装前缀
-debug 编译 Debug 版本

七、常见问题

Q:编译时间多久?

A:在 8 核机器上约 10-20 分钟。不带 Qt 绑定会快很多。

Q:可以不带 GUI 编译吗?

A:可以,加上 -without-qtbinding,但 OpenROAD 的 GDS 合并脚本通常不需要 GUI,所以没问题。

Q:与 apt 安装的 KLayout 冲突吗?

A:建议先 sudo apt remove klayout 删除旧版,避免冲突。

相关推荐
葫三生3 分钟前
《论三生原理》神话学构想与“神话历史”理论、《古史中的神话》思路异同?
大数据·人工智能·科技·深度学习·算法
昇腾知识体系9 分钟前
昇腾 950 RegBase 性能优化:从 msprof 采数到优化手法
人工智能·华为·性能优化·知识图谱
七牛云行业应用13 分钟前
Cursor Origin发布:同一天GitHub宕机,AI原生代码托管来了
人工智能·github·agent·ai编程·ai-native
MobotStone14 分钟前
WorkBuddy 技术解析:核心并不神秘,真正壁垒在产品化、生态与规模工程
人工智能·agent
AI人工智能集结号17 分钟前
GEO监测平台怎么选?先确认它能回答哪些业务问题
人工智能
揽秀亭长18 分钟前
论文降AI率踩坑记录:不是简单换几个词就可以
人工智能
老金带你玩AI30 分钟前
30分钟拿执照,2500元租到200平,我去亦庄做OPC了
人工智能
lisw0531 分钟前
生成式人工智能带来的电子垃圾难题
人工智能·电子垃圾
小王毕业啦33 分钟前
2011-2024年 各地级市养老服务信息面板数据 xlsx
大数据·人工智能·数据挖掘·数据分析·社科数据·实证分析·经管数据
幂律智能34 分钟前
幂律智能联合创始人石玏受邀出席第二十六届投洽会,签约共建产业生态
人工智能·生态