FreeSO icon indicating copy to clipboard operation
FreeSO copied to clipboard

Build FreeSO with Mono under Linux

Open fHachenberg opened this issue 5 years ago • 4 comments

Hi there, thanks for your awesome work on FreeSO!

I am trying to build under Linux using Mono msbuild. Apart from the minor naming issues already fixed in #166 & #167 , I still have some issue left.

Where can I find the following files? They don't seem to be present in mainline MonoGame either

/FreeSO/TSOClient/FreeSO.sln.metaproj : error MSB3202: The project file "/FreeSO/TSOClient/../Other/libs/FSOMonoGame/MonoGame.Framework/MonoGame.Framework.WindowsGL.csproj" was not found. [/FreeSO/TSOClient/FreeSO.sln]
/FreeSO/TSOClient/FreeSO.sln.metaproj : error MSB3202: The project file "/FreeSO/TSOClient/../Other/libs/FSOMonoGame/MonoGame.Framework/MonoGame.Framework.Windows.csproj" was not found. [/FreeSO/TSOClient/FreeSO.sln]
/FreeSO/TSOClient/FreeSO.sln.metaproj : error MSB3202: The project file "/FreeSO/TSOClient/../Other/libs/FSOMonoGame/MonoGame.Framework/MonoGame.Framework.Linux.csproj" was not found. [/FreeSO/TSOClient/FreeSO.sln]
/FreeSO/TSOClient/FreeSO.sln.metaproj : error MSB3202: The project file "/FreeSO/TSOClient/../Other/libs/FSOMonoGame/MonoGame.Framework/MonoGame.Framework.Net.WindowsGL.csproj" was not found. [/FreeSO/TSOClient/FreeSO.sln]
/FreeSO/TSOClient/FreeSO.sln.metaproj : error MSB3202: The project file "/FreeSO/TSOClient/../Other/libs/FSOMonoGame/ThirdParty/Lidgren.Network/Lidgren.Network.WindowsGL.csproj" was not found. [/FreeSO/TSOClient/FreeSO.sln]
/FreeSO/TSOClient/FreeSO.sln.metaproj : error MSB3202: The project file "/FreeSO/TSOClient/../Other/libs/FSOMonoGame/MonoGame.Framework.Content.Pipeline/MonoGame.Framework.Content.Pipeline.Windows.csproj" was not found. [/FreeSO/TSOClient/FreeSO.sln]

fHachenberg avatar Dec 07 '19 22:12 fHachenberg

To build the Monogame libraries, you must update --recursive --init submodules and run Protobuild.exe. On linux, use mono Protobuild.exe. They're planning to switch off this system soon, but right now we're stuck with this.

riperiperi avatar Dec 08 '19 00:12 riperiperi

Great, this brought me a step forward. :+1: I had to call it twice to generate all files required

mono Protobuild.exe --generate Linux
mono Protobuild.exe --generate Windows

fHachenberg avatar Dec 08 '19 21:12 fHachenberg

I now get prompted the following errors

"/FreeSO/TSOClient/FreeSO.sln" (Build target) (1) ->
"/FreeSO/TSOClient/FSO.iOS/FSOiOS.csproj" (default target) (43) ->
  /FreeSO/TSOClient/FSO.iOS/FSOiOS.csproj(315,3): error MSB4019: The imported project "/usr/lib/mono/xbuild/Xamarin/iOS/Xamarin.iOS.CSharp.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.


"/FreeSO/TSOClient/FreeSO.sln" (Build target) (1) ->
"/FreeSO/TSOClient/FSODroid/FSODroid.csproj" (default target) (44) ->
  /FreeSO/TSOClient/FSODroid/FSODroid.csproj(270,3): error MSB4019: The imported project "/usr/lib/mono/xbuild/Novell/Novell.MonoDroid.CSharp.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

Since I don't want to build for iOS nor Android ... how can I disable those dependencies?

fHachenberg avatar Dec 08 '19 21:12 fHachenberg

These errors can be ignored. Build targets are FSO.Windows, FSO.IDE, FSO.Server.Core, all AnyCpu.

riperiperi avatar Dec 08 '19 23:12 riperiperi