View Issue Details

IDProjectCategoryView StatusLast Update
0003016NoesisGUIUnrealpublic2024-01-29 22:37
Reportersaji8k Assigned Tohcpizzi  
PrioritynormalSeveritymajor 
Status resolvedResolutionfixed 
Product Version3.2.2 
Target Version3.2.3Fixed in Version3.2.3 
Summary0003016: Unreal 5.3 Plugin fails to build on macOS
Description

After downloading a fresh copy of NoesisGUI (NoesisGUI-UE5.3-3.2.2-Indie) to my Mac (M3, macOS 14.2.1, Xcode 15.2), I am unable to open the samples.uproject file with Unreal Engine 5.3.2.

First, Unreal gives me a warning dialog stating "Missing Sample Modules. The following modules are missing or built with a different engine version: DatabindingModule...NoesisEditor. Would you like to rebuild them now?" after clicking Yes to that, Unreal says "Error. Samples could not be compiled. Try rebuilding from source manually." and then closes.

I tried using the "Generate Xcode Project" from the context menu but that did nothing which seems to be an Unreal issue not Noesis. I was able to generate the project files from the terminal. I then tried to build the Samples project directly from Xcode but that failed as well. With the following three errors:
Code: Select all
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Intermediate/Build/Mac/arm64/UnrealGame/Development/NoesisRuntime/Module.NoesisRuntime.2.cpp:29:
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisRiveControl.cpp:18:
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/Rive.cpp:35:
/Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/rive/src/component.cpp:11:12: error: reference to 'Component' is ambiguous
StatusCode Component::onAddedDirty(CoreContext context)
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/Components.h:187:41: note: candidate found by name lookup is 'Component'
typedef ComponentRecord
Component;
^
/Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/rive/include/rive/shapes/paint/shape_paint_mutator.hpp:6:7: note: candidate found by name lookup is 'rive::Component'
class Component;
^
Code: Select all
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Intermediate/Build/Mac/arm64/UnrealGame/Development/NoesisRuntime/Module.NoesisRuntime.2.cpp:29:
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisRiveControl.cpp:18:
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/Rive.cpp:217:
/Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/rive/src/math/hit_test.cpp:21:8: error: redefinition of 'Point'
struct Point
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/MacTypes.h:538:8: note: previous definition is here
struct Point {
^
Code: Select all
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Intermediate/Build/Mac/arm64/UnrealGame/Development/NoesisRuntime/Module.NoesisRuntime.2.cpp:29:
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/NoesisRuntime/Private/NoesisRiveControl.cpp:18:
In file included from /Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/Rive.cpp:238:
/Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/rive/src/shapes/polygon.cpp:9:1: error: reference to 'Polygon' is ambiguous
Polygon::Polygon() {}
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/Headers/Quickdraw.h:267:41: note: candidate found by name lookup is 'Polygon'
typedef MacPolygon Polygon;
^
/Users/saji/Documents/Noesis/NoesisGUI-UE5.3-3.2.2-Indie/Plugins/NoesisGUI/Source/Noesis/NoesisSDK/Src/Packages/App/RiveBase/Src/rive/include/rive/shapes/polygon.hpp:9:7: note: candidate found by name lookup is 'rive::Polygon'
class Polygon : public PolygonBase
^
I am also able to run the Noesis Apple Native SDK Samples xcode project without these issues so I am not sure why they are coming up here. I guess Unreal brings in more Apple API headers than the Application framework.

To fix the above,
I changed Component to rive::Component in component.cpp.
I changed Point to RivePoint in hit_test.cpp
I changed Polygon to rive::Polygon in polygon.hpp

That finally fixed all the build errors and let me open the Samples.uproject in Unreal Engine on macOS.

Steps To Reproduce

Try to open the Samples.uproject on macOS.

PlatformAny

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2024-01-17 01:56 saji8k New Issue
2024-01-17 01:57 saji8k Description Updated
2024-01-18 21:28 jsantos Assigned To => hcpizzi
2024-01-18 21:28 jsantos Status new => assigned
2024-01-18 21:28 jsantos Target Version => 3.2.3
2024-01-22 11:47 sfernandez Target Version 3.2.3 => 3.2.4
2024-01-22 11:49 jsantos Target Version 3.2.4 => 3.2.3
2024-01-29 22:37 hcpizzi Status assigned => resolved
2024-01-29 22:37 hcpizzi Resolution open => fixed
2024-01-29 22:37 hcpizzi Fixed in Version => 3.2.3