Skip to content

24.09 Release - Unable to build empty project on Linux in release mode #18534

Open
@jhanca-robotecai

Description

Bug Description

I cannot build an empty project in release mode due to linking problems within ScriptCanvas

Assets-Required

Nothing

Steps to Reproduce

  1. Create empty project
  2. cmake configure
  3. cmake build

The following commands were used

~/devroot/o3de/scripts/o3de.sh create-project --project-path ~/devroot/projects/JHO3DETestProject
cmake -B build/linux -G "Ninja Multi-Config" -DLY_STRIP_DEBUG_SYMBOLS=OFF -DLY_DISABLE_TEST_MODULES=ON -DLY_UNITY_BUILD=OFF -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
cmake --build build/linux --config release --target Editor 

Expected Behavior

Successful build

Actual Behavior

Build fails with the following problem:

[158/267] Linking CXX shared module bin/release/libScriptCanvas.Editor.so
FAILED: bin/release/libScriptCanvas.Editor.so 
: && /usr/bin/clang++-14 -fPIC -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Werror -Wno-inconsistent-missing-override -Wrange-loop-analysis -Wno-unknown-warning-option -Wno-parentheses -Wno-reorder -Wno-switch -Wno-undefined-var-template -msse4.1  -O2  -Wl,--no-undefined -fpie -Wl,-z,relro,-z,now -Wl,-z,noexecstack -shared  -o bin/release/libScriptCanvas.Editor.so External/ScriptCanvas-ad8df5c6/Code/CMakeFiles/ScriptCanvas.Editor.dir/release/Editor/ScriptCanvasEditorGem.cpp.o  -Wl,-rpath,"\$ORIGIN"  lib/release/libAzToolsFramework.a  lib/release/libScriptCanvas.Editor.Static.a  bin/release/libEditorCore.so  lib/release/libCryCommon.a  lib/release/libScriptCanvas.API.a  lib/release/libScriptCanvasDebugger.a  lib/release/libScriptCanvas.Extensions.a  lib/release/libScriptEvents.Static.a  lib/release/libGraphCanvasWidgets.a  lib/release/libAssetBuilderSDK.a  lib/release/libAzToolsFramework.a  /home/jhanca/.o3de/3rdParty/packages/SQLite-3.37.2-rev1-linux/SQLite/lib/libsqlite3.a  lib/release/libAzFramework.NativeUI.a  /usr/lib/x86_64-linux-gnu/libxcb-xkb.so  /usr/lib/x86_64-linux-gnu/libxcb-xfixes.so  /usr/lib/x86_64-linux-gnu/libxcb.so  /usr/lib/x86_64-linux-gnu/libxkbcommon-x11.so  /usr/lib/x86_64-linux-gnu/libxkbcommon.so  /usr/lib/x86_64-linux-gnu/libX11.so  -lxcb-xinput  bin/release/libAzQtComponents.so  /home/jhanca/.o3de/3rdParty/packages/qt-5.15.2-rev9-linux/qt/lib/libQt5Svg.so.5.15.1  /home/jhanca/.o3de/3rdParty/packages/qt-5.15.2-rev9-linux/qt/lib/libQt5Widgets.so.5.15.1  /home/jhanca/.o3de/3rdParty/packages/qt-5.15.2-rev9-linux/qt/lib/libQt5Gui.so.5.15.1  /home/jhanca/.o3de/3rdParty/packages/qt-5.15.2-rev9-linux/qt/lib/libQt5Xml.so.5.15.1  /home/jhanca/.o3de/3rdParty/packages/qt-5.15.2-rev9-linux/qt/lib/libQt5Core.so.5.15.1  lib/release/libExpressionEvaluation.Static.a  lib/release/libAzFramework.a  lib/release/libAzNetworking.a  lib/release/libAzCore.a  /usr/lib/x86_64-linux-gnu/libunwind.so  -lpthread  -latomic  -lpthread  -latomic  /home/jhanca/.o3de/3rdParty/packages/Lua-5.4.4-rev1-linux/Lua/lib/release/liblualib.a  -ldl  /home/jhanca/.o3de/3rdParty/packages/zlib-1.2.11-rev5-linux/zlib/lib/libz.a  /home/jhanca/.o3de/3rdParty/packages/cityhash-1.1-multiplatform/cityhash/build/linux/clang-3.8/release/libcityhash.a  bin/release/libO3DEKernel.so  /usr/lib/x86_64-linux-gnu/libzstd.so  /home/jhanca/.o3de/3rdParty/packages/OpenSSL-1.1.1t-rev1-linux/OpenSSL/lib/libssl.a  /home/jhanca/.o3de/3rdParty/packages/OpenSSL-1.1.1t-rev1-linux/OpenSSL/lib/libcrypto.a  /home/jhanca/.o3de/3rdParty/packages/lz4-1.9.4-rev2-linux/lz4/lib/liblz4.a && cd /home/jhanca/devroot/projects/JHO3DETestProject/build/linux/External/ScriptCanvas-ad8df5c6/Code && /usr/bin/cmake -P /home/jhanca/devroot/o3de/cmake/Platform/Linux/ProcessDebugSymbols.cmake /usr/bin/strip /usr/bin/objcopy /home/jhanca/devroot/projects/JHO3DETestProject/build/linux/bin/release/libScriptCanvas.Editor.so dbg MODULE_LIBRARY DETACH
/usr/bin/ld: lib/release/libScriptCanvasDebugger.a(Logger.cpp.o): in function `ScriptCanvas::Debugger::Logger::Logger()':
Logger.cpp:(.text+0x88): undefined reference to `ScriptCanvas::ExecutionLogAsset::ExecutionLogAsset(AZ::Data::AssetId const&, AZ::Data::AssetData::AssetStatus)'
/usr/bin/ld: lib/release/libScriptCanvasDebugger.a(Logger.cpp.o): in function `ScriptCanvas::Debugger::Logger::~Logger()':
Logger.cpp:(.text+0x1dd): undefined reference to `ScriptCanvas::ExecutionLogData::~ExecutionLogData()'
/usr/bin/ld: lib/release/libScriptCanvasDebugger.a(Logger.cpp.o): in function `ScriptCanvas::Debugger::Logger::ClearLog()':
Logger.cpp:(.text+0x388): undefined reference to `ScriptCanvas::ExecutionLogData::Clear()'
/usr/bin/ld: lib/release/libScriptCanvasDebugger.a(Logger.cpp.o): in function `non-virtual thunk to ScriptCanvas::Debugger::Logger::ClearLog()':
Logger.cpp:(.text+0x398): undefined reference to `ScriptCanvas::ExecutionLogData::Clear()'
/usr/bin/ld: lib/release/libScriptCanvasDebugger.a(Logger.cpp.o): in function `ScriptCanvas::ExecutionLogAsset::~ExecutionLogAsset()':
Logger.cpp:(.text._ZN12ScriptCanvas17ExecutionLogAssetD2Ev[_ZN12ScriptCanvas17ExecutionLogAssetD2Ev]+0x13): undefined reference to `ScriptCanvas::ExecutionLogData::~ExecutionLogData()'
/usr/bin/ld: lib/release/libScriptCanvasDebugger.a(Logger.cpp.o): in function `ScriptCanvas::ExecutionLogAsset::~ExecutionLogAsset()':
Logger.cpp:(.text._ZN12ScriptCanvas17ExecutionLogAssetD0Ev[_ZN12ScriptCanvas17ExecutionLogAssetD0Ev]+0x16): undefined reference to `ScriptCanvas::ExecutionLogData::~ExecutionLogData()'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

The same command works correctly when trying to build in profile

Screenshots/Videos

Not related

Found In Branch

main 2409.1

Commit ID From

c602b49

Desktop/Device

Ubuntu 2204 Linux PC
i7-14700K
64 GB RAM
NVIDIA GeForce RTX 4070 Ti SUPER

Additional Context

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

kind/bug-2409Used for stabilization/24.09 issuessig/buildCategorizes an issue or PR as relevant to SIG Build.triage/acceptedIndicates an issue or PR is ready to be actively worked on.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions