Linux: Mono Installation and Errors

Error installing mono on Amazon Linux

I finally got this to work by installing libpng15 rpm package:

wget http://dl.fedoraproject.org/pub/fedora/linux/releases/26/Everything/x86_64/os/Packages/l/libpng15-1.5.28-2.fc26.x86_64.rpm
sudo yum install -y libpng15-1.5.28-2.fc26.x86_64.rpm
rm libpng15-1.5.28-2.fc26.x86_64.rpm
sudo rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
sudo yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
sudo yum install -y mono

How to install mono 3 on Debian testing?

I have used packages from stable Debian release to build UE.

In order to install libmono-corlib4.0-cil from stable:

  1. Add stable package repository into your /etc/apt/sources.list
  2. Run sudo apt-get update
  3. Install aptitude if you don't have it
  4. Run sudo aptitude -t stable install libmono-corlib4.0-cil

If you have some packages newer then libmono-corlib4.0-cil requires, aptitude will report an error and ask you what to do. In one of the solutions it will suggest to downgrade those packages to appropriate version. Use that solution and you will get libmono-corlib4.0-cil installed.

You may also edit file Engine/Build/BatchFiles/Linux/Setup.sh inside your directory with UE sources and replace line (should be 78th)

sudo apt-get install -y $DEP

with

sudo aptitude -t stable install $DEP

And then rerun Setup.sh script. This may help you avoiding similar problems with other packages required by UE.

There may be a way to do everything with apt-get, but I don't know it.

And I'm afraid this way won't allow you to have both versions of mono-runtime

mono make install fails with Error 1

Running

make --debug=V install

revealed that it was failing when attempting to execute line 197 of mcs/build/library.make, which is:

196 install-local: $(gacutil)
197 $(GACUTIL) /i $(the_lib) /f $(gacdir_flag) /root $(GACROOT) $(package_flag)

Removing the $(package_flag) variable allowed the build to complete successfully. Caveat: I'm not sure if doing so breaks the install in other ways. Just in case...for future reference...here's the relevant entry in 'man gacutil':

COMMANDS
-i <assembly_path> [-check_refs] [-package NAME] [-root ROOTDIR]
[-gacdir GACDIR]

Installs an assembly into the global assembly cache. <assembly_path>
is the name of the file that contains the assembly manifest

The -package option can be used to also create a directory in in pre-
fix/lib/mono with the name NAME, and a symlink is created from
NAME/assembly_name to the assembly on the GAC. This is used so devel-
opers can reference a set of libraries at once.

The -root option is used to specify the "libdir" value of an installa-
tion prefix which differs from the prefix of the system GAC. Typical
automake usage is "-root $(DESTDIR)$(prefix)/lib". To access assem-
blies installed to a prefix other than the mono prefix, it is necessary
to set the MONO_GAC_PREFIX environment variable.

The -gacdir option is included for backward compatibility but is not
recommended for new code. Use the -root option instead.

Basically, -package appears to be optional.

Feel free to edit this with corrections if necessary.



Related Topics



Leave a reply



Submit