Linux build fails (pushd not found)

Hi,

I’m trying to install the Editor on Elementary OS (Debian based) but It just gives me errors.

./Setup.sh

Registering git hooks... (this will override existing ones!) /etc/os-release: line 3: OS: command not found

sh Setup.sh

Registering git hooks... (this will override existing ones!) Setup.sh: 39: Setup.sh: pushd: not found

./GenerateProjectFiles.sh

`


You have not run Setup.sh, the build will likely fail.


Setting up Unreal Engine 4 project files…

  • xbuild Source/Programs/UnrealBuildTool/UnrealBuildTool_Mono.csproj /verbosity:quiet /nologo /p:TargetFrameworkVersion=v4.0 /p:Configuration=Development
    /usr/lib/mono/4.0/Microsoft.Common.targets: warning : Reference ‘Ionic.Zip.Reduced’ not resolved
    /usr/lib/mono/4.0/Microsoft.Common.targets: warning : Reference ‘RPCUtility’ not resolved
    IOS/IOSToolChain.cs(13,7): error CS0246: The type or namespace name Ionic' could not be found. Are you missing a using directive or an assembly reference? IOS/IOSToolChain.cs(14,7): error CS0246: The type or namespace name Ionic’ could not be found. Are you missing a using directive or an assembly reference?
    System/RPCUtilHelper.cs(10,7): error CS0246: The type or namespace name RPCUtility' could not be found. Are you missing a using directive or an assembly reference? System/RPCUtilHelper.cs(17,7): error CS0246: The type or namespace name Ionic’ could not be found. Are you missing a using directive or an assembly reference?
    `

Hi,

The issue appears to be your /etc/os-release line 3, the ID tag is not quoted. It seems that’s a bug that still has not been fixed, or you are running an older version of the OS. Bug #1243137 “Unquoted version name in /etc/os-release” : Bugs : elementary OS

Try editing your /etc/os-release and putting the line 3 value of ID under quotes, ie. ID=“elementary OS” then re-running ./Setup.sh

Also, we do not have a match for elementary OS in Setup.sh, what does your command: ‘lsb_release --id’ return?

I’m now getting

Missing method System.Environment::get_CurrentManagedThreadId() in assembly /usr/lib/mono/4.0/mscorlib.dll, referenced in assembly /home/oscar/UE4/Engine/Binaries/DotNET/GitDependencies.exe

(Full log: Registering git hooks... (this will override existing ones!)Attempting install - Pastebin.com)

What version of Mono is installed (should have v3) ?

Or if you have something else, a newer, revert back to v3.

I’ve updated Mono and cmake and now I get building LinuxNativeDialogs+ cd Source/ThirdParty/LinuxNativeDialogs/UELinuxNa - Pastebin.com when I ./Setup.sh

Are you building from 3dluvr/4.7-linux repo, because no one else reported this error?

Yep, Latest version.

Hmm do you have full clang-3.5 installed with all the headers?

I just tried compiling and have no issues at all compiling hlslcc with clang-3.5.

This is what I have installed: clang-3.5, libclang-common-3.5-dev, libclang1-3.5

Is this right for clang-v?

Ubuntu clang version 3.0-6ubuntu3 (tags/RELEASE_30/final) (based on LLVM 3.0)

I guess that’s the problem - you are running Clang 3.0.

You will have to upgrade your Clang to 3.3 or 3.5 - it will probably solve these problems, and is absolutely needed to compile the Editor later.