Does anyone have a very new MacOS + new Xcode (I think 16.4) set up where they can debug? I think the GitHub runners bumped versions on something recently, and after working around a couple compile errors I'm getting some sort of weird "process killed" failure when trying to run things after the compile completes. It feels a little like the early problems I had getting bext to work on OSX when I didn't know about the issues path updates cause with code signing, but I'm not sure if that's what's happening again. If anybody can reproduce and debug (right now I can do so only on the CI runners, which isn't ideal for iterating, to say the very least) it would be helpful.
Hi. I have MacOS 15.6.1, Xcode 16.4, XQuartz 2.8.5 and make cmake 3.31.7. I cloned git repo (7.42.1) and in build directory executed cmake .. -G Xcode. It ended like this: https://pastebin.com/hkV9fxPT
If you give me detailed instructions I can share debugging reports but I am not able to figure out configure and compile issues by myself.
OK, switching to cmake 4.1.1 got me a bit closer. Configuration ends up well, but generating build files fails in this manner: https://pastebin.com/kgcWJrCv
build.log
Hmm this is another attempt to build.
CMakeCache.txt
BRLCAD.xcodeproj
To to clarify (or add to) the mess I made above:
cmake .. -G Xcode -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$HOME/brlcad-dev
leads to
------------- BRL-CAD Release 7.42.1, Build 20250914 - Debug Build -------------
Prefix: /Users/pawleeq/brlcad-dev
Binaries: /Users/pawleeq/brlcad-dev/bin
Libraries: /Users/pawleeq/brlcad-dev/lib
Manual pages: /Users/pawleeq/brlcad-dev/share/man
Data resources: /Users/pawleeq/brlcad-dev/share
CC = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
CXX = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
CFLAGS = -std=c11 -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -pipe
-fvisibility=hidden -fno-strict-aliasing -fno-common -fexceptions
-m64 -g -ggdb3 -Qunused-arguments -fstack-protector-all -pedantic
-Wall -Wextra -Wundef -Wfloat-equal -Wshadow -Wbad-function-cast
-Wc++-compat -Winline -Wno-long-long -Wno-variadic-macros
-Wdocumentation -Werror
CXXFLAGS = -std=c++17 -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -pipe
-fvisibility=hidden -fno-strict-aliasing -fno-common -fexceptions
-ftemplate-depth-128 -m64 -g -ggdb3 -Qunused-arguments
-fstack-protector-all -pedantic -Wall -Wextra -Wundef -Wfloat-equal
-Wshadow -Wbad-function-cast -Winline -Wno-long-long
-Wno-variadic-macros -Wdocumentation -Werror
LDFLAGS = -m64 -g -ggdb3
Asset Import Library.................: System
Eigen................................: System
Geogram..............................: Bundled
Geospatial Data Abstraction Library..: System
Lightning Memory-Mapped Database.....: Bundled
Manifold.............................: Bundled
Netpbm...............................: System
OpenCV...............................: Bundled
OpenMesh.............................: Bundled
OpenNURBS............................: Bundled
OSMesa...............................: Bundled
Portable Network Graphics............: Bundled
Regex Library........................: Bundled
STEPcode.............................: Bundled
Tcl..................................: Bundled
Tk...................................: Bundled
UtahRLE..............................: Bundled
Zlib.................................: System
OpenGL support (optional) ..........: ON
X11 support (optional) .............: ON
Qt support (optional) ..............: OFF
Run-time debuggability (optional) ..: ON
Build 32/64-bit release ............: 64BIT (Auto)
Build with optimization ............: OFF
Build static libraries .............: ON
Build dynamic libraries ............: ON
Install example geometry models ....: ON
Generate extra docs ................: ON (html/man)
Elapsed configuration time: 2 minutes 6 seconds
-- Configuring done (127.4s)
-- Generating done (4.9s)
-- Build files have been written to: /Users/pawleeq/brlcad/build
In order to build I do
xcodebuild -project BRLCAD.xcodeproj -scheme install -configuration Debug build | tee install.log
Resulting log is attached. Please ignore my previous attempts.
install.log
Ok, this doesn't have to do anything with Xcode, but it leads to successful build on macOS 15.7. First configure:
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DBRLCAD_ENABLE_STEP=OFF \
-DBRLCAD_ENABLE_ASSETIMPORT=OFF \
-DBRLCAD_ENABLE_GDAL=OFF \
-DBRLCAD_DISABLE_BINARY_PLUGINS=ON \
-DX11_INCLUDE_DIR=/opt/X11/include \
-DX11_LIB_DIR=/opt/X11/lib \
-DCMAKE_PREFIX_PATH=/opt/X11
leads to success. then
make &&make install
Thanks for sharing your build configuration @Pavel Jansa ... very interesting that you had to turn those three off to get it to succeed, or if it was the binary plugins.
Those three were the sources of troubles. Especially step. Anyway in a few days I will give it a go with different config and share the results.
This was an attempt to build succesful configuration for xcode
cmake .. \
-G Xcode \
-DCMAKE_BUILD_TYPE=Release \
-DBRLCAD_ENABLE_STEP=OFF \
-DBRLCAD_ENABLE_ASSETIMPORT=OFF \
-DBRLCAD_ENABLE_GDAL=OFF \
-DBRLCAD_DISABLE_BINARY_PLUGINS=ON \
-DX11_INCLUDE_DIR=/opt/X11/include \
-DX11_LIB_DIR=/opt/X11/lib \
-DCMAKE_PREFIX_PATH=/opt/X11
Here goes the log.
cmake_xcode.log
This was the build command:
xcodebuild -project BRLCAD.xcodeproj
And this is how it failed.
xcodebuild.log
If you need more info, just tell me how to get it and wait a while :)
getting this blather about brep dplot:
Generating plugin wrapper files...
CMake Warning at misc/CMake/BRLCAD_Util.cmake:102 (_message):
Skipping non-existent source file:
/Users/morrison/brlcad.main/.build/src/libged/brep/dplot_scanner_dplot_scanner/dplot_scanner.c
Call Stack (most recent call first):
src/libged/CMakeLists.txt:630 (message)
src/libged/CMakeLists.txt:644 (write_list_to_file)
CMake Warning at misc/CMake/BRLCAD_Util.cmake:102 (_message):
Skipping non-existent source file:
/Users/morrison/brlcad.main/.build/src/libged/brep/dplot_parser_dplot_parser/dplot_parser.c
Call Stack (most recent call first):
src/libged/CMakeLists.txt:630 (message)
src/libged/CMakeLists.txt:644 (write_list_to_file)
Generating plugin wrapper files... done.
Also:
[ 13%] Building CXX object src/libbg/CMakeFiles/libbg-obj.dir/Unity/unity_1_cxx.cxx.o
In file included from /Users/morrison/brlcad.main/.build/src/libbg/CMakeFiles/libbg-obj.dir/Unity/unity_1_cxx.cxx:7:
/Users/morrison/brlcad.main/src/libbg/pca.cpp:42:10: fatal error: 'Eigen/SVD' file not found
#include <Eigen/SVD>
^~~~~~~~~~~
1 error generated.
make[2]: *** [src/libbg/CMakeFiles/libbg-obj.dir/Unity/unity_1_cxx.cxx.o] Error 1
make[1]: *** [src/libbg/CMakeFiles/libbg-obj.dir/all] Error 2
summary indicated Eigen not found, but don't know why bext wouldn't have provided:
Asset Import Library.................: Bundled
Eigen................................: NotFound
Geogram..............................: Bundled
Geospatial Data Abstraction Library..: Bundled
Lightning Memory-Mapped Database.....: Bundled
Manifold.............................: Bundled
Netpbm...............................: Bundled
OpenCV...............................: NotFound
OpenNURBS............................: Bundled
OSMesa...............................: Bundled
Portable Network Graphics............: Bundled
Regex Library........................: Bundled
STEPcode.............................: Bundled
Tcl..................................: Bundled
Tk...................................: Bundled
Zlib.................................: System
Sean said:
getting this blather about brep dplot:
Generating plugin wrapper files... CMake Warning at misc/CMake/BRLCAD_Util.cmake:102 (_message): Skipping non-existent source file: /Users/morrison/brlcad.main/.build/src/libged/brep/dplot_scanner_dplot_scanner/dplot_scanner.c Call Stack (most recent call first): src/libged/CMakeLists.txt:630 (message) src/libged/CMakeLists.txt:644 (write_list_to_file) CMake Warning at misc/CMake/BRLCAD_Util.cmake:102 (_message): Skipping non-existent source file: /Users/morrison/brlcad.main/.build/src/libged/brep/dplot_parser_dplot_parser/dplot_parser.c Call Stack (most recent call first): src/libged/CMakeLists.txt:630 (message) src/libged/CMakeLists.txt:644 (write_list_to_file) Generating plugin wrapper files... done.
Think I fixed this one. Looked like the wrong var was used.
@Sean I don't doubt there's a lot more to do to get it actually going with aqua Tk, but I've got a proof-of-concept Tk osmesa dm backend at https://github.com/BRL-CAD/brlcad/tree/tkswrast that should lay the groundwork. It wouldn't be a proper OpenGL accelerated backend, but it's using TkPhoto so in principle it could be made to work.
I can try to give the branch a test if you think it’s ready to try?
It seems to work on Linux, at least at a basic level, so it might be worth a go
I'm not sure where our bext Tk build and FindTCL.cmake logic is with Aqua though. For that matter, we might have to upgrade beyond 8.6 to get the best modern OSX behavior
Example on Linux
Did a default clone kitchen-sink (qt+appleseed+ospray) enabled bundled build of bext on Mac, roughly consumed:
14GB src dir
13GB build dir
3GB install dir
======================
30GB src+build+install
top 10 src:
105024 gdal
133248 expat
145040 opennurbs
216392 opencv
246328 assetimport
339840 qt
348376 bullet
353260 appleseed
623756 boost
1877140 llvm
top 10 build:
250596 ispc
314168 appleseed
351160 assetimport
382312 opennurbs
387684 bullet
449140 opencv
523576 gdal
803856 boost
1421780 qt
5897088 llvm
Yikes. Well, boost we can probably get rid of but the rest are all basically legit
Last updated: May 14 2026 at 02:10 UTC