Opened 5 years ago
Last modified 15 months ago
#5495 new defect
[ATLASUI] in XCode building in release mode
Reported by: | trompetin17 | Owned by: | |
---|---|---|---|
Priority: | Should Have | Milestone: | Backlog |
Component: | Atlas editor | Keywords: | macos |
Cc: | itms, historic_bruno, coldphoenix | Patch: |
Description
Im trying to build in release mode pyrogenesis and atlasUI, and this error appear:
Ld /Users/juanguillermo/Documents/0ad/binaries/system/pyrogenesis normal x86_64 (in target: pyrogenesis) cd /Users/juanguillermo/Documents/0ad/build/workspaces/xcode4 export MACOSX_DEPLOYMENT_TARGET=10.9 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -L/Users/juanguillermo/Documents/0ad/binaries/system -L../../../binaries/system -L../../../libraries/osx/sdl2/lib -L../../../libraries/osx/libpng/lib -L../../../libraries/osx/nspr/lib -L../../../libraries/source/spidermonkey/lib -L../../../libraries/osx/libxml2/lib -L../../../libraries/osx/zlib/lib -L../../../libraries/osx/boost/lib -L../../../libraries/osx/enet/lib -L../../../libraries/osx/libcurl/lib -L../../../libraries/osx/icu/lib -L../../../libraries/osx/iconv/lib -L../../../libraries/osx/libsodium/lib -L../../../libraries/osx/libogg/lib -L../../../libraries/osx/vorbis/lib -L../../../libraries/source/nvtt/lib -L../../../libraries/osx/gloox/lib -L../../../libraries/osx/gnutls/lib -L../../../libraries/osx/nettle/lib -L../../../libraries/osx/gmp/lib -L../../../libraries/osx/miniupnpc/lib -F/Users/juanguillermo/Documents/0ad/binaries/system -filelist /Users/juanguillermo/Library/Developer/Xcode/DerivedData/pyrogenesis-ddhpzmkanryuyhcpwqsgepjlntou/Build/Intermediates.noindex/pyrogenesis.build/Objects-normal/x86_64/pyrogenesis.LinkFileList -mmacosx-version-min=10.9 -Xlinker -object_path_lto -Xlinker /Users/juanguillermo/Library/Developer/Xcode/DerivedData/pyrogenesis-ddhpzmkanryuyhcpwqsgepjlntou/Build/Intermediates.noindex/pyrogenesis.build/Objects-normal/x86_64/pyrogenesis_lto.o -lSDL2 -lobjc -lpng16 -lnspr4 -lplc4 -lplds4 -lmozjs38-ps-release -lxml2 -lboost_filesystem-mt -lboost_system-mt -lenet -lcurl -licui18n -licuuc -licudata -lm -liconv -lsodium -lvorbis -lvorbisenc -lvorbisfile -logg -lnvcore -lnvmath -lnvimage -lnvtt -lsquish -lresolv -lgnutls -lz -lgloox -lnettle -lhogweed -lgmp -lminiupnpc -lpthread -mmacosx-version-min=10.9 -stdlib=libc++ -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox -Wl,-framework,ForceFeedback -Wl,-framework,CoreVideo -Wl,-framework,Cocoa -Wl,-framework,Carbon -Wl,-framework,IOKit -framework OpenGL -framework Security -framework OpenAL -framework ApplicationServices -framework Cocoa -framework CoreFoundation /Users/juanguillermo/Documents/0ad/binaries/system/libmocks_real_dbg.a /Users/juanguillermo/Documents/0ad/binaries/system/libnetwork_dbg.a /Users/juanguillermo/Documents/0ad/binaries/system/libtinygettext_dbg.a /Users/juanguillermo/Documents/0ad/binaries/system/liblobby_dbg.a /Users/juanguillermo/Documents/0ad/binaries/system/libglooxwrapper_dbg.a /Users/juanguillermo/Documents/0ad/binaries/system/libsimulation2_dbg.a /Users/juanguillermo/Documents/0ad/binaries/system/libscriptinterface_dbg.a /Users/juanguillermo/Documents/0ad/binaries/system/libengine_dbg.a /Users/juanguillermo/Documents/0ad/binaries/system/libgraphics_dbg.a /Users/juanguillermo/Documents/0ad/binaries/system/libatlas_dbg.a /Users/juanguillermo/Documents/0ad/binaries/system/libgui_dbg.a /Users/juanguillermo/Documents/0ad/binaries/system/liblowlevel_dbg.a /Users/juanguillermo/Documents/0ad/binaries/system/libmongoose_dbg.a -Xlinker -dependency_info -Xlinker /Users/juanguillermo/Library/Developer/Xcode/DerivedData/pyrogenesis-ddhpzmkanryuyhcpwqsgepjlntou/Build/Intermediates.noindex/pyrogenesis.build/Objects-normal/x86_64/pyrogenesis_dependency_info.dat -o /Users/juanguillermo/Documents/0ad/binaries/system/pyrogenesis Undefined symbols for architecture x86_64: "_OOM_counter", referenced from: js_malloc(unsigned long) in libengine_dbg.a(GameSetup.o) js_malloc(unsigned long) in libgui_dbg.a(GUIManager.o) js_malloc(unsigned long) in libsimulation2_dbg.a(Simulation2.o) js_malloc(unsigned long) in libengine_dbg.a(Game.o) js_malloc(unsigned long) in libscriptinterface_dbg.a(ScriptInterface.o) js_malloc(unsigned long) in libengine_dbg.a(HWDetect.o) js_malloc(unsigned long) in libgui_dbg.a(IGUIObject.o) ... "_OOM_maxAllocations", referenced from: js_malloc(unsigned long) in libengine_dbg.a(GameSetup.o) js_malloc(unsigned long) in libgui_dbg.a(GUIManager.o) js_malloc(unsigned long) in libsimulation2_dbg.a(Simulation2.o) js_malloc(unsigned long) in libengine_dbg.a(Game.o) js_malloc(unsigned long) in libscriptinterface_dbg.a(ScriptInterface.o) js_malloc(unsigned long) in libengine_dbg.a(HWDetect.o) js_malloc(unsigned long) in libgui_dbg.a(IGUIObject.o) ... "JS::AutoAssertOnGC::AutoAssertOnGC()", referenced from: JS::AutoCheckCannotGC::AutoCheckCannotGC() in libscriptinterface_dbg.a(ScriptInterface.o) JS::AutoCheckCannotGC::AutoCheckCannotGC() in libscriptinterface_dbg.a(ScriptConversions.o) JS::AutoCheckCannotGC::AutoCheckCannotGC() in libsimulation2_dbg.a(CCmpAIManager.o) JS::AutoCheckCannotGC::AutoCheckCannotGC() in libsimulation2_dbg.a(EngineScriptConversions.o) JS::AutoCheckCannotGC::AutoCheckCannotGC() in libsimulation2_dbg.a(BinarySerializer.o) "JS::AutoAssertOnGC::~AutoAssertOnGC()", referenced from: JS::AutoCheckCannotGC::~AutoCheckCannotGC() in libscriptinterface_dbg.a(ScriptInterface.o) JS::AutoCheckCannotGC::~AutoCheckCannotGC() in libscriptinterface_dbg.a(ScriptConversions.o) JS::AutoCheckCannotGC::~AutoCheckCannotGC() in libsimulation2_dbg.a(CCmpAIManager.o) JS::AutoCheckCannotGC::~AutoCheckCannotGC() in libsimulation2_dbg.a(EngineScriptConversions.o) JS::AutoCheckCannotGC::~AutoCheckCannotGC() in libsimulation2_dbg.a(BinarySerializer.o) "JS::detail::AssertArgumentsAreSane(JSContext*, JS::Handle<JS::Value>)", referenced from: JS::ToNumber(JSContext*, JS::Handle<JS::Value>, double*) in libscriptinterface_dbg.a(ScriptConversions.o) JS::ToInt32(JSContext*, JS::Handle<JS::Value>, int*) in libscriptinterface_dbg.a(ScriptConversions.o) JS::ToUint32(JSContext*, JS::Handle<JS::Value>, unsigned int*) in libscriptinterface_dbg.a(ScriptConversions.o) JS::ToUint16(JSContext*, JS::Handle<JS::Value>, unsigned short*) in libscriptinterface_dbg.a(ScriptConversions.o) JS::ToString(JSContext*, JS::Handle<JS::Value>) in libscriptinterface_dbg.a(ScriptConversions.o) JS::ToNumber(JSContext*, JS::Handle<JS::Value>, double*) in libsimulation2_dbg.a(EngineScriptConversions.o) JS::ToNumber(JSContext*, JS::Handle<JS::Value>, double*) in libsimulation2_dbg.a(BinarySerializer.o) ... ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
Change History (9)
comment:1 by , 5 years ago
Cc: | added |
---|
follow-up: 5 comment:2 by , 5 years ago
comment:3 by , 5 years ago
Cc: | added |
---|
comment:4 by , 5 years ago
I've had the above error (from the ticket desc), and that's from trying to use debug versions of 0 A.D.'s lib* (eg libsimulation...). I'm guessing it's linking against your debug libraries instead of your release libraries.
If you symlink the release versions instead of the debug versions, the compilation works.
follow-up: 7 comment:5 by , 5 years ago
Replying to coldphoenix:
May be related, but I'm running a first time build, following the Build Instructions for MacOS, and I get the following error when building pyrogenisis (after executing "make -j3"):
==== Building pyrogenesis (release) ==== Creating obj/pyrogenesis_Release main.cpp Linking pyrogenesis Undefined symbols for architecture x86_64: "_libintl_bindtextdomain", referenced from: __gnutls_global_init in libgnutls.a(global.o) "_libintl_dgettext", referenced from: _gnutls_certificate_verification_status_print in libgnutls.a(cert-cred.o) _gnutls_strerror in libgnutls.a(errors.o) __gnutls_ocsp_verify_status_to_str in libgnutls.a(ocsp.o) _gnutls_alert_get_name in libgnutls.a(alert.o) _gnutls_x509_crt_print in libgnutls.a(output.o) _print_oneline in libgnutls.a(output.o) _print_cert in libgnutls.a(output.o) ... ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: *** [../../../binaries/system/pyrogenesis] Error 1 make: *** [pyrogenesis] Error 2Happy to raise a new ticket if not related. First time giving this game and build a shot.
Please make a separate ticket, that is a command line build (not Xcode). Also include which version of Xcode, command line tools, and macOS you have installed. Oh and which Mac you're using.
comment:6 by , 5 years ago
The original report is due to lack of proper Xcode 4+ scheme support in Premake's xcode module. You have to manually set release build for each project (because projects become schemes and debug is the default mode, so there's no single switch to change them all from debug<->release).
comment:7 by , 5 years ago
Replying to historic_bruno:
Replying to coldphoenix:
May be related, but I'm running a first time build, following the Build Instructions for MacOS, and I get the following error when building pyrogenisis (after executing "make -j3"):
==== Building pyrogenesis (release) ==== Creating obj/pyrogenesis_Release main.cpp Linking pyrogenesis Undefined symbols for architecture x86_64: "_libintl_bindtextdomain", referenced from: __gnutls_global_init in libgnutls.a(global.o) "_libintl_dgettext", referenced from: _gnutls_certificate_verification_status_print in libgnutls.a(cert-cred.o) _gnutls_strerror in libgnutls.a(errors.o) __gnutls_ocsp_verify_status_to_str in libgnutls.a(ocsp.o) _gnutls_alert_get_name in libgnutls.a(alert.o) _gnutls_x509_crt_print in libgnutls.a(output.o) _print_oneline in libgnutls.a(output.o) _print_cert in libgnutls.a(output.o) ... ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: *** [../../../binaries/system/pyrogenesis] Error 1 make: *** [pyrogenesis] Error 2Happy to raise a new ticket if not related. First time giving this game and build a shot.
Please make a separate ticket, that is a command line build (not Xcode). Also include which version of Xcode, command line tools, and macOS you have installed. Oh and which Mac you're using.
Thanks mate. I've created ticked #5503.
comment:8 by , 4 years ago
Keywords: | macos added |
---|
comment:9 by , 15 months ago
Ld /Users/stan/0ad-svn/binaries/system/pyrogenesis normal (in target 'pyrogenesis' from project 'pyrogenesis') cd /Users/stan/0ad-svn/build/workspaces/xcode4 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -target arm64-apple-macos10.12 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -L/Users/stan/0ad-svn/build/workspaces/xcode4/obj/pyrogenesis_Release/EagerLinkingTBDs -L/Users/stan/0ad-svn/binaries/system -L../../../binaries/system -L../../../libraries/osx/sdl2/lib -L../../../libraries/osx/libpng/lib -L../../../libraries/source/spidermonkey/lib -L../../../libraries/osx/libxml2/lib -L../../../libraries/osx/boost/lib -L../../../libraries/osx/enet/lib -L../../../libraries/osx/libcurl/lib -L../../../libraries/osx/icu/lib -L../../../libraries/osx/iconv/lib -L../../../libraries/osx/libsodium/lib -L../../../libraries/osx/fmt/lib -L../../../libraries/osx/freetype/lib -L../../../libraries/osx/zlib/lib -L../../../libraries/osx/vorbis/lib -L../../../libraries/osx/libogg/lib -L../../../libraries/source/nvtt/lib -L../../../libraries/osx/gloox/lib -L../../../libraries/osx/gnutls/lib -L../../../libraries/osx/gmp/lib -L../../../libraries/osx/nettle/lib -L../../../libraries/osx/miniupnpc/lib -F/Users/stan/0ad-svn/build/workspaces/xcode4/obj/pyrogenesis_Release/EagerLinkingTBDs -F/Users/stan/0ad-svn/binaries/system -filelist /Users/stan/0ad-svn/build/workspaces/xcode4/obj/pyrogenesis_Release/pyrogenesis.build/Objects-normal/arm64/pyrogenesis.LinkFileList -Xlinker -object_path_lto -Xlinker /Users/stan/0ad-svn/build/workspaces/xcode4/obj/pyrogenesis_Release/pyrogenesis.build/Objects-normal/arm64/pyrogenesis_lto.o -lSDL2 -lobjc -lpng16 -lmozjs91-ps-release -lmozjs91-ps-rust -lxml2 -lboost_filesystem -lboost_system -lenet -lcurl -licui18n -licuuc -licudata -liconv -lsodium -lfmt -lfreetype -lvorbisfile -lvorbis -lm -logg -lbc6h -lbc7 -lnvcore -lnvimage -lnvmath -lnvthread -lnvtt -lsquish -lgloox -lresolv -lz -lgnutls -lhogweed -lgmp -lnettle -lminiupnpc -lpthread -mmacosx-version-min\=10.12 -stdlib\=libc++ -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox -Wl,-weak_framework,CoreHaptics -Wl,-weak_framework,GameController -Wl,-framework,ForceFeedback -Wl,-framework,CoreVideo -Wl,-framework,Cocoa -Wl,-framework,Carbon -Wl,-framework,IOKit -Wl,-weak_framework,QuartzCore -Wl,-weak_framework,Metal -pthread -arch arm64 -framework Security -framework OpenAL -framework ApplicationServices -framework Cocoa -framework CoreFoundation /Users/stan/0ad-svn/binaries/system/libmocks_real_dbg.a /Users/stan/0ad-svn/binaries/system/libnetwork_dbg.a /Users/stan/0ad-svn/binaries/system/librlinterface_dbg.a /Users/stan/0ad-svn/binaries/system/libtinygettext_dbg.a /Users/stan/0ad-svn/binaries/system/liblobby_dbg.a /Users/stan/0ad-svn/binaries/system/libglooxwrapper_dbg.a /Users/stan/0ad-svn/binaries/system/libsimulation2_dbg.a /Users/stan/0ad-svn/binaries/system/libscriptinterface_dbg.a /Users/stan/0ad-svn/binaries/system/libengine_dbg.a /Users/stan/0ad-svn/binaries/system/libgraphics_dbg.a /Users/stan/0ad-svn/binaries/system/libatlas_dbg.a /Users/stan/0ad-svn/binaries/system/libgui_dbg.a /Users/stan/0ad-svn/binaries/system/liblowlevel_dbg.a /Users/stan/0ad-svn/binaries/system/libgladwrapper_dbg.a /Users/stan/0ad-svn/binaries/system/libmongoose_dbg.a -Xlinker -no_adhoc_codesign -Xlinker -dependency_info -Xlinker /Users/stan/0ad-svn/build/workspaces/xcode4/obj/pyrogenesis_Release/pyrogenesis.build/Objects-normal/arm64/pyrogenesis_dependency_info.dat -o /Users/stan/0ad-svn/binaries/system/pyrogenesis Undefined symbols for architecture arm64: "JS::AutoAssertNoGC::AutoAssertNoGC(JSContext*)", referenced from: JS::AutoCheckCannotGC::AutoCheckCannotGC(JSContext*) in libsimulation2_dbg.a(EngineScriptConversions.o) JS::AutoCheckCannotGC::AutoCheckCannotGC(JSContext*) in libscriptinterface_dbg.a(ScriptConversions.o) JS::AutoCheckCannotGC::AutoCheckCannotGC(JSContext*) in libsimulation2_dbg.a(BinarySerializer.o) JS::AutoCheckCannotGC::AutoCheckCannotGC(JSContext*) in libsimulation2_dbg.a(CCmpAIManager.o) "JS::AutoAssertNoGC::~AutoAssertNoGC()", referenced from: JS::AutoCheckCannotGC::~AutoCheckCannotGC() in libsimulation2_dbg.a(EngineScriptConversions.o) JS::AutoCheckCannotGC::~AutoCheckCannotGC() in libscriptinterface_dbg.a(ScriptConversions.o) JS::AutoCheckCannotGC::~AutoCheckCannotGC() in libsimulation2_dbg.a(BinarySerializer.o) JS::AutoCheckCannotGC::~AutoCheckCannotGC() in libsimulation2_dbg.a(CCmpAIManager.o) "JS::ConstUTF8CharsZ::validate(unsigned long)", referenced from: JS::ConstUTF8CharsZ::ConstUTF8CharsZ(char const*, unsigned long) in libsimulation2_dbg.a(ParamNode.o) "JS::detail::AssertArgumentsAreSane(JSContext*, JS::Handle<JS::Value>)", referenced from: JS::ToNumber(JSContext*, JS::Handle<JS::Value>, double*) in libsimulation2_dbg.a(EngineScriptConversions.o) JS::ToNumber(JSContext*, JS::Handle<JS::Value>, double*) in libscriptinterface_dbg.a(ScriptConversions.o) JS::ToInt32(JSContext*, JS::Handle<JS::Value>, int*) in libscriptinterface_dbg.a(ScriptConversions.o) JS::ToUint32(JSContext*, JS::Handle<JS::Value>, unsigned int*) in libscriptinterface_dbg.a(ScriptConversions.o) JS::ToUint16(JSContext*, JS::Handle<JS::Value>, unsigned short*) in libscriptinterface_dbg.a(ScriptConversions.o) JS::ToString(JSContext*, JS::Handle<JS::Value>) in libscriptinterface_dbg.a(ScriptConversions.o) JS::ToNumber(JSContext*, JS::Handle<JS::Value>, double*) in libsimulation2_dbg.a(BinarySerializer.o) ... "js::gc::AssertGCThingHasType(js::gc::Cell*, JS::TraceKind)", referenced from: JS::GCCellPtr::checkedCast(void*, JS::TraceKind) in libengine_dbg.a(GameSetup.o) JS::GCCellPtr::checkedCast(void*, JS::TraceKind) in libnetwork_dbg.a(NetClient.o) JS::GCCellPtr::checkedCast(void*, JS::TraceKind) in libgui_dbg.a(IGUIObject.o) JS::GCCellPtr::checkedCast(void*, JS::TraceKind) in libengine_dbg.a(XMBStorage.o) JS::GCCellPtr::checkedCast(void*, JS::TraceKind) in libengine_dbg.a(VisualReplay.o) JS::GCCellPtr::checkedCast(void*, JS::TraceKind) in libsimulation2_dbg.a(JSInterface_Simulation.o) JS::GCCellPtr::checkedCast(void*, JS::TraceKind) in libgui_dbg.a(JSInterface_GUIProxy.o) ... "js::gc::detail::AssertCellIsNotGray(js::gc::Cell const*)", referenced from: JS::AssertCellIsNotGray(js::gc::Cell const*) in libengine_dbg.a(GameSetup.o) JS::AssertCellIsNotGray(js::gc::Cell const*) in libscriptinterface_dbg.a(ScriptInterface.o) JS::AssertCellIsNotGray(js::gc::Cell const*) in libengine_dbg.a(HWDetect.o) JS::AssertCellIsNotGray(js::gc::Cell const*) in libengine_dbg.a(JSInterface_Network.o) JS::AssertCellIsNotGray(js::gc::Cell const*) in libgui_dbg.a(JSInterface_GUIManager.o) JS::AssertCellIsNotGray(js::gc::Cell const*) in libsimulation2_dbg.a(JSInterface_Simulation.o) JS::AssertCellIsNotGray(js::gc::Cell const*) in libgui_dbg.a(JSInterface_GUIProxy.o) ... "js::gc::detail::ObjectIsMarkedBlack(JSObject const*)", referenced from: js::SetProxyReservedSlot(JSObject*, unsigned long, JS::Value const&) in libgui_dbg.a(JSInterface_GUIProxy.o) "js::oom::GetThreadType()", referenced from: js::oom::FailureSimulator::isThreadSimulatingAny() const in libengine_dbg.a(GameSetup.o) js::oom::FailureSimulator::isThreadSimulatingAny() const in libgui_dbg.a(GUIManager.o) js::oom::FailureSimulator::isThreadSimulatingAny() const in libengine_dbg.a(Game.o) js::oom::FailureSimulator::isThreadSimulatingAny() const in libscriptinterface_dbg.a(JSON.o) js::oom::FailureSimulator::isThreadSimulatingAny() const in libengine_dbg.a(HWDetect.o) js::oom::FailureSimulator::isThreadSimulatingAny() const in libgui_dbg.a(IGUIObject.o) js::oom::FailureSimulator::isThreadSimulatingAny() const in libsimulation2_dbg.a(Simulation2.o) ... "js::oom::simulator", referenced from: js::oom::ShouldFailWithOOM() in libengine_dbg.a(GameSetup.o) js::oom::ShouldFailWithOOM() in libgui_dbg.a(GUIManager.o) js::oom::ShouldFailWithOOM() in libengine_dbg.a(Game.o) js::oom::ShouldFailWithOOM() in libscriptinterface_dbg.a(JSON.o) js::oom::ShouldFailWithOOM() in libengine_dbg.a(HWDetect.o) js::oom::ShouldFailWithOOM() in libgui_dbg.a(IGUIObject.o) js::oom::ShouldFailWithOOM() in libsimulation2_dbg.a(Simulation2.o) ... ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
Same issue on macOS 12.6 ...
May be related, but I'm running a first time build, following the Build Instructions for MacOS, and I get the following error when building pyrogenisis (after executing "make -j3"):
Happy to raise a new ticket if not related. First time giving this game and build a shot.