Source build IDE (Rider) issue on Linux (Manjaro)

Hey!
I downloaded the source version from github and followed the instructions for building the engine (./Setup.sh; ./GenerateProjectFiles.sh; make), all fine. The engine starts and I can create a BP project. Only a BP project though! When I want to create a CPP project, Rider tells me this:

…and then throws me out. (Rider is selected as the source code program in the engine settings)
Thing is, when i run ./GenerateProjectFiles.sh it doesn’t create a .sln file in the engine folder. Shouldn’t it do that?

I figured that I also can just open a .uproject file with Rider but also no luck here. First, it seems to get stuck with restoring NuGet packages, shows this line a a .log in the jetbrains .cache folder:

~/Unreal/Projects/UE5/LinuxTestProject/LinuxTestProject.uproject(1,1): error MSB4025: The project file could not be loaded. Data at the root level is invalid. Line 1, position 1.

Second, it just seems to get stuck when I hit “Build Solution” or “Run LinuxTestProject“, respectively.

I’m kinda lost now, don’t really no how I can fix this issue.

hello,

try deleting intermediate and binaries from your project and open the uproject directly.

there’s no .sln file since that’s for visual studio. with rider you should open the uproject file.

also that path makes me wonder if there’s an issue with it.

do you have unreal in a different drive? you would need to make sure exec flag is right.

also it’s a known issue that having paths that use symlinks in the project or the engine can bring problems.

line 1 pos 1 is the start of the file. so quite likely it can’t even read the file.

btw please don’t use sudo or root for anything with ue. it does break things and you don’t need it.

also some people have tried “sharing” a build of ue with multiple users, that also brings problems.

try deleting intermediate and binaries from your project and open the uproject directly

I actually don’t even have a binaries folder ‘cause I’m starting a BP project with the source engine version.
I can open the .uproject file with Rider though. It just keeps getting stuck when I want to build the project though. Doesn’t even start to build (no output log).

do you have unreal in a different drive? you would need to make sure exec flag is right.

Yup, I do. It’s on a seperate SATA SSD while my OS is on a m.2 NVME. Can you elaborate on that?

also it’s a known issue that having paths that use symlinks in the project or the engine can bring problems.

I’m not sure what symlinks are…(?)

line 1 pos 1 is the start of the file. so quite likely it can’t even read the file.

..and this could be related to the engine being on another drive?

btw please don’t use sudo or root for anything with ue. it does break things and you don’t need it.

I didn’t in the beginning, only when I encountered these issues. Could the engine folder now be corrupted?

also some people have tried “sharing” a build of ue with multiple users, that also brings problems.

Haven’t done that. It’s just me :slight_smile:

how do you build it?

in fact, now that i think about it you don’t even need to open it with rider if it’s only bps.

i don’t remember but its possible it won’t load at all if it doesn’t have sources.

so all you need to do is double click the uproject or open with the editor in Engine/Binaries/UnrealEditor

some people set up secondary drives in ways that break certain software. there’s a flag in fstab which is “exec” (you can search online). the default flags for a secondary drive is usually noexec or omit the exec.

sometimes the drives have weird configurations. if i’m right you’re using ntfs. ntfs is too different to linux. the way it stores permissions and times can create a ton of issues running software.

i don’t suggest moving it to another drive, but instead clone again and make again.

a symlink is a thing in linux os, where a path can redirect to another path. when using multiple drives people tend to mount the drive to a location then have a symlink to a folder from another folder. the engine trips on that.

yes, quite likely.

Okay so I got it working now, due to the help of the Unreal Discord Server :slight_smile:

It seems like it wasn’t about the engine being on an NTFS filesystem drive. It was two things mainly:

  1. The Rider Unreal Plugin wasn’t able to be installed. The issue was that some csproj files had dependencies on packages with vulnerabilities, specifically:

Engine/Source/Programs/AutomationTool/AutomationUtils/AutomationUtils.Automation.csproj
Engine/Source/Programs/AutomationTool/Gauntlet/Gauntlet.Automation.csproj
Engine/Source/Programs/AutomationTool/AutomationTool.csproj

Those were dependent on ImageMagick version 4.7.0.
Changing the version in those files to 4.8.1 did the trick. The Rider Plugin was now able to be installed.

  1. Rider didn’t start compiling when I hit “run”. Ultimately this was because Rider tried to restore NuGet Packages when starting the IDE. Somehow it got stuck and never finished restoring. This lead to Rider not being able to start compiling. When I disabled the options to restore packages in the NuGet settings →

… it worked. Now this could lead to issues in the future of course, in case I don’t have the necessary packages but the log would most likely give me a NuGet error in this case anyway I think.

So that solved it. I can now run my UE source build with Rider on Manjaro :slight_smile:

Thanks for the help!

2 Likes

Awesome! I’m glad you found the solution. also thanks for sharing the solution.

just in case (for other readers), that’s a known issue. you need to update the branch of 5.6 to 5.6.1. you can also cherry pick the changes.

there are also other posts in here describing other ways to solve it. it’s easy to find in the forums.

that’s pretty odd, i never encountered it. i’m glad you were able to find it!

great work!

1 Like