Installing on Linux Mint 18, clang Errors, -Werror, -Wall, "shifting a negative signed value is undefined"

Trying to install UE4 on Linux Mint 18 Cinnamon Edition. For reference, Mint 18 is based on Ubuntu 16.04 LTS.
I am following this:

./Setup.sh fails on first attempt

$ ./Setup.sh
Registering git hooks... (this will override existing ones!)

Github build
Checking / downloading the latest archives
Checking dependencies (excluding Win32, Win64, Mac, HTML5, Android)...
Received 1/1 files (0.6/0.6mb; 0.09mb/s; 100%)...
Result: 0
Fixing inconsistent case in filenames.

Building ThirdParty libraries

If you don't see SUCCESS message in the end, then building did not finish properly.
In that case, take a look into /home/a/UnrealEngine/Engine/Build/BatchFiles/Linux/BuildThirdParty.log for details.

You run Ubuntu or its fork. All dependencies have been already prebuilt.
==> BuildHLSLCC

this is the contents of the “BuildThirdParty.log” file referenced in the terminal output:

building hlslcc
+ cd Source/ThirdParty/hlslcc
+ P4Open hlslcc/lib/Linux/x86_64-unknown-linux-gnu/libhlslcc.a
+ for file in '$@'
+ '[' '!' -e hlslcc/lib/Linux/x86_64-unknown-linux-gnu/libhlslcc.a ']'
+ '[' -w hlslcc/lib/Linux/x86_64-unknown-linux-gnu/libhlslcc.a ']'
+ return
+ cd hlslcc/projects/Linux
+ make -j4 clean
rm -f ../../src/hlslcc_lib/ir_expression_flattening.o ../../src/hlslcc_lib/opt_copy_propagation_elements.o ../../src/hlslcc_lib/hlsl_lexer.o ../../src/hlslcc_lib/PackUniformBuffers.o ../../src/hlslcc_lib/ir_constant_expression.o ../../src/hlslcc_lib/loop_analysis.o ../../src/hlslcc_lib/opt_constant_propagation.o ../../src/hlslcc_lib/strtod.o ../../src/hlslcc_lib/loop_unroll.o ../../src/hlslcc_lib/ir_function_detect_recursion.o ../../src/hlslcc_lib/lower_variable_index_to_cond_assign.o ../../src/hlslcc_lib/ralloc.o ../../src/hlslcc_lib/ir_print_visitor.o ../../src/hlslcc_lib/glsl_types.o ../../src/hlslcc_lib/lower_instructions.o ../../src/hlslcc_lib/glsl_symbol_table.o ../../src/hlslcc_lib/lower_mat_op_to_vec.o ../../src/hlslcc_lib/lower_vec_index_to_swizzle.o ../../src/hlslcc_lib/ir_hierarchical_visitor.o ../../src/hlslcc_lib/lower_if_to_cond_assign.o ../../src/hlslcc_lib/hlslcc.o ../../src/hlslcc_lib/opt_noop_swizzle.o ../../src/hlslcc_lib/opt_constant_variable.o ../../src/hlslcc_lib/lower_jumps.o ../../src/hlslcc_lib/glcpp-parse.o ../../src/hlslcc_lib/ir_function.o ../../src/hlslcc_lib/glsl_parser_extras.o ../../src/hlslcc_lib/lower_vec_index_to_cond_assign.o ../../src/hlslcc_lib/ShaderCompilerCommon.o ../../src/hlslcc_lib/opt_dead_code.o ../../src/hlslcc_lib/hash_table.o ../../src/hlslcc_lib/glcpp-lex.o ../../src/hlslcc_lib/opt_redundant_jumps.o ../../src/hlslcc_lib/opt_tree_grafting.o ../../src/hlslcc_lib/hlsl_parser.o ../../src/hlslcc_lib/ir.o ../../src/hlslcc_lib/opt_copy_propagation.o ../../src/hlslcc_lib/ast_type.o ../../src/hlslcc_lib/lower_noise.o ../../src/hlslcc_lib/opt_array_splitting.o ../../src/hlslcc_lib/ir_variable_refcount.o ../../src/hlslcc_lib/ir_rvalue_visitor.o ../../src/hlslcc_lib/symbol_table.o ../../src/hlslcc_lib/opt_function_inlining.o ../../src/hlslcc_lib/builtin_stubs.o ../../src/hlslcc_lib/lower_vector.o ../../src/hlslcc_lib/lower_texture_projection.o ../../src/hlslcc_lib/loop_controls.o ../../src/hlslcc_lib/lower_clip_distance.o ../../src/hlslcc_lib/hir_field_selection.o ../../src/hlslcc_lib/opt_if_simplification.o ../../src/hlslcc_lib/pp.o ../../src/hlslcc_lib/opt_discard_simplification.o ../../src/hlslcc_lib/ir_track_image_access.o ../../src/hlslcc_lib/opt_swizzle_swizzle.o ../../src/hlslcc_lib/OptValueNumbering.o ../../src/hlslcc_lib/opt_dead_code_local.o ../../src/hlslcc_lib/ir_clone.o ../../src/hlslcc_lib/ast_function.o ../../src/hlslcc_lib/opt_algebraic.o ../../src/hlslcc_lib/ir_import_prototypes.o ../../src/hlslcc_lib/ast_expr.o ../../src/hlslcc_lib/opt_constant_folding.o ../../src/hlslcc_lib/opt_structure_splitting.o ../../src/hlslcc_lib/ir_unused_structs.o ../../src/hlslcc_lib/opt_dead_functions.o ../../src/hlslcc_lib/ir_hv_accept.o ../../src/hlslcc_lib/ir_function_can_inline.o ../../src/hlslcc_lib/ir_validate.o ../../src/hlslcc_lib/ast_to_hir.o ../../src/hlslcc_lib/IRDump.o ../../src/hlslcc_lib/lower_output_reads.o ../../src/hlslcc_lib/lower_discard.o ../../src/hlslcc_lib/ir_basic_block.o ../../src/hlslcc_exe/main.o ../../lib/Linux/x86_64-unknown-linux-gnu/libhlslcc.a ../../bin/Linux/hlslcc_64
+ make -j4
clang++ -fPIC -Wno-switch -Wno-unused-value -I../../src/hlslcc_lib -fvisibility=hidden -O2 -std=c++11 -o ../../src/hlslcc_lib/ir_expression_flattening.o -c ../../src/hlslcc_lib/ir_expression_flattening.cpp
clang++ -fPIC -Wno-switch -Wno-unused-value -I../../src/hlslcc_lib -fvisibility=hidden -O2 -std=c++11 -o ../../src/hlslcc_lib/opt_copy_propagation_elements.o -c ../../src/hlslcc_lib/opt_copy_propagation_elements.cpp
clang++ -fPIC -Wno-switch -Wno-unused-value -I../../src/hlslcc_lib -fvisibility=hidden -O2 -std=c++11 -o ../../src/hlslcc_lib/hlsl_lexer.o -c ../../src/hlslcc_lib/hlsl_lexer.cpp
make: clang++: Command not found
make: clang++: Command not found
Makefile:43: recipe for target '../../src/hlslcc_lib/ir_expression_flattening.o' failed
make: clang++: Command not found
make: *** [../../src/hlslcc_lib/ir_expression_flattening.o] Error 127
make: *** Waiting for unfinished jobs....
Makefile:43: recipe for target '../../src/hlslcc_lib/opt_copy_propagation_elements.o' failed
make: *** [../../src/hlslcc_lib/opt_copy_propagation_elements.o] Error 127
Makefile:43: recipe for target '../../src/hlslcc_lib/hlsl_lexer.o' failed
make: *** [../../src/hlslcc_lib/hlsl_lexer.o] Error 127

so i installed clang (apt-get install clang), and ./Setup.sh succeeded. And then “make” failed.

$ make
bash "/home/a/UnrealEngine"/Engine/Build/BatchFiles/Linux/Build.sh UE4Client Linux Debug  
Building UE4Client...
Using clang version '3.8.0' (string), 3 (major), 8 (minor), 0 (patch)
Performing 165 actions (8 in parallel)
[1/165] Compile EnginePrivate.h
[3/165] Compile CorePrivatePCH.h
[5/165] Compile Paper2D.generated.cpp
[2/165] Compile RendererPrivate.h
[4/165] Compile Module.Paper2D.cpp
[7/165] Compile Module.CustomMeshComponent.cpp
[6/165] Compile Module.CableComponent.cpp
[8/165] Compile CableComponent.generated.cpp
[9/165] Compile Module.ExampleDeviceProfileSelector.cpp
[10/165] Compile CustomMeshComponent.generated.cpp
[11/165] Compile Module.CharacterAI.cpp
[12/165] Compile Module.SlateRemote.cpp
[13/165] Compile SlateRemote.generated.cpp
[14/165] Compile Module.UdpMessaging.cpp
[15/165] Compile UdpMessaging.generated.cpp
[16/165] Compile Engine.generated.1.cpp
[17/165] Compile Engine.generated.2.cpp
[18/165] Compile Engine.generated.4.cpp
[19/165] Compile Engine.generated.5.cpp
[20/165] Compile Engine.generated.3.cpp
[21/165] Compile Module.UMG.cpp
[22/165] Compile UMG.generated.cpp
[23/165] Compile Module.OnlineSubsystemUtils.cpp
[24/165] Compile Module.Launch.cpp
[25/165] Compile Module.OpenGLDrv.cpp
[27/165] Compile Module.Renderer.6_of_6.cpp
[26/165] Compile Module.Renderer.5_of_6.cpp
[28/165] Compile Module.Engine.2_of_28.cpp
[29/165] Compile Module.MovieSceneCoreTypes.cpp
[30/165] Compile Module.Renderer.2_of_6.cpp
[31/165] Compile Module.Renderer.3_of_6.cpp
[32/165] Compile Module.Renderer.4_of_6.cpp
[33/165] Compile OnlineSubsystemUtils.generated.cpp
[34/165] Compile Module.Renderer.1_of_6.cpp
[35/165] Compile Module.Engine.28_of_28.cpp
[36/165] Compile MovieSceneCoreTypes.generated.cpp
[37/165] Compile Module.OnlineSubsystemNull.cpp
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Client/Debug/Engine/Module.Engine.28_of_28.cpp:9:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/Vehicles/PhysXVehicleManager.cpp:10:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/Vehicles/../PhysicsEngine/PhysXSupport.h:11:
In file included from Runtime/Engine/Public/PhysXIncludes.h:19:
In file included from ThirdParty/PhysX/PhysX-3.3/include/PxPhysicsAPI.h:49:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxBounds3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxTransform.h:37:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxQuat.h:39:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxVec3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxMath.h:50:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxIntrinsics.h:42:
ThirdParty/PhysX/PhysX-3.3/include/foundation/unix/PxUnixIntrinsics.h(85,2) :  error: all paths through this function will call itself [-Werror,-Winfinite-recursion]
        {
        ^
[38/165] Compile Module.SlateRHIRenderer.cpp
[39/165] Compile Module.ProfilerService.cpp
[40/165] Compile Module.AutomationWorker.cpp
1 error generated.
[41/165] Compile Module.MovieSceneCore.cpp
[42/165] Compile Module.MediaAssets.cpp
[43/165] Compile Module.GameplayTags.cpp
[44/165] Compile Module.MoviePlayer.cpp
[45/165] Compile Module.GameLiveStreaming.cpp
[46/165] Compile MovieSceneCore.generated.cpp
[47/165] Compile Module.PhysXFormats.cpp
[48/165] Compile MediaAssets.generated.cpp
[49/165] Compile GameplayTags.generated.cpp
[50/165] Compile Module.ALAudio.cpp
[51/165] Compile GameLiveStreaming.generated.cpp
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Client/Debug/PhysXFormats/Module.PhysXFormats.cpp:2:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/PhysXFormats/Private/PhysXFormats.cpp:11:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/PhysXFormats/Private/PhysXFormats.h:25:
In file included from ThirdParty/PhysX/PhysX-3.3/include/PxPhysicsAPI.h:49:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxBounds3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxTransform.h:37:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxQuat.h:39:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxVec3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxMath.h:50:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxIntrinsics.h:42:
ThirdParty/PhysX/PhysX-3.3/include/foundation/unix/PxUnixIntrinsics.h(85,2) :  error: all paths through this function will call itself [-Werror,-Winfinite-recursion]
        {
        ^
[52/165] Compile Module.StreamingPauseRendering.cpp
[53/165] Compile Module.HeadMountedDisplay.cpp
1 error generated.
[54/165] Compile MoviePlayer.generated.cpp
[55/165] Compile Module.Engine.6_of_28.cpp
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Client/Debug/Engine/Module.Engine.6_of_28.cpp:12:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/HierarchicalInstancedStaticMesh.cpp:10:
In file included from Runtime/Engine/Private/InstancedStaticMesh.h:43:
In file included from Runtime/Engine/Private/PhysicsEngine/PhysXSupport.h:11:
In file included from Runtime/Engine/Public/PhysXIncludes.h:19:
In file included from ThirdParty/PhysX/PhysX-3.3/include/PxPhysicsAPI.h:49:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxBounds3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxTransform.h:37:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxQuat.h:39:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxVec3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxMath.h:50:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxIntrinsics.h:42:
ThirdParty/PhysX/PhysX-3.3/include/foundation/unix/PxUnixIntrinsics.h(85,2) :  error: all paths through this function will call itself [-Werror,-Winfinite-recursion]
        {
        ^
[56/165] Compile Module.Engine.21_of_28.cpp
[57/165] Compile Module.Engine.15_of_28.cpp
1 error generated.
[58/165] Compile Module.Engine.16_of_28.cpp
[59/165] Compile Module.Engine.5_of_28.cpp
[60/165] Compile Module.Engine.24_of_28.cpp
[61/165] Compile Module.Engine.10_of_28.cpp
[62/165] Compile Module.Engine.19_of_28.cpp
[63/165] Compile Module.Engine.20_of_28.cpp
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Client/Debug/Engine/Module.Engine.10_of_28.cpp:26:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/PrimitiveComponent.cpp:17:
In file included from Runtime/Engine/Private/PhysicsEngine/PhysXSupport.h:11:
In file included from Runtime/Engine/Public/PhysXIncludes.h:19:
In file included from ThirdParty/PhysX/PhysX-3.3/include/PxPhysicsAPI.h:49:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxBounds3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxTransform.h:37:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxQuat.h:39:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxVec3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxMath.h:50:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxIntrinsics.h:42:
ThirdParty/PhysX/PhysX-3.3/include/foundation/unix/PxUnixIntrinsics.h(85,2) :  error: all paths through this function will call itself [-Werror,-Winfinite-recursion]
        {
        ^
[64/165] Compile Module.Engine.7_of_28.cpp
[65/165] Compile Module.Engine.8_of_28.cpp
1 error generated.
[66/165] Compile Module.Engine.4_of_28.cpp
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Client/Debug/Engine/Module.Engine.7_of_28.cpp:18:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/LevelActor.cpp:11:
In file included from Runtime/Engine/Private/PhysicsEngine/PhysXSupport.h:11:
In file included from Runtime/Engine/Public/PhysXIncludes.h:19:
In file included from ThirdParty/PhysX/PhysX-3.3/include/PxPhysicsAPI.h:49:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxBounds3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxTransform.h:37:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxQuat.h:39:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxVec3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxMath.h:50:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxIntrinsics.h:42:
ThirdParty/PhysX/PhysX-3.3/include/foundation/unix/PxUnixIntrinsics.h(85,2) :  error: all paths through this function will call itself [-Werror,-Winfinite-recursion]
        {
        ^
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Client/Debug/Engine/Module.Engine.8_of_28.cpp:6:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/LevelTick.cpp:22:
In file included from Runtime/Engine/Private/PhysicsEngine/PhysXSupport.h:11:
In file included from Runtime/Engine/Public/PhysXIncludes.h:19:
In file included from ThirdParty/PhysX/PhysX-3.3/include/PxPhysicsAPI.h:49:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxBounds3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxTransform.h:37:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxQuat.h:39:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxVec3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxMath.h:50:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxIntrinsics.h:42:
ThirdParty/PhysX/PhysX-3.3/include/foundation/unix/PxUnixIntrinsics.h(85,2) :  error: all paths through this function will call itself [-Werror,-Winfinite-recursion]
        {
        ^
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Client/Debug/Engine/Module.Engine.20_of_28.cpp:24:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/Collision/CollisionConversions.cpp:7:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/Collision/PhysXCollision.h:12:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/Collision/../PhysicsEngine/PhysXSupport.h:11:
In file included from Runtime/Engine/Public/PhysXIncludes.h:19:
In file included from ThirdParty/PhysX/PhysX-3.3/include/PxPhysicsAPI.h:49:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxBounds3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxTransform.h:37:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxQuat.h:39:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxVec3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxMath.h:50:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxIntrinsics.h:42:
ThirdParty/PhysX/PhysX-3.3/include/foundation/unix/PxUnixIntrinsics.h(85,2) :  error: all paths through this function will call itself [-Werror,-Winfinite-recursion]
        {
        ^
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Client/Debug/Engine/Module.Engine.4_of_28.cpp:18:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/DestructibleActor.cpp:9:
In file included from Runtime/Engine/Private/PhysicsEngine/PhysXSupport.h:11:
In file included from Runtime/Engine/Public/PhysXIncludes.h:19:
In file included from ThirdParty/PhysX/PhysX-3.3/include/PxPhysicsAPI.h:49:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxBounds3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxTransform.h:37:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxQuat.h:39:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxVec3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxMath.h:50:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxIntrinsics.h:42:
ThirdParty/PhysX/PhysX-3.3/include/foundation/unix/PxUnixIntrinsics.h(85,2) :  error: all paths through this function will call itself [-Werror,-Winfinite-recursion]
        {
        ^
[67/165] Compile Module.Engine.13_of_28.cpp
[68/165] Compile Module.Engine.9_of_28.cpp
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Client/Debug/Engine/Module.Engine.9_of_28.cpp:5:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/MorphTools.cpp:10:
In file included from Runtime/Engine/Private/PhysicsEngine/PhysXSupport.h:11:
In file included from Runtime/Engine/Public/PhysXIncludes.h:19:
In file included from ThirdParty/PhysX/PhysX-3.3/include/PxPhysicsAPI.h:49:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxBounds3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxTransform.h:37:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxQuat.h:39:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxVec3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxMath.h:50:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxIntrinsics.h:42:
ThirdParty/PhysX/PhysX-3.3/include/foundation/unix/PxUnixIntrinsics.h(85,2) :  error: all paths through this function will call itself [-Werror,-Winfinite-recursion]
        {
        ^
1 error generated.
[69/165] Compile Module.Engine.11_of_28.cpp
[70/165] Compile Module.Engine.1_of_28.cpp
1 error generated.
[71/165] Compile Module.Engine.12_of_28.cpp
[72/165] Compile Module.Engine.27_of_28.cpp
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Client/Debug/Engine/Module.Engine.12_of_28.cpp:12:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/SkeletalMesh.cpp:39:
In file included from Runtime/Engine/Private/PhysicsEngine/PhysXSupport.h:11:
In file included from Runtime/Engine/Public/PhysXIncludes.h:19:
In file included from ThirdParty/PhysX/PhysX-3.3/include/PxPhysicsAPI.h:49:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxBounds3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxTransform.h:37:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxQuat.h:39:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxVec3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxMath.h:50:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxIntrinsics.h:42:
ThirdParty/PhysX/PhysX-3.3/include/foundation/unix/PxUnixIntrinsics.h(85,2) :  error: all paths through this function will call itself [-Werror,-Winfinite-recursion]
        {
        ^
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Client/Debug/Engine/Module.Engine.27_of_28.cpp:3:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/PhysicsEngine/PhysicsAsset.cpp:12:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/PhysicsEngine/PhysXSupport.h:11:
In file included from Runtime/Engine/Public/PhysXIncludes.h:19:
In file included from ThirdParty/PhysX/PhysX-3.3/include/PxPhysicsAPI.h:49:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxBounds3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxTransform.h:37:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxQuat.h:39:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxVec3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxMath.h:50:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxIntrinsics.h:42:
ThirdParty/PhysX/PhysX-3.3/include/foundation/unix/PxUnixIntrinsics.h(85,2) :  error: all paths through this function will call itself [-Werror,-Winfinite-recursion]
        {
        ^
1 error generated.
[73/165] Compile Module.Engine.22_of_28.cpp
1 error generated.
1 error generated.
[74/165] Compile Module.Engine.23_of_28.cpp
[75/165] Compile Module.Engine.18_of_28.cpp
1 error generated.
[76/165] Compile Module.Engine.3_of_28.cpp
1 error generated.
[77/165] Compile Module.Engine.17_of_28.cpp
[78/165] Compile Module.Engine.14_of_28.cpp
[79/165] Compile Module.Engine.26_of_28.cpp
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Client/Debug/Engine/Module.Engine.17_of_28.cpp:16:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/AI/Navigation/RecastNavMeshGenerator.cpp:9:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/AI/Navigation/../../PhysicsEngine/PhysXSupport.h:11:
In file included from Runtime/Engine/Public/PhysXIncludes.h:19:
In file included from ThirdParty/PhysX/PhysX-3.3/include/PxPhysicsAPI.h:49:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxBounds3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxTransform.h:37:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxQuat.h:39:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxVec3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxMath.h:50:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxIntrinsics.h:42:
ThirdParty/PhysX/PhysX-3.3/include/foundation/unix/PxUnixIntrinsics.h(85,2) :  error: all paths through this function will call itself [-Werror,-Winfinite-recursion]
        {
        ^
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Client/Debug/Engine/Module.Engine.26_of_28.cpp:5:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/PhysicsEngine/BodyInstance.cpp:10:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Engine/Private/PhysicsEngine/PhysXSupport.h:11:
In file included from Runtime/Engine/Public/PhysXIncludes.h:19:
In file included from ThirdParty/PhysX/PhysX-3.3/include/PxPhysicsAPI.h:49:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxBounds3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxTransform.h:37:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxQuat.h:39:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxVec3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxMath.h:50:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxIntrinsics.h:42:
ThirdParty/PhysX/PhysX-3.3/include/foundation/unix/PxUnixIntrinsics.h(85,2) :  error: all paths through this function will call itself [-Werror,-Winfinite-recursion]
        {
        ^
[80/165] Compile Module.Engine.25_of_28.cpp
[81/165] Compile Module.AIModule.2_of_3.cpp
[82/165] Compile AIModule.generated.cpp
[83/165] Compile Module.AIModule.1_of_3.cpp
1 error generated.
[84/165] Compile Module.Landscape.cpp
1 error generated.
[85/165] Compile Module.Slate.2_of_4.cpp
[86/165] Compile Module.Slate.3_of_4.cpp
[87/165] Compile Module.Slate.1_of_4.cpp
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Client/Debug/Landscape/Module.Landscape.cpp:4:
In file included from /home/a/UnrealEngine/Engine/Source/Runtime/Landscape/Private/LandscapeCollision.cpp:11:
In file included from Runtime/Engine/Private/Collision/PhysXCollision.h:12:
In file included from Runtime/Engine/Private/Collision/../PhysicsEngine/PhysXSupport.h:11:
In file included from Runtime/Engine/Public/PhysXIncludes.h:19:
In file included from ThirdParty/PhysX/PhysX-3.3/include/PxPhysicsAPI.h:49:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxBounds3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxTransform.h:37:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxQuat.h:39:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxVec3.h:38:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxMath.h:50:
In file included from ThirdParty/PhysX/PhysX-3.3/include/foundation/PxIntrinsics.h:42:
ThirdParty/PhysX/PhysX-3.3/include/foundation/unix/PxUnixIntrinsics.h(85,2) :  error: all paths through this function will call itself [-Werror,-Winfinite-recursion]
        {
        ^
[88/165] Compile Module.AppFramework.cpp
1 error generated.
[89/165] Compile Module.Slate.4_of_4.cpp
[90/165] Compile Module.AIModule.3_of_3.cpp
[91/165] Compile Slate.generated.cpp
[92/165] Compile Module.CrashTracker.cpp
[93/165] Compile Module.TaskGraph.cpp
[94/165] Compile Module.RealtimeProfiler.cpp
[95/165] Compile Module.SlateReflector.cpp
[96/165] Compile Module.EditorStyle.cpp
[97/165] Compile EditorStyle.generated.cpp
[98/165] Compile Module.SlateCore.cpp
[99/165] Compile Landscape.generated.cpp
[100/165] Compile SlateCore.generated.cpp
[101/165] Compile Module.Core.2_of_6.cpp
[102/165] Compile Module.CoreUObject.1_of_4.cpp
[103/165] Compile Module.CoreUObject.3_of_4.cpp
[104/165] Compile Module.OnlineSubsystem.cpp
[105/165] Compile Module.Core.1_of_6.cpp
[106/165] Compile Module.SessionServices.cpp
[107/165] Compile Module.AssetRegistry.cpp
[108/165] Compile Module.CoreUObject.2_of_4.cpp
[109/165] Compile Module.Messaging.cpp
[110/165] Compile OnlineSubsystem.generated.cpp
[111/165] Compile Module.Serialization.cpp
[112/165] Compile Module.CoreUObject.4_of_4.cpp
[113/165] Compile EngineSettings.generated.cpp
[114/165] Compile Module.EngineSettings.cpp
[115/165] Compile Module.InputCore.cpp
[116/165] Compile Module.Core.4_of_6.cpp
[117/165] Compile InputCore.generated.cpp
[118/165] Compile Module.ImageWrapper.cpp
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Client/Debug/ImageWrapper/Module.ImageWrapper.cpp:9:
In file included from /home/a/UnrealEngine/Engine/Source/Developer/ImageWrapper/Private/JpegImageWrapper.cpp:14:
ThirdParty/libJPG/jpgd.cpp(569,51) :  error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                     ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,66) :  error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                    ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,81) :  error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                   ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,96) :  error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                  ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,111) :  error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                 ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,126) :  error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,141) :  error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                               ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,156) :  error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                                              ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,171) :  error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                                                             ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,186) :  error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                                                                            ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,202) :  error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                                                                                            ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,218) :  error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                                                                                                            ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,234) :  error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                                                                                                                            ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,250) :  error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                                                                                                                                            ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,266) :  error: shifting a negative signed value is undefined [-Werror,-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                                                                                                                                                            ~~~~^
[119/165] Compile Module.AutomationMessages.cpp
15 errors generated.
[120/165] Compile AutomationMessages.generated.cpp
[121/165] Compile Module.SessionMessages.cpp
[122/165] Compile SessionMessages.generated.cpp
[123/165] Compile EngineMessages.generated.cpp
[124/165] Compile Module.EngineMessages.cpp
[126/165] Compile ProfilerMessages.generated.cpp
[125/165] Compile Module.ProfilerMessages.cpp
[127/165] Compile Serialization.generated.cpp
[128/165] Compile CoreUObject.generated.cpp
[129/165] Compile Module.Core.3_of_6.cpp
[130/165] Compile Module.ShaderCore.cpp
[131/165] Compile Module.Navmesh.1_of_2.cpp
[132/165] Compile Module.Sockets.cpp
[133/165] Compile Module.Navmesh.2_of_2.cpp
[134/165] Compile Module.AnalyticsET.cpp
[135/165] Compile Module.Projects.cpp
[136/165] Compile Module.Networking.cpp
[137/165] Compile Module.RenderCore.cpp
[138/165] Compile Module.HTTP.cpp
[139/165] Compile Module.RHI.cpp
[140/165] Compile Module.NetworkFile.cpp
[141/165] Compile Module.SynthBenchmark.cpp
[142/165] Compile Module.NullDrv.cpp
[143/165] Compile Module.Core.5_of_6.cpp
[144/165] Compile Module.StreamingFile.cpp
[145/165] Compile Module.Json.cpp
[146/165] Compile Module.Voice.cpp
[147/165] Compile Module.PakFile.cpp
[148/165] Compile Module.Core.6_of_6.cpp
[149/165] Compile Module.Media.cpp
[150/165] Compile Module.Analytics.cpp
[151/165] Compile Module.DatabaseSupport.cpp
[152/165] Compile Module.Advertising.cpp
[153/165] Compile Module.SandboxFile.cpp
[154/165] Compile Module.ImageCore.cpp
[155/165] Compile Module.VectorVM.cpp
[156/165] Compile Module.UE4Game.cpp
[158/165] Compile UELinkerFixups.cpp
[157/165] Archive libUE4Client-CustomMeshComponent-Linux-Debug-Static.a
[159/165] Archive libUE4Client-SlateRemote-Linux-Debug-Static.a
[160/165] Archive libUE4Client-Paper2D-Linux-Debug-Static.a
[161/165] Archive libUE4Client-UdpMessaging-Linux-Debug-Static.a
[162/165] Archive libUE4Client-CableComponent-Linux-Debug-Static.a
[163/165] Archive libUE4Client-CharacterAI-Linux-Debug-Static.a
[164/165] Archive libUE4Client-ExampleDeviceProfileSelector-Linux-Debug-Static.a
-------- End Detailed Actions Stats -----------------------------------------------------------
Cumulative action seconds (8 processors): 0.00 building projects, 1858.06 compiling, 0.00 creating app bundles, 0.00 generating debug info, 4.90 linking, 0.00 other
UBT execution time: 247.98 seconds
Makefile:134: recipe for target 'UE4Client-Linux-Debug' failed
make: *** [UE4Client-Linux-Debug] Error 5

Apparently there is a problem with clang. I tried downgrading clang (“apt-get remove clang” and then “apt-get install clang-3.6” and “apt-get install clang+±3.6”), but I got the exact same errors I started with before I entered “apt-get install clang”, with ./Setup.sh.

This problem is referenced here:

And I have asked questions on those posts. They recommend either downgrading clang (doesn’t work for me, as I already explained, it just gives the original problem), or adding lines to a file, but I think the file was changed since that post, because it seems I would be interrupting “functions” (forgive me if I got the term wrong) by adding those lines after line 343 as recommended. I mean line 343 is an if statement, 344 is a bracket, and then line 348 is an “else if” statement. And the lines recommended to be added are a seemingly unrelated if statement.

The file recommended to be edited is called LinuxToolChain.cs. The text of that file is copied below:

// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.

using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Diagnostics;
using System.IO;
using Microsoft.Win32;

namespace UnrealBuildTool
{
    class LinuxToolChain : UEToolChain
    {
        protected static bool CrossCompiling()
        {
            return BuildHostPlatform.Current.Platform != UnrealTargetPlatform.Linux;
        }

        protected static bool UsingClang()
        {
            return !String.IsNullOrEmpty(ClangPath);
        }

        private string Which(string name)
        {
            Process proc = new Process();
            proc.StartInfo.FileName = "/bin/sh";
            proc.StartInfo.Arguments = String.Format("-c 'which {0}'", name);
            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.CreateNoWindow = true;
            proc.StartInfo.RedirectStandardOutput = true;
            proc.StartInfo.RedirectStandardError = true;

            proc.Start();
            proc.WaitForExit();

            string path = proc.StandardOutput.ReadLine();
            Log.TraceVerbose(String.Format("which {0} result: ({1}) {2}", name, proc.ExitCode, path));

            if (proc.ExitCode == 0 && String.IsNullOrEmpty(proc.StandardError.ReadToEnd()))
            {
                return path;
            }
            return null;
        }

		/** Splits compiler version string into numerical components, leaving unchanged if not known */
		private void DetermineCompilerMajMinPatchFromVersionString()
		{
			string[] Parts = CompilerVersionString.Split('.');
			if (Parts.Length >= 1)
			{
				CompilerVersionMajor = Convert.ToInt32(Parts[0]);
			}
			if (Parts.Length >= 2)
			{
				CompilerVersionMinor = Convert.ToInt32(Parts[1]);
			}
			if (Parts.Length >= 3)
			{
				CompilerVersionPatch = Convert.ToInt32(Parts[2]);
			}
		}

		/** Queries compiler for the version */
		private bool DetermineCompilerVersion()
		{
			CompilerVersionString = null;
			CompilerVersionMajor = -1;
			CompilerVersionMinor = -1;
			CompilerVersionPatch = -1;

			Process Proc = new Process();
			Proc.StartInfo.UseShellExecute = false;
			Proc.StartInfo.CreateNoWindow = true;
			Proc.StartInfo.RedirectStandardOutput = true;
			Proc.StartInfo.RedirectStandardError = true;

			if (!String.IsNullOrEmpty(GCCPath) && File.Exists(GCCPath))
			{
				Proc.StartInfo.FileName = GCCPath;
				Proc.StartInfo.Arguments = " -dumpversion";

				Proc.Start();
				Proc.WaitForExit();

				if (Proc.ExitCode == 0)
				{
					// read just the first string
					CompilerVersionString = Proc.StandardOutput.ReadLine();
					DetermineCompilerMajMinPatchFromVersionString();
				}
			}
			else if (!String.IsNullOrEmpty(ClangPath) && File.Exists(ClangPath))
			{
				Proc.StartInfo.FileName = ClangPath;
				Proc.StartInfo.Arguments = " --version";

				Proc.Start();
				Proc.WaitForExit();

				if (Proc.ExitCode == 0)
				{
					// read just the first string
					string VersionString = Proc.StandardOutput.ReadLine();

					Regex VersionPattern = new Regex("version \\d+(\\.\\d+)+");
					Match VersionMatch = VersionPattern.Match(VersionString);

					// version match will be like "version 3.3", so remove the "version"
					if (VersionMatch.Value.StartsWith("version "))
					{
						CompilerVersionString = VersionMatch.Value.Replace("version ", "");

						DetermineCompilerMajMinPatchFromVersionString();
					}
				}
			}
			else
			{
				// icl?
			}

			if (!CrossCompiling())
			{
				Console.WriteLine("Using {0} version '{1}' (string), {2} (major), {3} (minor), {4} (patch)",
					String.IsNullOrEmpty(ClangPath) ? "gcc" : "clang",
					CompilerVersionString, CompilerVersionMajor, CompilerVersionMinor, CompilerVersionPatch);
			}
			return !String.IsNullOrEmpty(CompilerVersionString);
		}

        public override void RegisterToolChain()
        {
            if (!CrossCompiling())
            {
                // use native linux toolchain
                string[] ClangNames = { "clang++", "clang++-3.5", "clang++-3.3" };
                foreach (var ClangName in ClangNames)
                {
					ClangPath = Which(ClangName);
					if (!String.IsNullOrEmpty(ClangPath))
					{
						break;
					}
				}
                GCCPath = Which("g++");
                ArPath = Which("ar");
                RanlibPath = Which("ranlib");

				// if clang is available, zero out gcc (@todo: support runtime switching?)
				if (!String.IsNullOrEmpty(ClangPath))
				{
					GCCPath = null;
				}
            }
            else
            {
                // use cross linux toolchain if LINUX_ROOT is specified
                BaseLinuxPath = Environment.GetEnvironmentVariable("LINUX_ROOT");

                // don't register if we don't have an LINUX_ROOT specified
                if (String.IsNullOrEmpty(BaseLinuxPath))
                    return;

                BaseLinuxPath = BaseLinuxPath.Replace("\"", "");

                // set up the path to our toolchains
                GCCPath = "";
                ClangPath = Path.Combine(BaseLinuxPath, @"bin\clang++.exe");
				// ar and ranlib will be switched later to match the architecture
				ArPath = "ar.exe";
				RanlibPath = "ranlib.exe";
			}

			if (!DetermineCompilerVersion())
			{
				Console.WriteLine("\n*** Could not determine version of the compiler, not registering Linux toolchain.\n");
				return;
			}

			// refuse to use compilers that we know won't work
			// disable that only if you are a dev and you know what you are doing
			if (!UsingClang())
			{
				Console.WriteLine("\n*** This version of the engine can only be compiled by clang - refusing to register the Linux toolchain.\n");
				return;
			}
			else if (CompilerVersionMajor == 3 && CompilerVersionMinor == 4)
			{
				Console.WriteLine("\n*** clang 3.4.x is known to miscompile the engine - refusing to register the Linux toolchain.\n");
				return;
			}

            // Register this tool chain for both Linux
            if (BuildConfiguration.bPrintDebugInfo)
            {
                Console.WriteLine("        Registered for {0}", CPPTargetPlatform.Linux.ToString());
            }
            UEToolChain.RegisterPlatformToolChain(CPPTargetPlatform.Linux, this);
        }

		/** Checks if compiler version matches the requirements */
		private static bool CompilerVersionGreaterOrEqual(int Major, int Minor, int Patch)
		{
			return CompilerVersionMajor > Major ||
				(CompilerVersionMajor == Major && CompilerVersionMinor > Minor) ||
				(CompilerVersionMajor == Major && CompilerVersionMinor == Minor && CompilerVersionPatch >= Patch);
		}

		/** Architecture-specific compiler switches */
		static string ArchitectureSpecificSwitches(string Architecture)
		{
			string Result = "";

			if (Architecture.StartsWith("x86_64"))
			{
				Result += " -mmmx -msse -msse2";
			}
			else if (Architecture.StartsWith("arm"))
			{
				Result += " -fsigned-char";

				// FreeType2's ftconfig.h will trigger this
				Result += " -Wno-deprecated-register";
			}

			return Result;
		}

		static string ArchitectureSpecificDefines(string Architecture)
		{
			string Result = "";

			if (Architecture.StartsWith("x86_64"))
			{
				Result += " -D_LINUX64";
			}

			return Result;
		}

		/** Gets architecture-specific ar paths */
		private static string GetArPath(string Architecture)
		{
			if (CrossCompiling())
			{
				return Path.Combine(Path.Combine(BaseLinuxPath, String.Format("bin/{0}-{1}", Architecture, ArPath)));
			}

			return ArPath;
		}

		/** Gets architecture-specific ranlib paths */
		private static string GetRanlibPath(string Architecture)
		{
			if (CrossCompiling())
			{
				return Path.Combine(Path.Combine(BaseLinuxPath, String.Format("bin/{0}-{1}", Architecture, RanlibPath)));
			}

			return RanlibPath;
		}

		static string GetCLArguments_Global(CPPEnvironment CompileEnvironment)
        {
            string Result = "";

            // build up the commandline common to C and C++
            Result += " -c";
            Result += " -pipe";

            if (CrossCompiling())
            {
                // There are exceptions used in the code base (e.g. UnrealHeadTool).  @todo: weed out exceptions
                // So this flag cannot be used, at least not for native Linux builds.
                Result += " -fno-exceptions";               // no exceptions
                Result += " -DPLATFORM_EXCEPTIONS_DISABLED=1";
            }
            else
            {
                Result += " -DPLATFORM_EXCEPTIONS_DISABLED=0";
            }

            Result += " -Wall -Werror";
            // test without this next line?
            Result += " -funwind-tables";               // generate unwind tables as they seem to be needed for stack tracing (why??)
            Result += " -Wsequence-point";              // additional warning not normally included in Wall: warns if order of operations is ambigious
            //Result += " -Wunreachable-code";            // additional warning not normally included in Wall: warns if there is code that will never be executed - not helpful due to bIsGCC and similar 
            //Result += " -Wshadow";                      // additional warning not normally included in Wall: warns if there variable/typedef shadows some other variable - not helpful because we have gobs of code that shadows variables

			Result += ArchitectureSpecificSwitches(CompileEnvironment.Config.Target.Architecture);

			Result += " -fno-math-errno";               // do not assume that math ops have side effects
            Result += " -fno-rtti";                     // no run-time type info

            if (String.IsNullOrEmpty(ClangPath))
            {
                // GCC only option
                Result += " -fno-strict-aliasing";
                Result += " -Wno-sign-compare"; // needed to suppress: comparison between signed and unsigned integer expressions
                Result += " -Wno-enum-compare"; // Stats2.h triggers this (ALIGNOF(int64) <= DATA_ALIGN)
                Result += " -Wno-return-type"; // Variant.h triggers this
                Result += " -Wno-unused-local-typedefs";
                Result += " -Wno-multichar";
                Result += " -Wno-unused-but-set-variable";
                Result += " -Wno-strict-overflow"; // Array.h:518
            }
            else
            {
                // Clang only options
                Result += " -fdiagnostics-format=msvc";     // make diagnostics compatible with MSVC
                Result += " -Wno-unused-private-field";     // MultichannelTcpSocket.h triggers this, possibly more
                // this hides the "warning : comparison of unsigned expression < 0 is always false" type warnings due to constant comparisons, which are possible with template arguments
                Result += " -Wno-tautological-compare";

				// this switch is understood by clang 3.5.0, but not clang-3.5 as packaged by Ubuntu 14.04 atm
				if (CompilerVersionGreaterOrEqual(3, 5, 0))
				{
					Result += " -Wno-undefined-bool-conversion";	// hides checking if 'this' pointer is null
				}

                // Suppress clang 3.6.0 warnings
                if (CompilerVersionGreaterOrEqual(3, 6, 0))
                {
                    Result += " -Wno-inconsistent-missing-override";
                    Result += " -Wno-unused-local-typedef";
                    Result += " -Wno-null-conversion";
                }
            }

            Result += " -Wno-unused-variable";
            // this will hide the warnings about static functions in headers that aren't used in every single .cpp file
            Result += " -Wno-unused-function";
            // this hides the "enumeration value 'XXXXX' not handled in switch [-Wswitch]" warnings - we should maybe remove this at some point and add UE_LOG(, Fatal, ) to default cases
            Result += " -Wno-switch";
            Result += " -Wno-unknown-pragmas";			// Slate triggers this (with its optimize on/off pragmas)
			Result += " -Wno-invalid-offsetof"; // needed to suppress warnings about using offsetof on non-POD types.

            //Result += " -DOPERATOR_NEW_INLINE=FORCENOINLINE";

            // shipping builds will cause this warning with "ensure", so disable only in those case
            if (CompileEnvironment.Config.Target.Configuration == CPPTargetConfiguration.Shipping)

            {
                Result += " -Wno-unused-value";

                // in shipping, strip as much info as possible
                Result += " -g0";
                Result += " -fomit-frame-pointer";
                Result += " -fvisibility=hidden";           // prevents from exporting all symbols (reduces the size of the binary)
            }
            else if (CompileEnvironment.Config.Target.Configuration == CPPTargetConfiguration.Debug)
            {
                Result += " -fno-inline";                   // disable inlining for better debuggability (e.g. callstacks, "skip file" in gdb)
            }

            // debug info (bCreateDebugInfo is normally set for all configurations, and we don't want it to affect Development/Shipping performance)
            if (CompileEnvironment.Config.bCreateDebugInfo && CompileEnvironment.Config.Target.Configuration == CPPTargetConfiguration.Debug)
            {
                Result += " -g3";
                Result += " -fno-omit-frame-pointer";
                Result += " -funwind-tables";               // generate unwind tables as they seem to be needed for stack tracing
                Result += " -fstack-protector";
                //Result += " -fsanitize=address";  // Preferred clang tool for detecting address based errors but unusable for some reason with Module.Engine.7_of_42.cpp
            }
            else if (CompileEnvironment.Config.Target.Configuration < CPPTargetConfiguration.Shipping)
            {
                Result += " -gline-tables-only"; // include debug info for meaningful callstacks
            }

            // optimization level
            if (CompileEnvironment.Config.Target.Configuration == CPPTargetConfiguration.Debug)
            {
                Result += " -O0";
            }
            else
            {
                Result += " -O2";	// warning: as of now (2014-09-28), clang 3.5.0 miscompiles PlatformerGame with -O3 (bitfields?)
            }

            if (CompileEnvironment.Config.bIsBuildingDLL)
            {
                Result += " -fPIC";
            }

            //Result += " -v";                            // for better error diagnosis

			Result += ArchitectureSpecificDefines(CompileEnvironment.Config.Target.Architecture);
			if (CrossCompiling())
            {
                if (UsingClang())
                {
                    Result += String.Format(" -target {0}", CompileEnvironment.Config.Target.Architecture);        // Set target triple
                }
                Result += String.Format(" --sysroot=\"{0}\"", BaseLinuxPath);
            }

            return Result;
        }

        static string GetCompileArguments_CPP()
        {
            string Result = "";
            Result += " -x c++";
            Result += " -std=c++11";
            return Result;
        }

        static string GetCompileArguments_C()
        {
            string Result = "";
            Result += " -x c";
            return Result;
        }

        static string GetCompileArguments_MM()
        {
            string Result = "";
            Result += " -x objective-c++";
            Result += " -fobjc-abi-version=2";
            Result += " -fobjc-legacy-dispatch";
            Result += " -fno-rtti";
            Result += " -std=c++11";
            return Result;
        }

        static string GetCompileArguments_M()
        {
            string Result = "";
            Result += " -x objective-c";
            Result += " -fobjc-abi-version=2";
            Result += " -fobjc-legacy-dispatch";
            Result += " -std=c++11";
            return Result;
        }

        static string GetCompileArguments_PCH()
        {
            string Result = "";
            Result += " -x c++-header";
            Result += " -std=c++11";
            return Result;
        }

        static string GetLinkArguments(LinkEnvironment LinkEnvironment)
        {
            string Result = "";

            // debugging symbols
            if (LinkEnvironment.Config.Target.Configuration < CPPTargetConfiguration.Shipping)
            {
                Result += " -rdynamic";   // needed for backtrace_symbols()...
            }
            else
            {
                Result += " -s"; // Strip binaries in Shipping
            }
            if (LinkEnvironment.Config.bIsBuildingDLL)
            {
                Result += " -shared";
            }
            else
            {
                // ignore unresolved symbols in shared libs
                Result += string.Format(" -Wl,--unresolved-symbols=ignore-in-shared-libs");
            }

            if (UnrealBuildTool.BuildingRocket())
            {
                // strip symbols for Rocket in every configuration
                Result += " -Wl,-s";
            }

            // RPATH for third party libs
            Result += " -Wl,-rpath=${ORIGIN}";
            Result += " -Wl,-rpath-link=${ORIGIN}";
            Result += " -Wl,-rpath=${ORIGIN}/../../../Engine/Binaries/Linux";
			Result += " -Wl,-rpath=${ORIGIN}/..";	// for modules that are in sub-folders of the main Engine/Binary/Linux folder
			// FIXME: really ugly temp solution. Modules need to be able to specify this
            Result += " -Wl,-rpath=${ORIGIN}/../../../Engine/Binaries/ThirdParty/ICU/icu4c-53_1/Linux/x86_64-unknown-linux-gnu";

            if (CrossCompiling())
            {
                if (UsingClang())
                {
                    Result += String.Format(" -target {0}", LinkEnvironment.Config.Target.Architecture);        // Set target triple
                }
                string SysRootPath = BaseLinuxPath.TrimEnd(new char[] { '\\', '/' });
                Result += String.Format(" \"--sysroot={0}\"", SysRootPath);
            }

            return Result;
        }

		static string GetArchiveArguments(LinkEnvironment LinkEnvironment)
		{
			return " rc";
		}

        public static void CompileOutputReceivedDataEventHandler(Object Sender, DataReceivedEventArgs e)
        {
            string Output = e.Data;
            if (String.IsNullOrEmpty(Output))
            {
                return;
            }

            // Need to match following for clickable links
            string RegexFilePath = @"^[A-Z]\:([\\\/][A-Za-z0-9_\-\.]*)+\.(cpp|c|mm|m|hpp|h)";
            string RegexLineNumber = @"\:\d+\:\d+\:";
            string RegexDescription = @"(\serror:\s|\swarning:\s|\snote:\s).*";

            // Get Matches
            string MatchFilePath = Regex.Match(Output, RegexFilePath).Value.Replace("Engine\\Source\\..\\..\\", "");
            string MatchLineNumber = Regex.Match(Output, RegexLineNumber).Value;
            string MatchDescription = Regex.Match(Output, RegexDescription).Value;

            // If any of the above matches failed, do nothing
            if (MatchFilePath.Length == 0 ||
                MatchLineNumber.Length == 0 ||
                MatchDescription.Length == 0)
            {
                Console.WriteLine(Output);
                return;
            }

            // Convert Path
            string RegexStrippedPath = @"\\Engine\\.*"; //@"(Engine\/|[A-Za-z0-9_\-\.]*\/).*";
            string ConvertedFilePath = Regex.Match(MatchFilePath, RegexStrippedPath).Value;
            ConvertedFilePath = Path.GetFullPath("..\\.." + ConvertedFilePath);

            // Extract Line + Column Number
            string ConvertedLineNumber = Regex.Match(MatchLineNumber, @"\d+").Value;
            string ConvertedColumnNumber = Regex.Match(MatchLineNumber, @"(?<=:\d+:)\d+").Value;

            // Write output
            string ConvertedExpression = "  " + ConvertedFilePath + "(" + ConvertedLineNumber + "," + ConvertedColumnNumber + "):" + MatchDescription;
            Console.WriteLine(ConvertedExpression); // To create clickable vs link
        }

        // cache the location of NDK tools
        static string BaseLinuxPath;
        static string ClangPath;
        static string GCCPath;
        static string ArPath;
        static string RanlibPath;

		/** Version string of the current compiler, whether clang or gcc or whatever */
		static string CompilerVersionString;
		/** Major version of the current compiler, whether clang or gcc or whatever */
		static int CompilerVersionMajor = -1;
		/** Minor version of the current compiler, whether clang or gcc or whatever */
		static int CompilerVersionMinor = -1;
		/** Patch version of the current compiler, whether clang or gcc or whatever */
		static int CompilerVersionPatch = -1;

		/** Track which scripts need to be deleted before appending to */
		private bool bHasWipedFixDepsScript = false;

		private static List<FileItem> BundleDependencies = new List<FileItem>();

        public override CPPOutput CompileCPPFiles(UEBuildTarget Target, CPPEnvironment CompileEnvironment, List<FileItem> SourceFiles, string ModuleName)
        {
            string Arguments = GetCLArguments_Global(CompileEnvironment);
            string PCHArguments = "";

            if (CompileEnvironment.Config.PrecompiledHeaderAction == PrecompiledHeaderAction.Include)
            {
                // Add the precompiled header file's path to the include path so Clang can find it.
                // This needs to be before the other include paths to ensure Clang uses it instead of the source header file.
				var PrecompiledFileExtension = UEBuildPlatform.BuildPlatformDictionary[UnrealTargetPlatform.Linux].GetBinaryExtension(UEBuildBinaryType.PrecompiledHeader);
                PCHArguments += string.Format(" -include \"{0}\"", CompileEnvironment.PrecompiledHeaderFile.AbsolutePath.Replace(PrecompiledFileExtension, ""));
            }

            // Add include paths to the argument list.
            foreach (string IncludePath in CompileEnvironment.Config.CPPIncludeInfo.IncludePaths)
            {
                Arguments += string.Format(" -I\"{0}\"", IncludePath);
            }
            foreach (string IncludePath in CompileEnvironment.Config.CPPIncludeInfo.SystemIncludePaths)
            {
                Arguments += string.Format(" -I\"{0}\"", IncludePath);
            }

            // Add preprocessor definitions to the argument list.
            foreach (string Definition in CompileEnvironment.Config.Definitions)
            {
                Arguments += string.Format(" -D \"{0}\"", Definition);
            }

			var BuildPlatform = UEBuildPlatform.GetBuildPlatformForCPPTargetPlatform(CompileEnvironment.Config.Target.Platform);

            // Create a compile action for each source file.
            CPPOutput Result = new CPPOutput();
            foreach (FileItem SourceFile in SourceFiles)
            {
                Action CompileAction = new Action(ActionType.Compile);
                string FileArguments = "";
                string Extension = Path.GetExtension(SourceFile.AbsolutePath).ToUpperInvariant();

                // Add C or C++ specific compiler arguments.
                if (CompileEnvironment.Config.PrecompiledHeaderAction == PrecompiledHeaderAction.Create)
                {
                    FileArguments += GetCompileArguments_PCH();
                }
                else if (Extension == ".C")
                {
                    // Compile the file as C code.
                    FileArguments += GetCompileArguments_C();
                }
                else if (Extension == ".CC")
                {
                    // Compile the file as C++ code.
                    FileArguments += GetCompileArguments_CPP();
                }
                else if (Extension == ".MM")
                {
                    // Compile the file as Objective-C++ code.
                    FileArguments += GetCompileArguments_MM();
                }
                else if (Extension == ".M")
                {
                    // Compile the file as Objective-C code.
                    FileArguments += GetCompileArguments_M();
                }
                else
                {
                    FileArguments += GetCompileArguments_CPP();

                    // only use PCH for .cpp files
                    FileArguments += PCHArguments;
                }

				// Add the C++ source file and its included files to the prerequisite item list.
				AddPrerequisiteSourceFile( Target, BuildPlatform, CompileEnvironment, SourceFile, CompileAction.PrerequisiteItems );

                if (CompileEnvironment.Config.PrecompiledHeaderAction == PrecompiledHeaderAction.Create)
                {
					var PrecompiledFileExtension = UEBuildPlatform.BuildPlatformDictionary[UnrealTargetPlatform.Linux].GetBinaryExtension(UEBuildBinaryType.PrecompiledHeader);
                    // Add the precompiled header file to the produced item list.
                    FileItem PrecompiledHeaderFile = FileItem.GetItemByPath(
                        Path.Combine(
                            CompileEnvironment.Config.OutputDirectory,
                            Path.GetFileName(SourceFile.AbsolutePath) + PrecompiledFileExtension
                            )
                        );

                    CompileAction.ProducedItems.Add(PrecompiledHeaderFile);
                    Result.PrecompiledHeaderFile = PrecompiledHeaderFile;

                    // Add the parameters needed to compile the precompiled header file to the command-line.
                    FileArguments += string.Format(" -o \"{0}\"", PrecompiledHeaderFile.AbsolutePath, false);
                }
                else
                {
                    if (CompileEnvironment.Config.PrecompiledHeaderAction == PrecompiledHeaderAction.Include)
                    {
                        CompileAction.bIsUsingPCH = true;
                        CompileAction.PrerequisiteItems.Add(CompileEnvironment.PrecompiledHeaderFile);
                    }

					var ObjectFileExtension = UEBuildPlatform.BuildPlatformDictionary[UnrealTargetPlatform.Linux].GetBinaryExtension(UEBuildBinaryType.Object);
                    // Add the object file to the produced item list.
                    FileItem ObjectFile = FileItem.GetItemByPath(
                        Path.Combine(
                            CompileEnvironment.Config.OutputDirectory,
                            Path.GetFileName(SourceFile.AbsolutePath) + ObjectFileExtension
                            )
                        );
                    CompileAction.ProducedItems.Add(ObjectFile);
                    Result.ObjectFiles.Add(ObjectFile);

                    FileArguments += string.Format(" -o \"{0}\"", ObjectFile.AbsolutePath, false);
                }

                // Add the source file path to the command-line.
                FileArguments += string.Format(" \"{0}\"", SourceFile.AbsolutePath);

                CompileAction.WorkingDirectory = Path.GetFullPath(".");
                if (!UsingClang())
                {
                    CompileAction.CommandPath = GCCPath;
                }
                else
                {
                    CompileAction.CommandPath = ClangPath;
                }
                CompileAction.CommandArguments = Arguments + FileArguments + CompileEnvironment.Config.AdditionalArguments;
                CompileAction.CommandDescription = "Compile";
                CompileAction.StatusDescription = Path.GetFileName(SourceFile.AbsolutePath);
                CompileAction.bIsGCCCompiler = true;

                // Don't farm out creation of pre-compiled headers as it is the critical path task.
                CompileAction.bCanExecuteRemotely =
                    CompileEnvironment.Config.PrecompiledHeaderAction != PrecompiledHeaderAction.Create ||
                    BuildConfiguration.bAllowRemotelyCompiledPCHs;

                CompileAction.OutputEventHandler = new DataReceivedEventHandler(CompileOutputReceivedDataEventHandler);
            }

            return Result;
        }

        /** Creates an action to archive all the .o files into single .a file */
        public FileItem CreateArchiveAndIndex(LinkEnvironment LinkEnvironment)
        {
            // Create an archive action
            Action ArchiveAction = new Action(ActionType.Link);
            ArchiveAction.WorkingDirectory = Path.GetFullPath(".");
            bool bUsingSh = BuildHostPlatform.Current.Platform != UnrealTargetPlatform.Win64 && BuildHostPlatform.Current.Platform != UnrealTargetPlatform.Win32;
            if (bUsingSh)
            {
                ArchiveAction.CommandPath = "/bin/sh";
                ArchiveAction.CommandArguments = "-c '";
            }
            else
            {
                ArchiveAction.CommandPath = "cmd.exe";
                ArchiveAction.CommandArguments = "/c \"";
            }

            // this will produce a final library
            ArchiveAction.bProducesImportLibrary = true;

            // Add the output file as a production of the link action.
            FileItem OutputFile = FileItem.GetItemByPath(LinkEnvironment.Config.OutputFilePath);
            ArchiveAction.ProducedItems.Add(OutputFile);
            ArchiveAction.CommandDescription = "Archive";
            ArchiveAction.StatusDescription = Path.GetFileName(OutputFile.AbsolutePath);
            ArchiveAction.CommandArguments += string.Format("\"{0}\" {1} \"{2}\"",  GetArPath(LinkEnvironment.Config.Target.Architecture), GetArchiveArguments(LinkEnvironment), OutputFile.AbsolutePath);

            // Add the input files to a response file, and pass the response file on the command-line.
            List<string> InputFileNames = new List<string>();
            foreach (FileItem InputFile in LinkEnvironment.InputFiles)
            {
                string InputAbsolutePath = InputFile.AbsolutePath.Replace("\\", "/");
                InputFileNames.Add(string.Format("\"{0}\"", InputAbsolutePath));
                ArchiveAction.PrerequisiteItems.Add(InputFile);
                ArchiveAction.CommandArguments += string.Format(" \"{0}\"", InputAbsolutePath);
            }

            // add ranlib
            ArchiveAction.CommandArguments += string.Format(" && \"{0}\" \"{1}\"", GetRanlibPath(LinkEnvironment.Config.Target.Architecture), OutputFile.AbsolutePath);

            // Add the additional arguments specified by the environment.
            ArchiveAction.CommandArguments += LinkEnvironment.Config.AdditionalArguments;
            ArchiveAction.CommandArguments.Replace("\\", "/");

            if (bUsingSh)
            {
                ArchiveAction.CommandArguments += "'";
            }
			else
			{
				ArchiveAction.CommandArguments += "\"";
			}

            // Only execute linking on the local PC.
            ArchiveAction.bCanExecuteRemotely = false;

            return OutputFile;
        }

		public FileItem FixDependencies(LinkEnvironment LinkEnvironment, FileItem Executable)
		{
			if (!LinkEnvironment.Config.bIsCrossReferenced)
			{
				return null;
			}

			Log.TraceVerbose("Adding postlink step");

            bool bUseCmdExe = BuildHostPlatform.Current.Platform == UnrealTargetPlatform.Win64 || BuildHostPlatform.Current.Platform == UnrealTargetPlatform.Win32;
            string ShellBinary = bUseCmdExe ? "cmd.exe" : "/bin/sh";
            string ExecuteSwitch = bUseCmdExe ? " /C" : ""; // avoid -c so scripts don't need +x
            string ScriptName = bUseCmdExe ? "FixDependencies.bat" : "FixDependencies.sh";

            FileItem FixDepsScript = FileItem.GetItemByFullPath(Path.Combine(LinkEnvironment.Config.LocalShadowDirectory, ScriptName));

			Action PostLinkAction = new Action(ActionType.Link);
			PostLinkAction.WorkingDirectory = Path.GetFullPath(".");
            PostLinkAction.CommandPath = ShellBinary;
			PostLinkAction.StatusDescription = string.Format("{0}", Path.GetFileName(Executable.AbsolutePath));
			PostLinkAction.CommandDescription = "FixDeps";
			PostLinkAction.bCanExecuteRemotely = false;
            PostLinkAction.CommandArguments = ExecuteSwitch;
            
            PostLinkAction.CommandArguments += bUseCmdExe ? " \"" : " -c '";

			FileItem OutputFile = FileItem.GetItemByPath(Path.Combine(LinkEnvironment.Config.LocalShadowDirectory, Path.GetFileNameWithoutExtension(Executable.AbsolutePath) + ".link"));

			// Make sure we don't run this script until the all executables and shared libraries
			// have been built.
			PostLinkAction.PrerequisiteItems.Add(Executable);
			foreach (FileItem Dependency in BundleDependencies)
			{
				PostLinkAction.PrerequisiteItems.Add(Dependency);
			}

			PostLinkAction.CommandArguments += ShellBinary + ExecuteSwitch + " \"" + FixDepsScript.AbsolutePath + "\" && ";

            string Touch = bUseCmdExe ? "echo \"\" >> \"{0}\" && copy /b \"{0}\" +,," : "touch \"{0}\"";

            PostLinkAction.CommandArguments += String.Format(Touch, OutputFile.AbsolutePath);
			PostLinkAction.CommandArguments += bUseCmdExe ? "\"" : "'";

			System.Console.WriteLine("{0} {1}", PostLinkAction.CommandPath, PostLinkAction.CommandArguments);
			
			PostLinkAction.ProducedItems.Add(OutputFile);
			return OutputFile;
		}


        public override FileItem LinkFiles(LinkEnvironment LinkEnvironment, bool bBuildImportLibraryOnly)
        {
            Debug.Assert(!bBuildImportLibraryOnly);

            List<string> RPaths = new List<string>();

            if (LinkEnvironment.Config.bIsBuildingLibrary || bBuildImportLibraryOnly)
            {
                return CreateArchiveAndIndex(LinkEnvironment);
            }

            // Create an action that invokes the linker.
            Action LinkAction = new Action(ActionType.Link);
            LinkAction.WorkingDirectory = Path.GetFullPath(".");
            if (String.IsNullOrEmpty(ClangPath))
            {
                LinkAction.CommandPath = GCCPath;
            }
            else
            {
                LinkAction.CommandPath = ClangPath;
            }

            // Get link arguments.
            LinkAction.CommandArguments = GetLinkArguments(LinkEnvironment);

            // Tell the action that we're building an import library here and it should conditionally be
            // ignored as a prerequisite for other actions
            LinkAction.bProducesImportLibrary = LinkEnvironment.Config.bIsBuildingDLL;

            // Add the output file as a production of the link action.
            FileItem OutputFile = FileItem.GetItemByPath(LinkEnvironment.Config.OutputFilePath);
            OutputFile.bNeedsHotReloadNumbersDLLCleanUp = LinkEnvironment.Config.bIsBuildingDLL;
            LinkAction.ProducedItems.Add(OutputFile);
            LinkAction.CommandDescription = "Link";
            LinkAction.StatusDescription = Path.GetFileName(OutputFile.AbsolutePath);

            // Add the output file to the command-line.
            LinkAction.CommandArguments += string.Format(" -o \"{0}\"", OutputFile.AbsolutePath);

            // Add the input files to a response file, and pass the response file on the command-line.
            List<string> InputFileNames = new List<string>();
            foreach (FileItem InputFile in LinkEnvironment.InputFiles)
            {
                InputFileNames.Add(string.Format("\"{0}\"", InputFile.AbsolutePath.Replace("\\", "/")));
                LinkAction.PrerequisiteItems.Add(InputFile);
            }

            string ResponseFileName = GetResponseFileName(LinkEnvironment, OutputFile);
            LinkAction.CommandArguments += string.Format(" -Wl,@\"{0}\"", ResponseFile.Create(ResponseFileName, InputFileNames));

            if (LinkEnvironment.Config.bIsBuildingDLL)
            {
	            LinkAction.CommandArguments += string.Format(" -Wl,-soname={0}", OutputFile);
            }

            // Start with the configured LibraryPaths and also add paths to any libraries that
            // we depend on (libraries that we've build ourselves).
            List<string> AllLibraryPaths = LinkEnvironment.Config.LibraryPaths;
            foreach (string AdditionalLibrary in LinkEnvironment.Config.AdditionalLibraries)
            {
                string PathToLib = Path.GetDirectoryName(AdditionalLibrary);
                if (!String.IsNullOrEmpty(PathToLib)) 
                {
                    // make path absolute, because FixDependencies script may be executed in a different directory
                    string AbsolutePathToLib = Path.GetFullPath(PathToLib);
                    if (!AllLibraryPaths.Contains(AbsolutePathToLib))
                    {
                        AllLibraryPaths.Add(AbsolutePathToLib);
                    }
                }

                if ((AdditionalLibrary.Contains("Plugins") || AdditionalLibrary.Contains("Binaries/ThirdParty") || AdditionalLibrary.Contains("Binaries\\ThirdParty")) && Path.GetDirectoryName(AdditionalLibrary) != Path.GetDirectoryName(OutputFile.AbsolutePath))
                {
                    string RelativePath = Utils.MakePathRelativeTo(Path.GetDirectoryName(AdditionalLibrary), Path.GetDirectoryName(OutputFile.AbsolutePath));
                    if (!RPaths.Contains(RelativePath))
                    {
                        RPaths.Add(RelativePath);
                        LinkAction.CommandArguments += string.Format(" -Wl,-rpath=\"${{ORIGIN}}/{0}\"", RelativePath);
                    }
                }
            }

            LinkAction.CommandArguments += string.Format(" -Wl,-rpath-link=\"{0}\"", Path.GetDirectoryName(OutputFile.AbsolutePath));

			// Add the library paths to the argument list.
			foreach (string LibraryPath in AllLibraryPaths)
			{
                // use absolute paths because of FixDependencies script again
				LinkAction.CommandArguments += string.Format(" -L\"{0}\"", Path.GetFullPath(LibraryPath));
			}

			// add libraries in a library group
            LinkAction.CommandArguments += string.Format(" -Wl,--start-group");

            List<string> EngineAndGameLibraries = new List<string>();
            foreach (string AdditionalLibrary in LinkEnvironment.Config.AdditionalLibraries)
            {
                if (String.IsNullOrEmpty(Path.GetDirectoryName(AdditionalLibrary)))
                {
                    // library was passed just like "jemalloc", turn it into -ljemalloc
                    LinkAction.CommandArguments += string.Format(" -l{0}", AdditionalLibrary);
                }
                else if (Path.GetExtension(AdditionalLibrary) == ".a")
                {
                    // static library passed in, pass it along but make path absolute, because FixDependencies script may be executed in a different directory
                    string AbsoluteAdditionalLibrary = Path.GetFullPath(AdditionalLibrary);
					if (AbsoluteAdditionalLibrary.Contains(" "))
					{
						AbsoluteAdditionalLibrary = string.Format("\"{0}\"", AbsoluteAdditionalLibrary);
					}
                    LinkAction.CommandArguments += (" " + AbsoluteAdditionalLibrary);
                    LinkAction.PrerequisiteItems.Add(FileItem.GetItemByPath(AdditionalLibrary));
                }
                else
                {
                    // Skip over full-pathed library dependencies when building DLLs to avoid circular
                    // dependencies.
                    FileItem LibraryDependency = FileItem.GetItemByPath(AdditionalLibrary);

                    var LibName = Path.GetFileNameWithoutExtension(AdditionalLibrary);
                    if (LibName.StartsWith("lib"))
                    {
                        // Remove lib prefix
                        LibName = LibName.Remove(0, 3);
                    }
                    string LibLinkFlag = string.Format(" -l{0}", LibName);

                    if (LinkEnvironment.Config.bIsBuildingDLL && LinkEnvironment.Config.bIsCrossReferenced)
                    {
                        // We are building a cross referenced DLL so we can't actually include
                        // dependencies at this point. Instead we add it to the list of
                        // libraries to be used in the FixDependencies step.
                        EngineAndGameLibraries.Add(LibLinkFlag);
                        if (!LinkAction.CommandArguments.Contains("--allow-shlib-undefined"))
                        {
                            LinkAction.CommandArguments += string.Format(" -Wl,--allow-shlib-undefined");
                        }
                    }
                    else
                    {
                        LinkAction.PrerequisiteItems.Add(LibraryDependency);
                        LinkAction.CommandArguments += LibLinkFlag;
                    }
                }
            }
            LinkAction.CommandArguments += " -lrt"; // needed for clock_gettime()
            LinkAction.CommandArguments += " -lm"; // math
            LinkAction.CommandArguments += string.Format(" -Wl,--end-group");

            // Add the additional arguments specified by the environment.
            LinkAction.CommandArguments += LinkEnvironment.Config.AdditionalArguments;
            LinkAction.CommandArguments = LinkAction.CommandArguments.Replace("\\\\", "/");
            LinkAction.CommandArguments = LinkAction.CommandArguments.Replace("\\", "/");

            // prepare a linker script
            string LinkerScriptPath = Path.Combine(LinkEnvironment.Config.LocalShadowDirectory, "remove-sym.ldscript");
            if (!Directory.Exists(LinkEnvironment.Config.LocalShadowDirectory))
            {
                Directory.CreateDirectory(LinkEnvironment.Config.LocalShadowDirectory);
            }
            if (File.Exists(LinkerScriptPath))
            {
                File.Delete(LinkerScriptPath);
            }

            using (StreamWriter Writer = File.CreateText(LinkerScriptPath))
            {
                Writer.WriteLine("UE4 {");
                Writer.WriteLine("  global: *;");
                Writer.WriteLine("  local: _Znwm;");
                Writer.WriteLine("         _Znam;");
                Writer.WriteLine("         _ZdaPv;");
                Writer.WriteLine("         _ZdlPv;");
                Writer.WriteLine("};");
            };

            LinkAction.CommandArguments += string.Format(" -Wl,--version-script=\"{0}\"", LinkerScriptPath);

            // Only execute linking on the local PC.
            LinkAction.bCanExecuteRemotely = false;

			// Prepare a script that will run later, once all shared libraries and the executable
			// are created. This script will be called by action created in FixDependencies()
			if (LinkEnvironment.Config.bIsCrossReferenced && LinkEnvironment.Config.bIsBuildingDLL)
			{
                bool bUseCmdExe = BuildHostPlatform.Current.Platform == UnrealTargetPlatform.Win64 || BuildHostPlatform.Current.Platform == UnrealTargetPlatform.Win32;
                string ScriptName = bUseCmdExe ? "FixDependencies.bat" : "FixDependencies.sh";

				string FixDepsScriptPath = Path.Combine(LinkEnvironment.Config.LocalShadowDirectory, ScriptName);
				if (!bHasWipedFixDepsScript)
				{
					bHasWipedFixDepsScript = true;
					Log.TraceVerbose("Creating script: {0}", FixDepsScriptPath);
					StreamWriter Writer = File.CreateText(FixDepsScriptPath);

                    if (bUseCmdExe)
                    {
						Writer.Write("@echo off\n");
						Writer.Write("rem Automatically generated by UnrealBuildTool\n");
					    Writer.Write("rem *DO NOT EDIT*\n\n");
                    }
                    else
                    {
					    Writer.Write("#!/bin/sh\n");
					    Writer.Write("# Automatically generated by UnrealBuildTool\n");
					    Writer.Write("# *DO NOT EDIT*\n\n");
					    Writer.Write("set -o errexit\n");
                    }
				    Writer.Close();
				}

				StreamWriter FixDepsScript = File.AppendText(FixDepsScriptPath);

				string EngineAndGameLibrariesString = "";
				foreach (string Library in EngineAndGameLibraries)
				{
					EngineAndGameLibrariesString += Library;
				}

				FixDepsScript.Write(string.Format("echo Fixing {0}\n", Path.GetFileName(OutputFile.AbsolutePath)));
                if (!bUseCmdExe)
                {
				    FixDepsScript.Write(string.Format("TIMESTAMP=`stat --format %y \"{0}\"`\n", OutputFile.AbsolutePath));
                }
				string FixDepsLine = LinkAction.CommandPath + " " + LinkAction.CommandArguments;
				string Replace = "-Wl,--allow-shlib-undefined";
					
				FixDepsLine = FixDepsLine.Replace(Replace, EngineAndGameLibrariesString);
				string OutputFileForwardSlashes = OutputFile.AbsolutePath.Replace("\\", "/");
				FixDepsLine = FixDepsLine.Replace(OutputFileForwardSlashes, OutputFileForwardSlashes + ".fixed");
				FixDepsLine = FixDepsLine.Replace("$", "\\$");
				FixDepsScript.Write(FixDepsLine + "\n");
                if (bUseCmdExe)
                {
                    FixDepsScript.Write(string.Format("move /Y \"{0}.fixed\" \"{0}\"\n", OutputFile.AbsolutePath));
                }
                else
                {
                    FixDepsScript.Write(string.Format("mv \"{0}.fixed\" \"{0}\"\n", OutputFile.AbsolutePath));
                    FixDepsScript.Write(string.Format("touch -d \"$TIMESTAMP\" \"{0}\"\n\n", OutputFile.AbsolutePath));
                }
				FixDepsScript.Close();
			}

            //LinkAction.CommandArguments += " -v";

            return OutputFile;
        }

        public override void CompileCSharpProject(CSharpEnvironment CompileEnvironment, string ProjectFileName, string DestinationFile)
        {
            throw new BuildException("Linux cannot compile C# files");
        }

        public override void SetupBundleDependencies(List<UEBuildBinary> Binaries, string GameName)
        {
            foreach (UEBuildBinary Binary in Binaries)
            {
                BundleDependencies.Add(FileItem.GetItemByPath(Binary.ToString()));
            }
        }

        /** Converts the passed in path from UBT host to compiler native format. */
        public override String ConvertPath(String OriginalPath)
        {
            if (BuildHostPlatform.Current.Platform == UnrealTargetPlatform.Linux)
            {
                return OriginalPath.Replace("\\", "/");
            }
            else
            {
                return OriginalPath;
            }
        }

        public override ICollection<FileItem> PostBuild(FileItem Executable, LinkEnvironment BinaryLinkEnvironment)
        {
            var OutputFiles = base.PostBuild(Executable, BinaryLinkEnvironment);

            if (BinaryLinkEnvironment.Config.bIsBuildingDLL || BinaryLinkEnvironment.Config.bIsBuildingLibrary)
            {
                return OutputFiles;
            }

            FileItem FixDepsOutputFile = FixDependencies(BinaryLinkEnvironment, Executable);
            if (FixDepsOutputFile != null)
            {
                OutputFiles.Add(FixDepsOutputFile);
            }

            return OutputFiles;
        }

		public override UnrealTargetPlatform GetPlatform()
		{
			return UnrealTargetPlatform.Linux;
		}
	}
}

I have deleted “-Werror” from line 285.

And I have also installed libjpeg-dev, on the advice of this post:

Note: also “sudo apt-get install mono-gmcs” returns the error:

The following packages have unmet dependencies:
 mono-gmcs : Depends: mono-mcs (= 3.12.1-0xamarin1) but 4.6.2.7-0xamarin3 is to be installed
E: Unable to correct problems, you have held broken packages.

I have mono-mcs installed, and mono-complete installed, though.

Also, “sudo apt-get install fglrx” returned a package not found error. So I installed “fglrx-pxpress” instead

By now, i have followed the instructions on the tutorial specifically for Linux Mint.

I run “make ./SlateViewer” and it returns:

$ make ./SlateViewer
bash "/home/a/UnrealEngine"/Engine/Build/BatchFiles/Linux/Build.sh SlateViewer Linux Development  
Building SlateViewer...
Using clang version '3.8.0' (string), 3 (major), 8 (minor), 0 (patch)
Performing 37 actions (8 in parallel)
[1/37] Compile CorePrivatePCH.h
[2/37] Compile Module.Slate.2_of_4.cpp
[3/37] Compile Module.Slate.3_of_4.cpp
[4/37] Compile Module.Slate.1_of_4.cpp
[5/37] Compile Module.AppFramework.cpp
[6/37] Compile Module.Slate.4_of_4.cpp
[7/37] Compile Module.SlateViewer.cpp
[8/37] Compile Slate.generated.cpp
[9/37] Compile Module.WebBrowser.cpp
[10/37] Compile Module.SlateReflector.cpp
[11/37] Compile Module.EditorStyle.cpp
[12/37] Compile Module.SourceCodeAccess.cpp
[13/37] Compile EditorStyle.generated.cpp
[14/37] Compile SourceCodeAccess.generated.cpp
[15/37] Compile Module.StandaloneRenderer.cpp
[16/37] Compile Module.SlateCore.cpp
[17/37] Compile SlateCore.generated.cpp
[18/37] Compile Module.Core.2_of_6.cpp
[19/37] Compile Module.CoreUObject.1_of_4.cpp
[20/37] Compile Module.CoreUObject.3_of_4.cpp
[21/37] Compile Module.Core.1_of_6.cpp
[22/37] Compile Module.CoreUObject.2_of_4.cpp
[23/37] Compile Module.DesktopPlatform.cpp
[24/37] Compile Module.CoreUObject.4_of_4.cpp
[25/37] Compile Module.Settings.cpp
[26/37] Compile Module.InputCore.cpp
[27/37] Compile Module.Core.4_of_6.cpp
[28/37] Compile Module.ImageWrapper.cpp
[29/37] Compile InputCore.generated.cpp
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/SlateViewer/Development/ImageWrapper/Module.ImageWrapper.cpp:9:
In file included from /home/a/UnrealEngine/Engine/Source/Developer/ImageWrapper/Private/JpegImageWrapper.cpp:14:
ThirdParty/libJPG/jpgd.cpp(569,51) :  warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                     ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,66) :  warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                    ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,81) :  warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                   ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,96) :  warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                  ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,111) :  warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                 ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,126) :  warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,141) :  warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                               ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,156) :  warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                                              ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,171) :  warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                                                             ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,186) :  warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                                                                            ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,202) :  warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                                                                                            ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,218) :  warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                                                                                                            ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,234) :  warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                                                                                                                            ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,250) :  warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                                                                                                                                            ~~~~^
ThirdParty/libJPG/jpgd.cpp(569,266) :  warning: shifting a negative signed value is undefined [-Wshift-negative-value]
        static const int s_extend_offset[16] = { 0, ((-1)<<1) + 1, ((-1)<<2) + 1, ((-1)<<3) + 1, ((-1)<<4) + 1, ((-1)<<5) + 1, ((-1)<<6) + 1, ((-1)<<7) + 1, ((-1)<<8) + 1, ((-1)<<9) + 1, ((-1)<<10) + 1, ((-1)<<11) + 1, ((-1)<<12) + 1, ((-1)<<13) + 1, ((-1)<<14) + 1, ((-1)<<15) + 1 };
                                                                                                                                                                                                                                                                            ~~~~^
[30/37] Compile CoreUObject.generated.cpp
[31/37] Compile Module.Core.3_of_6.cpp
[32/37] Compile Module.Projects.cpp
15 warnings generated.
[33/37] Compile Module.Core.5_of_6.cpp
[34/37] Compile Module.Json.cpp
[35/37] Compile Module.Core.6_of_6.cpp
[36/37] Compile Module.CEF3Utils.cpp
[37/37] Link SlateViewer
-------- End Detailed Actions Stats -----------------------------------------------------------
Cumulative action seconds (8 processors): 0.00 building projects, 755.99 compiling, 0.00 creating app bundles, 0.00 generating debug info, 2.82 linking, 0.00 other
UBT execution time: 127.52 seconds

This returns basically all the same errors I got before without following the instructions to Linux Mint, and just running make in the Unreal directory. Stuff about “shifting a negative signed value is undefined”.

And of course “./SlateViewer” returns a no such file error.

=== Update ===

new output of “make ./SlateViewer”

make ./SlateViewer
bash "/home/a/UnrealEngine"/Engine/Build/BatchFiles/Linux/Build.sh SlateViewer Linux Development  
Building SlateViewer...
Using clang version '3.8.0' (string), 3 (major), 8 (minor), 0 (patch)
Target is up to date.

I don’t know why the output is different, or what I did, yet, but I will investigate very soon.

“./SlateViewer” still returns a "no such file or directory error though.

“make” is also still erroring:

~/UnrealEngine $ make
bash "/home/a/UnrealEngine"/Engine/Build/BatchFiles/Linux/Build.sh UE4Client Linux Debug  
Building UE4Client...
Using clang version '3.8.0' (string), 3 (major), 8 (minor), 0 (patch)
Target is up to date.
bash "/home/a/UnrealEngine"/Engine/Build/BatchFiles/Linux/Build.sh UE4Client Linux DebugGame  
Building UE4Client...
Using clang version '3.8.0' (string), 3 (major), 8 (minor), 0 (patch)
Performing 2 actions (8 in parallel)
[1/2] Compile UELinkerFixups.cpp
[2/2] Link UE4Client-Linux-DebugGame
-------- End Detailed Actions Stats -----------------------------------------------------------
Cumulative action seconds (8 processors): 0.00 building projects, 0.11 compiling, 0.00 creating app bundles, 0.00 generating debug info, 13.73 linking, 0.00 other
UBT execution time: 17.46 seconds
bash "/home/a/UnrealEngine"/Engine/Build/BatchFiles/Linux/Build.sh UE4Client Linux Shipping  
Building UE4Client...
Using clang version '3.8.0' (string), 3 (major), 8 (minor), 0 (patch)
Target is up to date.
bash "/home/a/UnrealEngine"/Engine/Build/BatchFiles/Linux/Build.sh UE4Client Linux Test  
Building UE4Client...
Using clang version '3.8.0' (string), 3 (major), 8 (minor), 0 (patch)
Target is up to date.
bash "/home/a/UnrealEngine"/Engine/Build/BatchFiles/Linux/Build.sh UE4Client Linux Development  
Building UE4Client...
Using clang version '3.8.0' (string), 3 (major), 8 (minor), 0 (patch)
Performing 2 actions (8 in parallel)
[1/2] Compile UELinkerFixups.cpp
[2/2] Link UE4Client
-------- End Detailed Actions Stats -----------------------------------------------------------
Cumulative action seconds (8 processors): 0.00 building projects, 0.16 compiling, 0.00 creating app bundles, 0.00 generating debug info, 8.76 linking, 0.00 other
UBT execution time: 12.25 seconds
bash "/home/a/UnrealEngine"/Engine/Build/BatchFiles/Linux/Build.sh UE4Editor Linux Debug  
Building UE4Editor...
Using clang version '3.8.0' (string), 3 (major), 8 (minor), 0 (patch)
/bin/sh  -c '/bin/sh "/home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor/Debug/FixDependencies.sh" && touch "/home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor/Debug/UE4Editor-Linux-Debug.link"'
Performing 1 actions (8 in parallel)
[1/1] FixDeps UE4Editor-Linux-Debug
Fixing libUE4Editor-Landscape-Linux-Debug.so
Fixing libUE4Editor-UnrealEd-Linux-Debug.so
/home/a/UnrealEngine/Engine/Source/ThirdParty/FBX/2014.2.1/lib/linux/x86_64-unknown-linux-gnu/libfbxsdk.a(fbxutils.o): In function `fbxsdk_2014_2_1::FbxPathUtils::GenerateFileName(char const*, char const*)':
fbxutils.cxx:(.text+0x498): warning: the use of `tempnam' is dangerous, better use `mkstemp'
Fixing libUE4Editor-GraphEditor-Linux-Debug.so
Fixing libUE4Editor-KismetCompiler-Linux-Debug.so
Fixing libUE4Editor-SourceControl-Linux-Debug.so
Fixing libUE4Editor-Kismet-Linux-Debug.so
Fixing libUE4Editor-AIModule-Linux-Debug.so
Fixing libUE4Editor-AITestSuite-Linux-Debug.so
Fixing libUE4Editor-UMG-Linux-Debug.so
Fixing libUE4Editor-CollisionAnalyzer-Linux-Debug.so
Fixing libUE4Editor-LogVisualizer-Linux-Debug.so
-------- End Detailed Actions Stats -----------------------------------------------------------
Cumulative action seconds (8 processors): 0.00 building projects, 0.00 compiling, 0.00 creating app bundles, 0.00 generating debug info, 32.57 linking, 0.00 other
UBT execution time: 43.20 seconds
bash "/home/a/UnrealEngine"/Engine/Build/BatchFiles/Linux/Build.sh UE4Editor Linux DebugGame  
Building UE4Editor...
Using clang version '3.8.0' (string), 3 (major), 8 (minor), 0 (patch)
/bin/sh  -c '/bin/sh "/home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor/Development/FixDependencies.sh" && touch "/home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor/Development/UE4Editor.link"'
Performing 1 actions (8 in parallel)
[1/1] FixDeps UE4Editor
Fixing libUE4Editor-Landscape.so
Fixing libUE4Editor-UnrealEd.so
/home/a/UnrealEngine/Engine/Source/ThirdParty/FBX/2014.2.1/lib/linux/x86_64-unknown-linux-gnu/libfbxsdk.a(fbxutils.o): In function `fbxsdk_2014_2_1::FbxPathUtils::GenerateFileName(char const*, char const*)':
fbxutils.cxx:(.text+0x498): warning: the use of `tempnam' is dangerous, better use `mkstemp'
Fixing libUE4Editor-GraphEditor.so
Fixing libUE4Editor-KismetCompiler.so
Fixing libUE4Editor-SourceControl.so
Fixing libUE4Editor-Kismet.so
Fixing libUE4Editor-AIModule.so
Fixing libUE4Editor-AITestSuite.so
Fixing libUE4Editor-UMG.so
Fixing libUE4Editor-CollisionAnalyzer.so
Fixing libUE4Editor-LogVisualizer.so
-------- End Detailed Actions Stats -----------------------------------------------------------
Cumulative action seconds (8 processors): 0.00 building projects, 0.00 compiling, 0.00 creating app bundles, 0.00 generating debug info, 16.91 linking, 0.00 other
UBT execution time: 26.55 seconds
bash "/home/a/UnrealEngine"/Engine/Build/BatchFiles/Linux/Build.sh UE4Editor Linux Shipping  
Building UE4Editor...
Using clang version '3.8.0' (string), 3 (major), 8 (minor), 0 (patch)
/bin/sh  -c '/bin/sh "/home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor/Shipping/FixDependencies.sh" && touch "/home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor/Shipping/UE4Editor-Linux-Shipping.link"'
Performing 35 actions (8 in parallel)
[1/35] Compile Module.LevelEditor.2_of_3.cpp
[2/35] Compile Module.GameplayDebugger.cpp
[3/35] Link UE4Editor-Linux-Shipping
/home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor/Shipping/Launch/Module.Launch.cpp.o: In function `FFeedbackContextEditor::~FFeedbackContextEditor()':
/home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor/Shipping/Launch/Module.Launch.cpp:(.text._ZN22FFeedbackContextEditorD2Ev[_ZN22FFeedbackContextEditorD2Ev]+0xa): undefined reference to `vtable for FFeedbackContextEditor'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor/Shipping/GameplayDebugger/Module.GameplayDebugger.cpp:3:
/home/a/UnrealEngine/Engine/Source/Developer/GameplayDebugger/Private/GameplayDebugger.cpp(233,9) :  error: use of undeclared identifier 'Extender'
        return Extender;
               ^
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor/Shipping/GameplayDebugger/Module.GameplayDebugger.cpp:5:
/home/a/UnrealEngine/Engine/Source/Developer/GameplayDebugger/Private/GameplayDebuggingComponent.cpp(632,27) :  error: use of undeclared identifier 'EQSLocalData'
        if (++CurrentEQSIndex >= EQSLocalData.Num())
                                 ^
In file included from /home/a/UnrealEngine/Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor/Shipping/LevelEditor/Module.LevelEditor.2_of_3.cpp:18:
/home/a/UnrealEngine/Engine/Source/Editor/LevelEditor/Private/SLevelViewport.cpp(3371,69) :  error: no member named 'GetExecBind' in 'UPlayerInput'
                                FKeyBind Binding = TargetPlayer->PlayerController->PlayerInput->GetExecBind(TEXT("ShowMouseCursor"));
                                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
2 errors generated.
1 error generated.
-------- End Detailed Actions Stats -----------------------------------------------------------
ERROR: UBT ERROR: Failed to produce item: /home/a/UnrealEngine/Engine/Binaries/Linux/libUE4Editor-LevelEditor-Linux-Shipping.so
Cumulative action seconds (8 processors): 0.00 building projects, 21.80 compiling, 0.00 creating app bundles, 0.00 generating debug info, 0.69 linking, 0.00 other
UBT execution time: 21.46 seconds
Makefile:155: recipe for target 'UE4Editor-Linux-Shipping' failed
make: *** [UE4Editor-Linux-Shipping] Error 5

Okay, I am changing directories to Engine/Binaries/Linux (even though there’s no mention of that on the tutorial on wiki in the section about installing slateviewer for linux mint), and entering ./SlateViewer, and I get the following error:

./SlateViewer: error while loading shared libraries: libLND.so: cannot open shared object file: No such file or directory

more stuff

a@a ~/UnrealEngine $ cd Engine/Binaries/Linux
a@a ~/UnrealEngine/Engine/Binaries/Linux $ LD_LIBRARY_PATH=${HOME}/UnrealEngine/Engine/Source/ThirdParty/LinuxNativeDialogs/UELinuxNativeDialogs/lib/Linux/x86_64-unknown-linux-gnu/ ./SlateViewer
Trying to load: libLND-qt5.so
LND loaded backend: qt5
Using binned.
LogModuleManager:Warning: ModuleManager: Module 'PakFile' not found - its StaticallyLinkedModuleInitializers function is null.
LogModuleManager:Warning: ModuleManager: Module 'SandboxFile' not found - its StaticallyLinkedModuleInitializers function is null.
LogModuleManager:Warning: ModuleManager: Module 'StreamingFile' not found - its StaticallyLinkedModuleInitializers function is null.
LogModuleManager:Warning: ModuleManager: Module 'NetworkFile' not found - its StaticallyLinkedModuleInitializers function is null.
LogInit: Version: 4.7.6-0+++depot+UE4-Releases+4.7
LogInit: API Version: 0
LogInit: Compiled (64-bit): Dec  8 2016 23:09:52
LogInit: Compiled with Clang: 3.8.0 (tags/RELEASE_380/final)
LogInit: Build Configuration: Development
LogInit: Branch Name: ++depot+UE4-Releases+4.7
LogInit: Command line: 
LogInit: Base directory: /home/a/UnrealEngine/Engine/Binaries/Linux/
LogInit: Rocket: 0
[2016.12.09-21.10.25:038][  0]LogTaskGraph: Started task graph with 3 named threads and 6 total threads.
[2016.12.09-21.10.25:053][  0]LogInit: Presizing for 0 objects not considered by GC, pre-allocating 0 bytes.
[2016.12.09-21.10.25:074][  0]LogInit: Object subsystem initialized
[2016.12.09-21.10.25:074][  0]LogInit: Linux hardware info:
[2016.12.09-21.10.25:074][  0]LogInit:  - this process' id (pid) is 19806, parent process' id (ppid) is 27962
[2016.12.09-21.10.25:075][  0]LogInit:  - we are not running under debugger
[2016.12.09-21.10.25:075][  0]LogInit:  - machine network name is 'zamza'
[2016.12.09-21.10.25:075][  0]LogInit:  - we're logged in locally
[2016.12.09-21.10.25:075][  0]LogInit:  - Number of physical cores available for the process: 4
[2016.12.09-21.10.25:075][  0]LogInit:  - Number of logical cores available for the process: 8
[2016.12.09-21.10.25:075][  0]LogInit:  - Memory allocator used: binned
[2016.12.09-21.10.25:075][  0]LogInit: Linux-specific commandline switches:
[2016.12.09-21.10.25:075][  0]LogInit:  -nodwarf (currently OFF): suppress parsing of DWARF debug info (callstacks will be generated faster, but won't have line numbers)
[2016.12.09-21.10.25:075][  0]LogInit:  -ansimalloc - use malloc()/free() from libc (useful for tools like valgrind and electric fence)
[2016.12.09-21.10.25:075][  0]LogInit:  -jemalloc - use jemalloc for all memory allocation
[2016.12.09-21.10.25:075][  0]LogInit:  -binnedmalloc - use binned malloc  for all memory allocation
[2016.12.09-21.10.25:075][  0]LogInit:  -httpproxy=ADDRESS:PORT - redirects HTTP requests to a proxy (only supported if compiled with libcurl)
[2016.12.09-21.10.25:075][  0]LogInit:  -reuseconn - allow libcurl to reuse HTTP connections (only matters if compiled with libcurl)
[2016.12.09-21.10.25:075][  0]LogInit:  -virtmemkb=NUMBER - sets process virtual memory (address space) limit (overrides VirtualMemoryLimitInKB value from .ini)
[2016.12.09-21.10.25:075][  0]LogInit:  - Physical RAM available (not considering process quota): 16 GB (15982 MB, 16366020 KB, 16758804480 bytes)
[2016.12.09-21.10.25:147][  0]LogTextLocalizationManager: The requested culture ('en_US') has no localization data; parent culture's ('en') localization data will be used.
[2016.12.09-21.10.25:374][  0]LogInit: Initializing SDL.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  96
  Current serial number in output stream:  97

and more stuff

$ LD_LIBRARY_PATH=${HOME}/UnrealEngine/Engine/Source/ThirdParty/LinuxNativeDialogs/UELinuxNativeDialogs/lib/Linux/x86_64-unknown-linux-gnu/ ./UE4Editor
Using binned.
Trying to load: libLND-qt5.so
LND loaded backend: qt5
Increasing per-process limit of core file size to infinity.
LogInit:Display: Running engine without a game
LogInit: Version: 4.7.6-0+++depot+UE4-Releases+4.7
LogInit: API Version: 0
LogInit: Compiled (64-bit): Dec  9 2016 03:15:27
LogInit: Compiled with Clang: 3.8.0 (tags/RELEASE_380/final)
LogInit: Build Configuration: Development
LogInit: Branch Name: ++depot+UE4-Releases+4.7
LogInit: Command line: 
LogInit: Base directory: /home/a/UnrealEngine/Engine/Binaries/Linux/
LogInit: Rocket: 0
[2016.12.09-21.16.28:080][  0]LogTaskGraph: Started task graph with 3 named threads and 6 total threads.
[2016.12.09-21.16.28:779][  0]LogOnline:Warning: No default platform service specified for OnlineSubsystem
[2016.12.09-21.16.29:576][  0]LogInit: Presizing for 0 objects not considered by GC, pre-allocating 0 bytes.
[2016.12.09-21.16.29:720][  0]LogInit: Object subsystem initialized
[2016.12.09-21.16.29:894][  0]LogInit: Initializing SDL.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  96
  Current serial number in output stream:  97

Okay, I left a comment yesterday, but it’s not showing up today. So I’ll re-write what didn’t show up for some reason.

I figured out that because I had also, a long time ago, attempted to use a different method (from Linux Mint - Community), I had the wrong GIT repos, and even though I was following A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums during this situation, my GIT repose were incorrect, and I was using version 4.7 – not 4.13.

So, all this stuff can be considered resolved for me. I don’t want to delete this post though incase anyone else runs into the same problems.

Deleting the contents of the UnrealDirectory and starting over got me past all these issues.