toneman77 0 Posted December 23, 2016 Share Posted December 23, 2016 Hey guys. When trying to build emby-server in a docker container, the following worked untill 3.0.8500: sudo apt-get install -y --no-install-recommends \ ca-certificates \ git \ libmono-system-core4.0-cil \ mono-devel \ mono-runtime \ mono-utils \ mono-xbuild \ wget cd $HOME \ && git clone --depth 1 https://github.com/MediaBrowser/Emby.git I then change to Tools/Linux_Build_Scripts/ and launch MediaBrowser.Mono.Build.sh But since 3.1.1 (I must have missed 3.1.0) I get: ... ======================================== Requirements ======================================== Check if folder mediabrowser exist Creating folder: mediabrowser ======================================== Nuget: Restoring packages ======================================== Restoring NuGet package MSBuild auto-detection: using msbuild version '4.0' from '/usr/lib/mono/4.5'. MsBuild.exe does not exist at '/usr/lib/mono/4.5/msbuild.exe'. Result is the same, no matter if I use a debian docker or ubuntu. What did I do wrong? Anything I am missing here? Link to comment Share on other sites More sharing options...
Luke 36884 Posted December 23, 2016 Share Posted December 23, 2016 Hi, why not just follow the Docker instructions from the website? Link to comment Share on other sites More sharing options...
toneman77 0 Posted December 23, 2016 Author Share Posted December 23, 2016 Hi. you mean this: https://github.com/MediaBrowser/Wiki/wiki/Docker-Getting-Started ? That only builds a docker container with an already installed emby in it. I like building stuff and mostly for the sake of learning, that's why I build some packages myself. Link to comment Share on other sites More sharing options...
Luke 36884 Posted December 23, 2016 Share Posted December 23, 2016 I see. Make sure you have mono 4.6. You will need that in order to build now. Link to comment Share on other sites More sharing options...
toneman77 0 Posted December 24, 2016 Author Share Posted December 24, 2016 I adjusted the instructions at github and used 4.6.2 as the version. Installed all the prerequisites. Sadly, still the same error. I then searched around more and found this error stating that the wrong version of nuget ignores the correct path to xbuild and looks for msbuild.exe. This issue is fixed if I understood everything correctly with nuget 3.5 upstream. So I downloaded the current release from here and placed it in the NuGet folder. And now I get this error: ======================================== Requirements ======================================== Check if folder mediabrowser exist mediabrowser exist, checking for old binaries folder ======================================== Nuget: Restoring packages ======================================== Restoring NuGet package MSBuild auto-detection: using msbuild version '14.0' from '/usr/lib/mono/xbuild/14.0/bin'. MSBUILD: error MSBUILD0005: Invalid syntax. Property name and value expected as <prop name>=[<prop value>] Ok, well. The line in the MediaBrowser.Mono.Build.sh script that triggers the error is: mono Nuget/nuget.exe restore MediaBrowser.Mono.sln So i searched around and found out that nuget can be more verbose, so I changed into the main Emby folder and executed: (also tried to add verbosity in the script itself. result is the same) ~/Emby# mono Nuget/nuget.exe restore MediaBrowser.Mono.sln -Verbosity detailed and the result was: NuGet Version: 3.5.0.1938 MSBuild auto-detection: using msbuild version '14.0' from '/usr/lib/mono/xbuild/14.0/bin'. Use option -MSBuildVersion to force nuget to use a specific version of MSBuild. MSBuild P2P timeout [ms]: 120000 MSBUILD: error MSBUILD0005: Invalid syntax. Property name and value expected as <prop name>=[<prop value>] System.AggregateException: One or more errors occurred. ---> NuGet.CommandLine.CommandLineException at NuGet.CommandLine.MsBuildUtility.GetProjectReferences (System.String msbuildDirectory, System.String[] projectPaths, System.Int32 timeOut) [0x0023a] in <eca5fa3af2c04391bafa6fe58e194074>:0 at NuGet.CommandLine.RestoreCommand.DetermineRestoreInputs () [0x00114] in <eca5fa3af2c04391bafa6fe58e194074>:0 at NuGet.CommandLine.RestoreCommand+<ExecuteCommandAsync>d__22.MoveNext () [0x000c5] in <eca5fa3af2c04391bafa6fe58e194074>:0 --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional (System.Boolean includeTaskCanceledExceptions) [0x00014] in <8f2c484307284b51944a1a13a14c0266>:0 at System.Threading.Tasks.Task.Wait (System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken) [0x00052] in <8f2c484307284b51944a1a13a14c0266>:0 at System.Threading.Tasks.Task.Wait () [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0 at NuGet.CommandLine.Command.Execute () [0x000bd] in <eca5fa3af2c04391bafa6fe58e194074>:0 at NuGet.CommandLine.Program.MainCore (System.String workingDirectory, System.String[] args) [0x001f8] in <eca5fa3af2c04391bafa6fe58e194074>:0 ---> (Inner Exception #0) NuGet.CommandLine.CommandLineException at NuGet.CommandLine.MsBuildUtility.GetProjectReferences (System.String msbuildDirectory, System.String[] projectPaths, System.Int32 timeOut) [0x0023a] in <eca5fa3af2c04391bafa6fe58e194074>:0 at NuGet.CommandLine.RestoreCommand.DetermineRestoreInputs () [0x00114] in <eca5fa3af2c04391bafa6fe58e194074>:0 at NuGet.CommandLine.RestoreCommand+<ExecuteCommandAsync>d__22.MoveNext () [0x000c5] in <eca5fa3af2c04391bafa6fe58e194074>:0 <--- And now after 2h of searching, I'm lost... Link to comment Share on other sites More sharing options...
scr09 2 Posted December 25, 2016 Share Posted December 25, 2016 I have the same error trying to build Emby with the same instructions on Ubuntu (not for docker). mono is at version 4.6.2. 1 Link to comment Share on other sites More sharing options...
Solution scr09 2 Posted December 25, 2016 Solution Share Posted December 25, 2016 I fixed my error and successfully compiled by commenting this in the build script #mono Nuget/nuget.exe restore MediaBrowser.Mono.sln and installing referenceassemblies-pcl apt-get install referenceassemblies-pcl 1 Link to comment Share on other sites More sharing options...
Luke 36884 Posted December 25, 2016 Share Posted December 25, 2016 Thanks for reporting back ! Link to comment Share on other sites More sharing options...
toneman77 0 Posted December 25, 2016 Author Share Posted December 25, 2016 (edited) Well at first I had some major problems because I build on debian, but run on alpine linux. Then I changed to tklx (smaller debian) but that didn't work out either. After using debian:wheezy in my Dockerfile, everything ran. Thanks a lot. The one thing I had to do manually is make a symbolic link: ln -s /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 /usr/lib/libsqlite3.so or else emby crashed on start. @scr09: did your build run without manual intervention? Out of interest: What does "...nuget restore..." and why is it not neccesary? @scr09: you are my hero (emby devs/admins are heroes anyways) @Luke: Somebody should update the instructions @github, in case someone else tries to build versions higher than 3.0.xxxx Thanks a lot guys Edited December 26, 2016 by toneman77 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now