从源码编译安装 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 删除旧版,避免冲突。

相关推荐
syyjhchou1 小时前
自己搭企业内部中转站,怎么让请求更容易命中缓存
人工智能·后端·语言模型·aigc
张然Adolf1 小时前
人工智能电力系统应用新手实战指南
人工智能
高洁011 小时前
数据同化与动态状态估计:让孪生持续贴合现实
人工智能·python·深度学习·transformer·迁移学习
feasibility.1 小时前
一物降一物?AI逆向没有终局:REA拆App,BLA设套,LASIK清场
人工智能·爬虫·github·逆向·skill·rea
IT古董2 小时前
AI 资讯日报 | 2026年10月25日:Kimi K3.1 Pro开源逼近前沿,OpenAI改离线训练,Claude合并Cowork,神经网络黑箱获新解,具身智能竞技场落幕
人工智能·神经网络·开源
小虎AI生活2 小时前
WorkBuddy + Loomy 实操教程:装开源技能反推任意图片提示词(附完整流程与提示词包)
人工智能·超级个体·一人公司·青玥ai
Rattenking2 小时前
OpenCV 轨迹栏操作和键盘响应操作
人工智能·opencv·计算机外设
科研邪修法3 小时前
混合方法文献矩阵:先拆字段,再确定分类
人工智能·深度学习
电科_银尘3 小时前
【深度学习项目实战·30】PM2.5短期预测:用LSTM构造没有未来信息的滑动窗口
人工智能·深度学习·lstm
汤姆宝库3 小时前
LoRA的低秩数学与QLoRA实现
人工智能·深度学习·机器学习