Editor crash on Ubuntu 14.04 using system libstdc++ (UE4_LINUX_USE_LIBCXX=0)

On Ubuntu 14.04, building the engine with UE4_LINUX_USE_LIBCXX=0 causes the following crash, including stack trace. This environment variable is described in LinuxToolChain.cs.

libUE4Editor-ShaderFormatOpenGL.so: undefined symbol:

Should I expect it to just work? Any suggestions?

ldd

sgundry-7510:~/UnrealEngine$ ldd /home/sgundry/UnrealEngine/Engine/Binaries/Linux/libUE4Editor-ShaderFormatOpenGL.so
	linux-vdso.so.1 =>  (0x00007fff07ff6000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa08b779000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa08b575000)
	libUE4Editor-Core.so => /home/sgundry/UnrealEngine/Engine/Binaries/Linux/libUE4Editor-Core.so (0x00007fa08a3c2000)
	libUE4Editor-ShaderCore.so => /home/sgundry/UnrealEngine/Engine/Binaries/Linux/libUE4Editor-ShaderCore.so (0x00007fa08a0de000)
	libUE4Editor-ShaderCompilerCommon.so => /home/sgundry/UnrealEngine/Engine/Binaries/Linux/libUE4Editor-ShaderCompilerCommon.so (0x00007fa089e7e000)
	libUE4Editor-ShaderPreprocessor.so => /home/sgundry/UnrealEngine/Engine/Binaries/Linux/libUE4Editor-ShaderPreprocessor.so (0x00007fa089be3000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa0898dc000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa0895d8000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa0893c2000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa088ffc000)
	/lib64/ld-linux-x86-64.so.2 (0x000056140ba6b000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fa088df4000)
	libUE4Editor-RHI.so => /home/sgundry/UnrealEngine/Engine/Binaries/Linux/libUE4Editor-RHI.so (0x00007fa088b52000)
	libUE4Editor-RenderCore.so => /home/sgundry/UnrealEngine/Engine/Binaries/Linux/libUE4Editor-RenderCore.so (0x00007fa0888f9000)

Error

[2017.03.21-22.37.49:384][  0]LogLinux:Warning: dlopen failed: /home/sgundry/UnrealEngine/Engine/Binaries/Linux/libUE4Editor-ShaderFormatOpenGL.so: undefined symbol: _ZTINSt3__114basic_iostreamIcNS_11char_traitsIcEEEE
[2017.03.21-22.37.49:384][  0]LogModuleManager:Warning: ModuleManager: Unable to load module '/home/sgundry/UnrealEngine/Engine/Binaries/Linux/libUE4Editor-ShaderFormatOpenGL.so' because the file couldn't be loaded by the OS.
Assertion failed: Result [File:/home/sgundry/UnrealEngine/Engine/Source/Developer/TargetPlatform/Private/TargetPlatformManagerModule.cpp] [Line: 479] 
[Callstack]  00  0x00007ffff6e23b0f  FLinuxPlatformStackWalk::CaptureStackBackTrace(unsigned long long*, unsigned int, void*)
[Callstack]  01  0x00007ffff6cfc505  FGenericPlatformStackWalk::StackWalkAndDump(char*, unsigned long, int, void*)
[Callstack]  02  0x00007ffff6e079b3  FLinuxPlatformStackWalk::StackWalkAndDump(char*, unsigned long, int, void*)
[Callstack]  03  0x00007ffff6e4577c  FDebug::LogAssertFailedMessage(char const*, char const*, int, wchar_t const*, ...)
[Callstack]  04  0x00007fffe3886775  FTargetPlatformManagerModule::ShaderFormatVersion(FName)
[Callstack]  05  0x00007ffff2dff5da  GetGlobalShaderMapKeyString(FGlobalShaderMapId const&, EShaderPlatform)
[Callstack]  06  0x00007ffff2dfda14  GetGlobalShaderMap(EShaderPlatform, bool)
[Callstack]  07  0x0000000000419d8e  FEngineLoop::PreInit(wchar_t const*) [/home/sgundry/UnrealEngine/Engine/Source/Runtime/Launch/Private/LaunchEngineLoop.cpp, line 1539]
[Callstack]  08  0x000000000042a8d8  GuardedMain(wchar_t const*) [/home/sgundry/UnrealEngine/Engine/Source/Runtime/Launch/Private/Launch.cpp, line 28]
[Callstack]  09  0x00007fffebe70487  CommonLinuxMain(int, char**, int (*)(wchar_t const*))
[Callstack]  10  0x00007fffeb3a7f45  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7fffeb3a7f45]
[Callstack]  11  0x0000000000415696  /home/sgundry/UnrealEngine/Engine/Binaries/Linux/UE4Editor() [0x415696]

Stack Trace

Program received signal SIGTRAP, Trace/breakpoint trap.
    0x00007ffff7bcc1fb in raise (sig=5) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
    37	../nptl/sysdeps/unix/sysv/linux/pt-raise.c: No such file or directory.
    (gdb) bt
    #0  0x00007ffff7bcc1fb in raise (sig=5) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
    #1  0x00007fffe3886792 in DebugBreak () at Runtime/Core/Public/Linux/LinuxPlatformMisc.h:38
    #2  FTargetPlatformManagerModule::ShaderFormatVersion (this=<optimized out>, Name=...) at /home/sgundry/UnrealEngine/Engine/Source/Developer/TargetPlatform/Private/TargetPlatformManagerModule.cpp:479
    #3  0x00007ffff2dff5da in GetGlobalShaderMapKeyString (ShaderMapId=..., Platform=SP_OPENGL_SM4) at /home/sgundry/UnrealEngine/Engine/Source/Runtime/Engine/Private/GlobalShader.cpp:507
    #4  0x00007ffff2dfda14 in GetGlobalShaderMap (Platform=<optimized out>, bRefreshShaderMap=<optimized out>) at /home/sgundry/UnrealEngine/Engine/Source/Runtime/Engine/Private/GlobalShader.cpp:607
    #5  0x0000000000419d8e in GetGlobalShaderMap (bRefreshShaderMap=false, FeatureLevel=<optimized out>) at Runtime/Engine/Public/GlobalShader.h:207
    #6  FEngineLoop::PreInit (this=<optimized out>, CmdLine=<optimized out>) at /home/sgundry/UnrealEngine/Engine/Source/Runtime/Launch/Private/LaunchEngineLoop.cpp:1539
    #7  0x000000000042a8d8 in EnginePreInit (CmdLine=0x7fffebe713dc L"") at /home/sgundry/UnrealEngine/Engine/Source/Runtime/Launch/Private/Launch.cpp:28
    #8  GuardedMain (CmdLine=0x1752 <error: Cannot access memory at address 0x1752>) at /home/sgundry/UnrealEngine/Engine/Source/Runtime/Launch/Private/Launch.cpp:113
    #9  0x00007fffebe70487 in CommonLinuxMain (argc=<optimized out>, argv=<optimized out>, RealMain=<optimized out>) at /home/sgundry/UnrealEngine/Engine/Source/Runtime/Linux/LinuxCommonStartup/Private/LinuxCommonStartup.cpp:231
    #10 0x00007fffeb3a7f45 in __libc_start_main (main=0x4345f0 <main(int, char**)>, argc=1, argv=0x7fffffffd8f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffd8e8) at libc-start.c:287
    #11 0x0000000000415696 in _start ()

Does it have something to do with precompiled headers (PCH)?

This demangles:
Runtime/Core/Private/Linux/LinuxPlatformStackWalk.cpp

https://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/a01696.html

And it appears to be used by these:

Runtime/Core/Private/CorePrivatePCH.h

Runtime/Core/Public/Core.h

I have meet the same issue. , have you resolve it finally?

@anonymous_user_2d051336, IIRC, we had to rebuild HLSLCC with libstdc++:

Modify: Engine/Source/ThirdParty/hlslcc/hlslcc/projects/Linux/Makefile
Rebuild: $Engine/Build/BatchFiles/Linux/BuildThirdParty.sh -b HLSLCC