Problem building from source on mac

I’m trying to build the engine from source. In particular, the latest dev branch b1a11c6 on a Mac M1.
The build process gets so far, and then fails building gamesys.

If I cd to that directory and run waf build --verbose I get the following output:

Waf: Entering directory `/Users/dri/Documents/GitHub/Defold/defold/engine/gamesys/build'
Missing namespace definition in /Users/dri/Documents/GitHub/Defold/defold/engine/gamesys/src/dmsdk/gamesys/property.h
Missing namespace definition in /Users/dri/Documents/GitHub/Defold/defold/engine/gamesys/src/dmsdk/gamesys/components/comp_factory.h
**Erroneous order constraint 'after'='apply_java' on task class 'ddf_jar'**
**Erroneous order constraint 'after'='jar_files' on task class 'dex'**
[1/2] Compiling content/materials/gui.vp
17:41:06 runner ['/Library/Java/JavaVirtualMachines/microsoft-17.jdk/Contents/Home/bin/java', '-classpath', '/Users/dri/Documents/GitHub/Defold/defold/tmp/dynamo_home/share/java/bob-light.jar', 'com.dynamo.bob.pipeline.VertexProgramBuilder', '../content/materials/gui.vp', 'content/materials/gui.vpc', '--platform', 'arm64-macos']
[2/2] Compiling content/materials/gui.fp
17:41:06 runner ['/Library/Java/JavaVirtualMachines/microsoft-17.jdk/Contents/Home/bin/java', '-classpath', '/Users/dri/Documents/GitHub/Defold/defold/tmp/dynamo_home/share/java/bob-light.jar', 'com.dynamo.bob.pipeline.FragmentProgramBuilder', '../content/materials/gui.fp', 'content/materials/gui.fpc', '--platform', 'arm64-macos']
2024-07-05 17:41:06 INFO
Failed to find functions in Bob: java.lang.reflect.InvocationTargetException
2024-07-05 17:41:06 INFO
Failed to find functions in Bob: java.lang.reflect.InvocationTargetException
[exec] /usr/bin/xcodebuild -version
[exec] /usr/bin/xcodebuild -version
[exec] xcode-select -print-path
[exec] clang --version
[exec] xcrun -f --sdk macosx --show-sdk-platform-version
[exec] xcrun -f --sdk macosx --show-sdk-path
Waf: Leaving directory `/Users/dri/Documents/GitHub/Defold/defold/engine/gamesys/build'
**Build failed**
**-> task in '' failed with exit status 1:**
**{task 4399880848: vertexshader gui.vp -> gui.vpc}**
**['/Library/Java/JavaVirtualMachines/microsoft-17.jdk/Contents/Home/bin/java', '-classpath', '/Users/dri/Documents/GitHub/Defold/defold/tmp/dynamo_home/share/java/bob-light.jar', 'com.dynamo.bob.pipeline.VertexProgramBuilder', '../content/materials/gui.vp', 'content/materials/gui.vpc', '--platform', 'arm64-macos']**
**-> task in '' failed with exit status 1:**
**{task 4399881296: fragmentshader gui.fp -> gui.fpc}**
**['/Library/Java/JavaVirtualMachines/microsoft-17.jdk/Contents/Home/bin/java', '-classpath', '/Users/dri/Documents/GitHub/Defold/defold/tmp/dynamo_home/share/java/bob-light.jar', 'com.dynamo.bob.pipeline.FragmentProgramBuilder', '../content/materials/gui.fp', 'content/materials/gui.fpc', '--platform', 'arm64-macos']**

I’m not clear which function(s) are missing from VertexProgramBuilder/FragmentProgramBuilder but bob-light.jar exists at that path, and extracting its contents shows those classes exist.

In the full log there’s a reference to a folder DM_BOB_ROOTFOLDER which exists but is empty - is that normal?

I don’t recognise this message.
Could it be the java installation?
I think we mostly use installs from Releases · adoptium/temurin17-binaries · GitHub

The DM_BOB_ROOTFOLDER is an optimization, to avoid unpacking bob many times over a full build.

1 Like