Ubuntu22.04下源码编译安装USD-Brep
环境: Ubuntu22.04
仓库:https://github.com/NVIDIA-Omniverse/usd-brep
网络环境:需要
简介:2026年10月08日,英伟达开源的一个几何内核;这是继OCC之后,第二款Brep表达的几何库;这里给大家简单介绍一下这个几何库在Ubuntu下的安装过程
下载 usd-brep
bash
git clone https://github.com/NVIDIA-Omniverse/usd-brep.git
如无法下载,可考虑前往gitee国内仓库下载
执行预安装脚本
bash
$ ./rebuild.sh
bash
$ ./repo.sh build
bash
# 执行完成后,最后提示完成Build
BUILD (RELEASE) SUCCEEDED (Took 1.42 seconds)
注意,构建的是Release版本,启动gui时,版本应匹配使用release版本启动gui
安装uv命令
使用官方推荐的安装方式(最干净的安装),直接二进制安装
bash
# 安装方案1(推荐)
curl -LsSf https://astral.sh/uv/install.sh | sh
或
bash
#安装方案2
# 确保已安装 pipx (如果尚未安装)
sudo apt install pipx
pipx ensurepath
# 使用 pipx 安装 uv
pipx install uv
注意,不推荐直接使用
pip install uv来安装,避免污染环境
执行启动gui时,报错
bash
uv run --locked --group gui python tools/scripts/smlib_gui.py
报错如下错误:
bash
smlib_gui: config=debug pid=2748084
smlib_gui: build_bin=/home/myPc/work/code-demo/usd-brep/_build/linux-x86_64/debug
smlib_gui: _omni_solid unavailable: No module named '_omni_solid'
smlib_gui: _smlib_dev unavailable: No module named '_smlib_dev'
smlib_gui: _smlib_tests unavailable: No module named '_smlib_tests'
smlib_gui: debug binaries not found; build debug or pass --release
smlib_gui: debug SMLib echoes Dump() to stderr; AssertValid reports include file/line.
USD Python (pxr) failed to import: No module named 'pxr'
Expected bindings at (exists=False): /home/myPc/work/code-demo/usd-brep/_build/target-deps/usd/debug/lib/python
Set LD_LIBRARY_PATH before starting Python: /home/myPc/work/code-demo/usd-brep/_build/linux-x86_64/debug:/home/myPc/work/code-demo/usd-brep/_build/target-deps/usd/debug/lib
Install deps for that interpreter: /home/myPc/work/code-demo/usd-brep/_build/target-deps/python/bin/python3 -m pip install numpy pyvista
提示说不存在下面的一些模块,这是因为编译时,选择的release版本,这个启动的是debug版本的gui,所以不匹配报错;
正确的应该是使用下面的relaese的gui版本
bash
$ uv run --locked --group gui python tools/scripts/smlib_gui.py --release
报错如下错误:
bash
smlib_gui: config=release pid=2680540
smlib_gui: build_bin=/home/myPc/work/code-demo/usd-brep/_build/linux-x86_64/release
smlib_gui: _omni_solid=/home/myPc/work/code-demo/usd-brep/_build/linux-x86_64/release/_omni_solid.cpython-312-x86_64-linux-gnu.so
smlib_gui: _smlib_dev=/home/myPc/work/code-demo/usd-brep/_build/linux-x86_64/release/_smlib_dev.cpython-312-x86_64-linux-gnu.so
smlib_gui: _smlib_tests=/home/myPc/work/code-demo/usd-brep/_build/linux-x86_64/release/_smlib_tests.cpython-312-x86_64-linux-gnu.so
smlib_gui: runtime={
"compile_flags": {
"SM_DEBUG_CODE": false,
"SM_GFX_CODE": true,
"SM_GFX_OUTPUT_CODE": true,
"SM_GRAPHICS_CALLBACKS": true
},
"do_graphics": false,
"libraries": {
"prog_test": {
"address": 125608894810096,
"name": "prog_test_run_suite_by_name",
"path": "/home/myPc/work/code-demo/usd-brep/_build/linux-x86_64/release/libprog_test.so",
"symbol": "_Z27prog_test_run_suite_by_namePKcP17ProgTestRunResult"
},
"smlib": {
"address": 125609023128848,
"name": "smGet_DoGraphics",
"path": "/home/myPc/work/code-demo/usd-brep/_build/linux-x86_64/release/libSMLib.so",
"symbol": "_Z16smGet_DoGraphicsv"
}
}
}
smlib_gui: release SMLib does not echo Dump(); AssertValid still runs (no file/line labels).
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: wayland-brcm, wayland-egl, wayland, minimalegl, linuxfb, eglfs, xcb, minimal, offscreen, vnc, vkkhrdisplay.
日志显示,smlib_gui 本身的 C++ 模块和 release 环境都已成功加载,但在初始化图形界面(GUI)时失败了。核心原因是 Qt 6.5.0 及以上版本在 Linux 下依赖一个新的系统库 libxcb-cursor0 来加载 xcb 平台插件,系统当前缺少这个库。解决办法,安装相关qt依赖:
bash
sudo apt install -y libxcb-cursor0
安装完成后,再次执行启动gui命令,启动成功如下:
bash
$ uv run --locked --group gui python tools/scripts/smlib_gui.py --release

启动后,点击run,出现如上模型
成功!