Home | Documentation | Atomic Chat | Github

Does anyone able to build engine on Ubuntu nowadays?

solved

#1

I tried today (Ubuntu 16.04) and got some errors. Do you have problems too ?


#2

I’ve built the engine in Mint Linux today. Would you like to share the errors you are having? This page show the requirements and procedure for building the source https://github.com/AtomicGameEngine/AtomicGameEngine/wiki/Building-Atomic-from-Source


#3

I have installed prerequisites for Ubuntu (sudo apt-get install build-essential cmake nodejs libgtk-3-dev libasound2-dev libxrandr-dev libgl1-mesa-dev libglu1-mesa-dev)
Here is the part of output:

/home/u001/AtomicGameEngine/Artifacts/AtomicNET/Build/AtomicNET.Shared/AtomicNET.Shared.shproj:  warning : Could not find project file /usr/lib/mono/xbuild/Microsoft/VisualStudio/v/CodeSharing/Microsoft.CodeSharing.Common.Default.props, to import. Ignoring.
/home/u001/AtomicGameEngine/Artifacts/AtomicNET/Build/AtomicNET.Shared/AtomicNET.Shared.shproj:  warning : Could not find project file /usr/lib/mono/xbuild/Microsoft/VisualStudio/v/CodeSharing/Microsoft.CodeSharing.Common.props, to import. Ignoring.
/home/u001/AtomicGameEngine/Artifacts/AtomicNET/Build/AtomicNET.Shared/AtomicNET.Shared.shproj:  warning : Could not find project file /usr/lib/mono/xbuild/Microsoft/VisualStudio/v/CodeSharing/Microsoft.CodeSharing.CSharp.targets, to import. Ignoring.
/home/u001/AtomicGameEngine/Artifacts/AtomicNET/Build/AtomicNET.sln:  warning : Don't know how to handle GlobalSection SharedMSBuildProjectFiles, Ignoring.
Project "/home/u001/AtomicGameEngine/Artifacts/AtomicNET/Build/AtomicNET.sln" (default target(s)):
	Target ValidateSolutionConfiguration:
		Building solution configuration "Release|Any CPU".
	Target Build:
		Project "/home/u001/AtomicGameEngine/Artifacts/AtomicNET/Build/AtomicNET/AtomicNET.csproj" (default target(s)):
/home/u001/AtomicGameEngine/Artifacts/AtomicNET/Build/AtomicNET/AtomicNET.csproj:  warning : Project has unknown ToolsVersion '14.0'. Using the default tools version '4.0' instead.
			Target PrepareForBuild:
				Configuration: Release Platform: AnyCPU
				Created directory "../../Release/Portable/"
				Created directory "obj/Release/"
			Target GetReferenceAssemblyPaths:
/usr/lib/mono/4.5/Microsoft.Common.targets:  warning : Unable to find framework corresponding to the target framework moniker '.NETPortable,Version=v4.5,Profile=Profile111'. Framework assembly references will be resolved from the GAC, which might not be the intended behavior.
/usr/lib/mono/4.5/Microsoft.Common.targets: error : PCL Reference Assemblies not installed.
			Task "GetReferenceAssemblyPaths" execution -- FAILED
			Done building target "GetReferenceAssemblyPaths" in project "/home/u001/AtomicGameEngine/Artifacts/AtomicNET/Build/AtomicNET/AtomicNET.csproj".-- FAILED
		Done building project "/home/u001/AtomicGameEngine/Artifacts/AtomicNET/Build/AtomicNET/AtomicNET.csproj".-- FAILED
		Project "/home/u001/AtomicGameEngine/Artifacts/AtomicNET/Build/AtomicNET.Desktop/AtomicNET.Desktop.csproj" (default target(s)):
/home/u001/AtomicGameEngine/Artifacts/AtomicNET/Build/AtomicNET.Desktop/AtomicNET.Desktop.csproj:  warning : Project has unknown ToolsVersion '14.0'. Using the default tools version '4.0' instead.
			Target PrepareForBuild:
				Configuration: Release Platform: AnyCPU
				Created directory "../../Release/Desktop/"
				Created directory "obj/Release/"
			Target GenerateSatelliteAssemblies:
			No input files were specified for target GenerateSatelliteAssemblies, skipping.
			Target CoreCompile:
				Tool /usr/lib/mono/4.5/mcs.exe execution started with arguments: /noconfig /debug:full /optimize+ /out:obj/Release/AtomicNET.dll ../../../../Script/AtomicNET/AtomicNET/Math/Vector3.cs ../../../../Script/AtomicNET/AtomicNET/Math/IntVector2.cs ../../../../Script/AtomicNET/AtomicNET/Math/Plane.cs ../../../../Script/AtomicNET/AtomicNET/Math/Matrix4.cs ../../../../Script/AtomicNET/AtomicNET/Math/Vector2.cs ../../../../Script/AtomicNET/AtomicNET/Math/Quaternion.cs ../../../../Script/AtomicNET/AtomicNET/Math/IntRect.cs ../../../../Script/AtomicNET/AtomicNET/Math/BoundingBox.cs ../../../../Script/AtomicNET/AtomicNET/Math/Rect.cs ../../../../Script/AtomicNET/AtomicNET/Math/Frustum.cs ../../../../Script/AtomicNET/AtomicNET/Math/Color.cs ../../../../Script/AtomicNET/AtomicNET/Math/StringHash.cs ../../../../Script/AtomicNET/AtomicNET/Math/MathHelper.cs ../../../../Script/AtomicNET/AtomicNET/Math/Vector4.cs ../../../../Script/AtomicNET/AtomicNET/Math/Matrix3.cs ../../../../Script/AtomicNET/AtomicNET/Math/Matrix3x4.cs ../../../../Script/AtomicNET/AtomicNET/Navigation/NavigationMesh.cs ../../../../Script/AtomicNET/AtomicNET/Navigation/CrowdManager.cs ../../../../Script/AtomicNET/AtomicNET/Script/ScriptVariant.cs ../../../../Script/AtomicNET/AtomicNET/Script/ScriptVariantMap.cs ../../../../Script/AtomicNET/AtomicNET/Physics/PhysicsWorld.cs ../../../../Script/AtomicNET/AtomicNET/Resource/ResourceCache.cs ../../../../Script/AtomicNET/AtomicNET/Resource/ResourceNameIterator.cs ../../../../Script/AtomicNET/AtomicNET/IO/Deserializer.cs ../../../../Script/AtomicNET/AtomicNET/IO/Serializer.cs ../../../../Script/AtomicNET/AtomicNET/IO/Log.cs ../../../../Script/AtomicNET/AtomicNET/IO/File.cs ../../../../Script/AtomicNET/AtomicNET/UI/UIWidget.cs ../../../../Script/AtomicNET/AtomicNET/IPC/IPC.cs ../../../../Script/AtomicNET/AtomicNET/Application/Application.cs ../../../../Script/AtomicNET/AtomicNET/Application/AppBase.cs ../../../../Script/AtomicNET/AtomicNET/Application/NETAtomicPlayer.cs ../../../../Script/AtomicNET/AtomicNET/Application/PlayerApp.cs ../../../../Script/AtomicNET/AtomicNET/Application/NETIPCPlayerApp.cs ../../../../Script/AtomicNET/AtomicNET/Application/AppDelegate.cs ../../../../Script/AtomicNET/AtomicNET/Application/NETServiceApplication.cs ../../../../Script/AtomicNET/AtomicNET/Application/AppOptions.cs ../../../../Script/AtomicNET/AtomicNET/Scene/Component.cs ../../../../Script/AtomicNET/AtomicNET/Scene/InspectorAttribute.cs ../../../../Script/AtomicNET/AtomicNET/Scene/Node.cs ../../../../Script/AtomicNET/AtomicNET/Scene/Scene.cs ../../../../Script/AtomicNET/AtomicNET/Scene/CSComponent.cs ../../../../Script/AtomicNET/AtomicNET/Scene/ValueAnimation.cs ../../../../Script/AtomicNET/AtomicNET/Scene/CSComponentCore.cs ../../../../Script/AtomicNET/AtomicNET/Properties/AssemblyInfo.cs ../../../../Script/AtomicNET/AtomicNET/Graphics/Viewport.cs ../../../../Script/AtomicNET/AtomicNET/Graphics/Camera.cs ../../../../Script/AtomicNET/AtomicNET/Graphics/Skeleton.cs ../../../../Script/AtomicNET/AtomicNET/Graphics/AnimatedModel.cs ../../../../Script/AtomicNET/AtomicNET/Graphics/Material.cs ../../../../Script/AtomicNET/AtomicNET/Graphics/CustomGeometry.cs ../../../../Script/AtomicNET/AtomicNET/Graphics/GraphicsDefs.cs ../../../../Script/AtomicNET/AtomicNET/Graphics/Octree.cs ../../../../Script/AtomicNET/AtomicNET/Graphics/Light.cs ../../../../Script/AtomicNET/AtomicNET/Graphics/RenderPath.cs ../../../../Script/AtomicNET/AtomicNET/Graphics/Graphics.cs ../../../../Script/AtomicNET/AtomicNET/Graphics/VertexBuffer.cs ../../../../Script/AtomicNET/AtomicNET/Core/Constants.cs ../../../../Script/AtomicNET/AtomicNET/Core/NativeCore.cs ../../../../Script/AtomicNET/AtomicNET/Core/SDLEvents.cs ../../../../Script/AtomicNET/AtomicNET/Core/RefCounted.cs ../../../../Script/AtomicNET/AtomicNET/Core/VariantMap.cs ../../../../Script/AtomicNET/AtomicNET/Core/AtomicNET.cs ../../../../Script/AtomicNET/AtomicNET/Core/Structs.cs ../../../../Script/AtomicNET/AtomicNET/Core/SDLConsts.cs ../../../../Script/AtomicNET/AtomicNET/Core/Vector.cs ../../../../Script/AtomicNET/AtomicNET/Core/NativeEvents.cs ../../../../Script/AtomicNET/AtomicNET/Core/AObject.cs ../../../../Script/AtomicNET/AtomicNET/ThirdParty/MiniJSON.cs ../../../../Script/AtomicNET/AtomicNET/Input/Controls.cs ../../../../Script/AtomicNET/AtomicNET/Player/Player.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleGraphics.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModulePhysics.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleInput.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleJavascript.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleContainer.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleMetrics.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleScene.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleNavigation.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleWeb.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleEnvironment.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleAudio.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleNetwork.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleIO.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleAtomic2D.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleEngine.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleCore.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleUI.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleScript.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleIPC.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleMath.cs ../../../Build/Source/Generated/CSharp/Packages/Atomic/Managed/CSModuleResource.cs ../../../Build/Source/Generated/CSharp/Packages/AtomicNETScript/Managed/CSModuleAtomicNETScript.cs ../../../Build/Source/Generated/CSharp/Packages/AtomicNETNative/Managed/CSModuleAtomicNETNative.cs ../../../Build/Source/Generated/CSharp/Packages/AtomicApp/Managed/CSModuleAtomicApp.cs ../../../Build/Source/Generated/CSharp/Packages/AtomicPlayer/Managed/CSModulePlayer.cs obj/Release/.NETFramework,Version=v4.5.AssemblyAttribute.cs /target:library /unsafe+ /define:"TRACE;ATOMIC_DESKTOP" /nowarn:1591;1570 /doc:../../Release/Desktop/AtomicNET.xml /nostdlib /platform:x64 /reference:/usr/lib/mono/4.5/System.dll /reference:/usr/lib/mono/4.5/System.Xml.Linq.dll /reference:/usr/lib/mono/4.5/System.Xml.dll /reference:/usr/lib/mono/4.5/System.Core.dll /reference:/usr/lib/mono/4.5/mscorlib.dll /warn:4
../../../../Script/AtomicNET/AtomicNET/Application/AppOptions.cs(65,8): warning CS1587: XML comment is not placed on a valid language element

...

	../../../../Script/AtomicNET/AtomicNET/Graphics/Skeleton.cs(149,20): warning CS0414: The private field `AtomicEngine.Skeleton.owner' is assigned but its value is never used

Errors:

/home/u001/AtomicGameEngine/Artifacts/AtomicNET/Build/AtomicNET.sln (default targets) ->
(Build target) ->
/home/u001/AtomicGameEngine/Artifacts/AtomicNET/Build/AtomicNET/AtomicNET.csproj (default targets) ->
/usr/lib/mono/4.5/Microsoft.Common.targets (GetReferenceAssemblyPaths target) ->

	/usr/lib/mono/4.5/Microsoft.Common.targets: error : PCL Reference Assemblies not installed.

	 57 Warning(s)
	 1 Error(s)

Time Elapsed 00:00:05.1734910

Compilation Command: -c mono "/home/u001/AtomicGameEngine/Build/Managed/nuget/nuget.exe" restore "/home/u001/AtomicGameEngine/Artifacts/AtomicNET/Build/AtomicNET.sln" && "xbuild" "/home/u001/AtomicGameEngine/Artifacts/AtomicNET/Build/AtomicNET.sln" /p:Platform="Any CPU" /p:Configuration=Release

NETBuild Error for solution: /home/u001/AtomicGameEngine/Script/AtomicNET/AtomicNETProject.json
/home/u001/AtomicGameEngine/Build/node_modules/jake/lib/api.js:340
        throw errObj;
        ^

Error: Process exited with error.
    at api.fail (/home/u001/AtomicGameEngine/Build/node_modules/jake/lib/api.js:336:18)
    at null.<anonymous> (/home/u001/AtomicGameEngine/Build/node_modules/jake/lib/utils/index.js:124:9)
    at emitTwo (events.js:87:13)
    at emit (events.js:172:7)
    at ChildProcess.<anonymous> (/home/u001/AtomicGameEngine/Build/node_modules/jake/lib/utils/index.js:227:20)
    at emitTwo (events.js:87:13)
    at ChildProcess.emit (events.js:172:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)

#4

There is a quick guide for building on Linux, which should work if you specify the --nonet flag, like so ./Build_AtomicEditor.sh --nonet

A more detailed guide, including steps that will address the PCL Reference Assemblies not installed error you are getting are available here: https://github.com/AtomicGameEngine/AtomicGameEngine/wiki/Detailed-instructions-for-building-on-Linux


#5

If that doesn’t help, reply on this thread and I’ll try to help. I build an multiple distros including Ubuntu without errors, so I might be able to lend a hand…


#6

Now it’s stuck on ‘-- Looking for qsort’.

sh Build_AtomicEditor.sh --nonet --with-android --with-web --with-docs --package

...

[100%] Linking CXX shared library libAtomicNETNative.so
[100%] Built target AtomicNETNative
-- Check for working C compiler: /usr/share/emscripten/emcc
-- Check for working C compiler: /usr/share/emscripten/emcc -- works
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/share/emscripten/em++
-- Check for working CXX compiler: /usr/share/emscripten/em++ -- works
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test HAVE_GCC_ATOMICS
-- Performing Test HAVE_GCC_ATOMICS - Success
-- Performing Test HAVE_GCC_PREFERRED_STACK_BOUNDARY
-- Performing Test HAVE_GCC_PREFERRED_STACK_BOUNDARY - Failed
-- Performing Test HAVE_GCC_WALL
-- Performing Test HAVE_GCC_WALL - Success
-- Performing Test HAVE_GCC_WSHADOW
-- Performing Test HAVE_GCC_WSHADOW - Success
-- Performing Test HAVE_NO_UNDEFINED
-- Performing Test HAVE_NO_UNDEFINED - Success
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdio.h
-- Looking for stdio.h - found
-- Looking for stdlib.h
-- Looking for stdlib.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Looking for stdarg.h
-- Looking for stdarg.h - found
-- Looking for malloc.h
-- Looking for malloc.h - found
-- Looking for memory.h
-- Looking for memory.h - found
-- Looking for string.h
-- Looking for string.h - found
-- Looking for strings.h
-- Looking for strings.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for ctype.h
-- Looking for ctype.h - found
-- Looking for math.h
-- Looking for math.h - found
-- Looking for iconv.h
-- Looking for iconv.h - found
-- Looking for signal.h
-- Looking for signal.h - found
-- Looking for 8 include files stdint.h, ..., dlfcn.h
-- Looking for 8 include files stdint.h, ..., dlfcn.h - found
-- Looking for M_PI
-- Looking for M_PI - found
-- Looking for sys/mman.h
-- Looking for sys/mman.h - found
-- Looking for strtod
-- Looking for strtod - found
-- Looking for malloc
-- Looking for malloc - found
-- Looking for calloc
-- Looking for calloc - found
-- Looking for realloc
-- Looking for realloc - found
-- Looking for free
-- Looking for free - found
-- Looking for getenv
-- Looking for getenv - found
-- Looking for setenv
-- Looking for setenv - found
-- Looking for putenv
-- Looking for putenv - found
-- Looking for unsetenv
-- Looking for unsetenv - found
-- Looking for qsort

#7

Does it fail, or just hang there?


#8

Just hang there. ((((((((((((


#9

Maybe use ps or htop to see what process is just spinning?


#10

Did you try

./Build_AtomicEditor.sh --nonet

I missed the bit about you using emscripten…


#11

Another note, it looks like emcc is set as C++ compiler, as web build shouldn’t be trying to build AtomicNETNative (if it is that is something to fix), definitely a good idea to minimize number of variables and build with less platforms to start


#12

emcc as C++ compiler - does it only relate to web build ? Should I switch to something else ? How ?


#13

I succeed with sh Build_AtomicEditor.sh --nonet --with-android --with-docs --package. Thanks guys.


#14

Hi there, I have this error while building the engine under kubuntu 17.04:

Error copying file (if different) from "/home/kiori/Games/Atomic\ Engine/Source/AtomicGameEngine/Artifacts/Build/Linux/Source/AtomicTool/AtomicTool" to "/home/kiori/Games/Atomic\ Engine/Source/AtomicGameEngine/Artifacts/Build/AtomicTool/".
Source/AtomicTool/CMakeFiles/AtomicTool.dir/build.make:123: recipe for target 'Source/AtomicTool/AtomicTool' failed
make[3]: *** [Source/AtomicTool/AtomicTool] Error 1
make[3]: *** A apagar ficheiro 'Source/AtomicTool/AtomicTool'
CMakeFiles/Makefile2:2751: recipe for target 'Source/AtomicTool/CMakeFiles/AtomicTool.dir/all' failed
make[2]: *** [Source/AtomicTool/CMakeFiles/AtomicTool.dir/all] Error 2
CMakeFiles/Makefile2:2645: recipe for target 'Source/AtomicNET/NETNative/CMakeFiles/AtomicNETNative.dir/rule' failed
make[1]: *** [Source/AtomicNET/NETNative/CMakeFiles/AtomicNETNative.dir/rule] Error 2
Makefile:599: recipe for target 'AtomicNETNative' failed
make: *** [AtomicNETNative] Error 2
/home/kiori/Games/Atomic Engine/Source/AtomicGameEngine/Build/node_modules/jake/lib/api.js:340
        throw errObj;
        ^

Error: Process exited with error.
    at api.fail (/home/kiori/Games/Atomic Engine/Source/AtomicGameEngine/Build/node_modules/jake/lib/api.js:336:18)
    at null.<anonymous> (/home/kiori/Games/Atomic Engine/Source/AtomicGameEngine/Build/node_modules/jake/lib/utils/index.js:124:9)
    at emitTwo (events.js:87:13)
    at emit (events.js:172:7)
    at ChildProcess.<anonymous> (/home/kiori/Games/Atomic Engine/Source/AtomicGameEngine/Build/node_modules/jake/lib/utils/index.js:227:20)
    at emitTwo (events.js:87:13)
    at ChildProcess.emit (events.js:172:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:211:12)

And if i try with these flags:
sh Build_AtomicEditor.sh --nonet --with-android --with-docs --package --with-web --opengl

I get the following:
Building Atomic Editor, this process will take a few minutes
ANDROID_NDK environment variable not set, exiting

Not sure how to proceed, any help is appreciated.

Edit: oh, and yeah i did try simply with --nonet


#15

I’ve got the same error that Kiori had.I use lubuntu.(I tried with --nonet too)