Change the default bazel build to gui#8532
Conversation
|
clang-tidy review says "All clean, LGTM! 👍" |
|
😌 |
|
@maliberty I just tried this and got: |
|
@QuantamHD set this up so hopefully he can answer |
|
Its possible you need xcb-util-cursor installed? |
|
Note that bazel is using qt6 |
@maliberty yes, I needed to run |
|
@QuantamHD is it possible to avoid the need for the user to install this package separately? |
|
Are we not relying on a number of packages we take for granted, but have been installed by anyone who have tested so far? What makes this package special? |
|
In the cli build ldd shows few libraries but there are many more in the gui build: |
Without the GUI there are very minimal install requirements (just bazelisk afaik) but not so with the gui. It lessens the ability to kill off the dependency installer but at least it will make it much simpler. |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Signed-off-by: Vitor Bandeira <vvbandeira@precisioninno.com>
|
clang-tidy review says "All clean, LGTM! 👍" |
|
clang-tidy review says "All clean, LGTM! 👍" |
Repin qt-bazel at oharboe/qt_bazel_prebuilts#xcb-cursor-from-source HEAD (878efffc), which builds xcb-util-cursor 0.1.5 from source as a static cc_library instead of letting interface_libs/xcb dlopen libxcb-cursor.so.0 from the host. That removes the apt-install libxcb-cursor0 step gadfort hit on The-OpenROAD-Project#8532, unblocking the GUI-by-default switch in the follow-up PR. The upstream PR is The-OpenROAD-Project/qt_bazel_prebuilts#11; once that merges, this commit will be repinned to the merged SHA on the The-OpenROAD-Project remote and the oharboe fork URL will be replaced. Replaces the earlier downstream-patch approach (curl in patch_cmds, no sha256 verification) with @QuantamHD's suggestion of fixing it upstream. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
The platform string_flag now defaults to "gui" instead of "cli", so `bazelisk build //:openroad` produces the Qt-linked binary without needing `--//:platform=gui` on the command line. Users who specifically want a CLI-only binary can still pass `--//:platform=cli`. Picks up where PR The-OpenROAD-Project#8532 left off; the libxcb-cursor0 blocker reported there is fixed by the preceding commit which builds xcb-util-cursor from source in qt-bazel. bazel/Dockerfile gains the runtime xcb/X11 libs that the Qt-linked binary loads at startup (so `bazel test //src/gui/test:supported` can exec it inside the CI container). libxcb-cursor0 is intentionally not in this list -- it's no longer in DT_NEEDED. User-facing docs (docs/user/Build.md, src/gui/README.md) and the macOS CI workflow drop the now-redundant --//:platform=gui flag. etc/Build.sh already passes the flag explicitly based on --no-gui and is left alone. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
No description provided.