Linux Build: missing references

On ./GenerateFiles.sh , I run into these errors. This occurs on 4.5 and 4.5.0-release github branches

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

I got rid of the RPCUtility errors , still have Ionic

Engine/Source/Programs/RPCUtility$ xbuild RPCUtility.csproj /nologo /p:TargetFrameworkVersion=v4.0

I just encountered this too. Tried to build my engine yesterday with older mono (2.10) and I didn’t get this error. I didn’t get the editor to compile, so decided to try again later. Today I updated mono to 3.2.8 and got a fresh checkout and the result was this error. Any tips would be greatly appreciated :slight_smile:

If Engine/Binaries/DotNET is empty, you miss the third party libraries. Extract Optional.zip, Required 1of2 and Required 2of2 into the root directory, and start GenerateProjectFiles.sh again.

Thank you. This fixed the problem perfectly. I almost hope that this reply + the links would appear on A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums page also. :slight_smile:

That should happen automatically if GenerateProjectFiles.sh is run properly. Did it download the zip files from github?

The GenerateProjectFiles.sh didn’t download or extract these automatically. I had to manually download the zip files (following the “Getting up and running” steps from https://github.com/EpicGames/UnrealEngine ) and then extract the files on top of the fresh checkout.

This step allowed me to run the GenerateProjectFiles.sh through… Compiling the Unreal editor still hangs, but that is another problem. This solution solves this particular problem at least for me. :slight_smile:

Unless you aren’t on 4.5, GenerateProjectFiles.sh should download and extract the files automatically (and update them in future if any new get uploaded). Make sure you have OAUTH_TOKEN set prior to running it (it should produce an error otherwise).

If there were no errors nor attempts to download the files, you may be building a wrong branch. Make sure that you checked out 4.5.

@RCL:
Whats missing, is that if the files are not extracted yet, GenerateProjectFiles.sh should extract them. It just checks if the zips actually exist, and says that it wont extract them ( I dont know why ).

So for example if you messed one time something up, git checkout again, and you got the zip files from the last time, and run GenerateProjectFiles.sh again, you get errors because the zips are not extracted, and wont be extracted.

In that case you can pass -updatedeps (i.e. ./GenerateProjectFiles.sh -updatedeps) - this will force extraction.

Thanks, this fixed the issue. Perhaps this should be added to the troubleshooting wiki.

Feel free to add that :slight_smile:

I will have to check the script for more details when I get back home. I am sure I was on the right branch, but I had messed up my original checkout (I did a git merge origin/master out of habit) and instead wasting my time trying to wrestle with git I just removed the whole folder and did a new checkout.

If I understood Eduard Gotwigs answer the GenerateProjectFiles.sh downloads the zip files to another folder when it is run the first time and extract them correctly, after that it would just check if the zip files exist on the harddrive.

If that is the case the cause is clear. Maybe the GenerateProjectFiles.sh should also check for the content of Engine/Binaries/DotNet. That way it would know if the extracting is needed…

I had this same problem (GenerateProjectFIles.sh not automatically downloading the Optional.zip) and in my case it’s because I have perforce (executable name p4) installed.

The CheckArgs() function in GenerateProjectFiles.sh sets IS_GITHUB_BUILD to false:

if p4 is installed, assume building out of perforce repo (no need to download and fix dependencies)

if which p4 > /dev/null; then
IS_GITHUB_BUILD=false # perforce
fi

What I did was temporarily rename p4 to something else and re-run GenerateProjectFiles.sh. Now the dependencies are downloaded automatically.

Not sure if this is the same root cause as above issue but I can imagine this causing confusion for other people who have p4 installed ? I can’t find any reference to this on any of the README.md files. Also can’t find any reference on A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums. Perhaps this should be noted somewhere ? Or a warning printed out when p4 is detected to make sure there is no misunderstanding ?

Yeah, that is a good point. BTW, you could pass -git to force github path (i.e. ./GenerateProjectFiles.sh -git), but this indeed needs to be mentioned in wiki/README.

Just to add, I checked my ~/Downloads directory and indeed there the zip files were. I assume that if I would delete the files from that folder the GenerateProjectFiles.sh would run without any problems.

Yes of course, but than you have to redownload again.
You can read the first messages, if the zip files exist: It says something like zip files found, not extracting or something like this, so you know you have to extract them yourself.

You don’t have to extract yourself. If you have the right zips, you can force GenerateProjectFiles.sh to unpack then anew, just pass -updatedeps, like this:

./GenerateProjectFiles.sh -updatedeps

and answer Y when it asks you.

Hey guys…
Am trying to compile on centos 6.5/7 and getting the same error.
The procedure you are explaining is a bit top of my head.
Would some one mind giving a detailed explanation or editing the main wiki so that it would be helpful for noobs like me.

Hi, Basically GenerateFiles.sh downloads 3 zip archives before compilation and extracts them on top of the checkout. If these files exist already in your Downloads the script just skips them all together.

What you need to do is to check if you have the zip files in your Downloads folder (Files are Optional.zip, Required 1of2.zip and Required 2of2.zip) and re-run the GenerateProjectFiles.sh with the -updatedeps parameter.

If you do not have the files you can get them manually from https://github.com/EpicGames/UnrealEngine and then just extact them on top of the checkout manually.

This was the original problem at least in my case. I hope this helps…