Stream: brlcad

Topic: MacOS build


view this post on Zulip starseeker (Aug 31 2025 at 16:29):

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.

view this post on Zulip Pavel Jansa (Sep 14 2025 at 06:51):

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.

view this post on Zulip Pavel Jansa (Sep 14 2025 at 08:44):

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

view this post on Zulip Pavel Jansa (Sep 14 2025 at 09:42):

build.log
Hmm this is another attempt to build.

view this post on Zulip Pavel Jansa (Sep 14 2025 at 10:52):

PastedText.txt

CMakeCache.txt
BRLCAD.xcodeproj

view this post on Zulip Pavel Jansa (Sep 14 2025 at 12:18):

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

view this post on Zulip Pavel Jansa (Sep 27 2025 at 17:17):

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

view this post on Zulip Sean (Oct 07 2025 at 16:02):

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.

view this post on Zulip Pavel Jansa (Oct 08 2025 at 16:07):

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.

view this post on Zulip Pavel Jansa (Oct 11 2025 at 13:06):

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 :)

view this post on Zulip Sean (Apr 29 2026 at 04:46):

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.

view this post on Zulip Sean (Apr 29 2026 at 04:52):

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

view this post on Zulip Sean (Apr 29 2026 at 04:57):

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

view this post on Zulip Sean (Apr 29 2026 at 06:07):

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.

view this post on Zulip starseeker (May 08 2026 at 02:35):

@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.

view this post on Zulip Sean (May 08 2026 at 13:16):

I can try to give the branch a test if you think it’s ready to try?

view this post on Zulip starseeker (May 08 2026 at 13:59):

It seems to work on Linux, at least at a basic level, so it might be worth a go

view this post on Zulip starseeker (May 08 2026 at 14:00):

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

view this post on Zulip starseeker (May 08 2026 at 14:36):

2026-05-08 10-33-37.mkv

view this post on Zulip starseeker (May 08 2026 at 14:36):

Example on Linux

view this post on Zulip Sean (May 11 2026 at 01:49):

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

view this post on Zulip Sean (May 11 2026 at 01:53):

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

view this post on Zulip starseeker (May 11 2026 at 10:44):

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