Jump to content

Linux Setup


Luke

Recommended Posts

how many of those are due to libgdi? I am actually looking at removing that requirement, although it could be a couple server releases before it actually happens.

Link to comment
Share on other sites

thefirstofthe300

I am having a bit of trouble with the packaging.  For some reason, the permissions on the data folder HAVE to be set to 766 during the installation which frankly is a pain in the *** for packaging.  Is there a way for Media Browser to do it automatically?

Link to comment
Share on other sites

thefirstofthe300

Actually I take that back.  I am just being an idiot while building my package.  :(

Link to comment
Share on other sites

thefirstofthe300

OK.  The package is now in the AUR.  :)

 

The package includes a systemd unit file so the server can be started as a daemon.  The biggest problem I see at the moment is that if there is no browser installed on the computer (as in the case of a headless server), there is no obvious way to initially configure the server.  Is there a workaround for such a scenario?

Link to comment
Share on other sites

thefirstofthe300

I guess I am asking if it is possible to install MediaBrowser on a server, run it, and configure MediaBrowser remotely.

 

I will probably have to add a note that explains how to configure MB but it seems like a bit of a waste to have to temporarily install a desktop just to configure MediaBrowser for the first time.

Link to comment
Share on other sites

That's not what I meant. there is a command line console, is there not? So instructions could be in there. somehow the information has to be conveyed about how to use it.

Link to comment
Share on other sites

smitopher

but it seems like a bit of a waste to have to temporarily install a desktop just to configure MediaBrowser for the first time.

You don't. I have installed mb3 on a headless server from a remote ssh console. The server displays a con lose message with the URL to the set up wizard. Just replace localhost with the ip or DNS name of you mb3 server in a browser on a remote machine to complete the install.

 

 

Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

smitopher

This is a common to apps like sabnZbd, sickbeard and couch potato. You gotta set them up and it's only easy on a desktop. Setting up any headless server is not for the general public.

 

 

Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

thefirstofthe300

You don't. I have installed mb3 on a headless server from a remote ssh console. The server displays a con lose message with the URL to the set up wizard. Just replace localhost with the ip or DNS name of you mb3 server in a browser on a remote machine to complete the install.

 

 

Sent from my iPhone using Tapatalk

 

I did not know this.  I will try it out on my headless Arch installation and see if I can get MB3 configured.  I am currently away from my house so it will be a while before I can get back onto my LAN to try it though.

Link to comment
Share on other sites

thefirstofthe300

I don't see a 32 bit build. Is there going to be one in the future?

 

 

Sent from my Nexus 7 using Tapatalk

Link to comment
Share on other sites

I did not know this.  I will try it out on my headless Arch installation and see if I can get MB3 configured.  I am currently away from my house so it will be a while before I can get back onto my LAN to try it though.

 

You can even set it up remotely - if you have the ports forwarded on your router...

Link to comment
Share on other sites

smitopher

Well... Golly...

 

Following the links to download mono 3.4 does not take you to Mono 3.4

 

Updating from the Pakora repository gets me mono 3.4, but still in a non-standard location.

 

Is there a newest mb3 build somewhere?

 

This is what mb3 downloaded from the first page reports

Version 3.0.5188.23125
A new version of Media Browser Server is available!
Version 3.0.5192.19560 is now available for download.
Edited by smitopher
Link to comment
Share on other sites

PhAzE

libmediainfo? unless the linux version of ffmpeg is depending on that, that's not needed.

I wasn't able to get mediainfo to work at all without that and the other dependencies since mediainfo is dependant on libmediainfo specifically for libmediainfo.so

Link to comment
Share on other sites

PhAzE

A good place to check is https://www.archlinux.org and in the top corner is "search for packages".  So I search for this program, and it comes up at the bottom with a list of dependencies.  Then you have to click on each of those to see what dependencies they may have. This particular program uses:

 

- imagemagick:
  -> fontconfig:
     -> freetype
  -> lcms2:
     -> libtiff:
        -> libjpeg
  ->libcl
  ->liblqr 
  ->libltdl 
  -> libXext:
     -> libX11:
        -> libxcb:
           -> libXau
           -> libXdmcp
  -> libxt
     -> libX11:
        -> libxcb:
           -> libXau
           -> libXdmcp
  -> perl
 
Note that not all dependencies are required for some installs, such as slackware having a headless setup, won't need some of the x11 opengl or gui dependencies. This one seems to share many of the dependencies from libgdiplus. 
Edited by PhAzE
Link to comment
Share on other sites

smitopher

Big new guys:  Mono 3.4 is available for download:

 

http://www.go-mono.com/mono-downloads/download.html

 

@@smitopher @@PhAzE

 

Can you test the server using 3.4 instead of your custom built version? If it performs consistently we can remove building mono from the setup procedure, which will be great. Thanks.

 

Will give it a go later tonight

  • Like 1
Link to comment
Share on other sites

thefirstofthe300

You can even set it up remotely - if you have the ports forwarded on your router...

 

I don't have the ports forwarded.  Yet.

 

What about the x86_x64 build without mono embedded?

 

I tried that build and it is throwing an error on my 32-bit Arch server.  Here is the stack trace:

Error, Main, UnhandledException
    One or more errors occured
    System.AggregateException
      at System.Threading.Tasks.Task.WaitAll (System.Threading.Tasks.Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken) [0x00000] in <filename unknown>:0
      at System.Threading.Tasks.Task.WaitAll (System.Threading.Tasks.Task[] tasks) [0x00000] in <filename unknown>:0
      at MediaBrowser.Server.Mono.MainClass.RunApplication (MediaBrowser.Server.Implementations.ServerApplicationPaths appPaths, ILogManager logManager) [0x00000] in <filename unknown>:0
      at MediaBrowser.Server.Mono.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0
    InnerException: System.DllNotFoundException
    ./sqlite3/linux/lib64/libsqlite3.so.0.8.6
      at (wrapper managed-to-native) System.Data.SQLite.UnsafeNativeMethods:sqlite3_config_none (System.Data.SQLite.SQLiteConfigOpsEnum)
      at System.Data.SQLite.SQLite3.StaticIsInitialized () [0x00000] in <filename unknown>:0
      at System.Data.SQLite.SQLiteLog.Initialize () [0x00000] in <filename unknown>:0
      at System.Data.SQLite.SQLiteConnection..ctor (System.String connectionString, Boolean parseViaFramework) [0x00000] in <filename unknown>:0
      at System.Data.SQLite.SQLiteConnection..ctor (System.String connectionString) [0x00000] in <filename unknown>:0
      at (wrapper remoting-invoke-with-check) System.Data.SQLite.SQLiteConnection:.ctor (string)
      at MediaBrowser.Server.Implementations.Persistence.SqliteExtensions+<ConnectToDb>c__async7A.MoveNext () [0x00000] in <filename unknown>:0
    --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
      at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Data.IDbConnection].GetResult () [0x00000] in <filename unknown>:0
      at MediaBrowser.Server.Implementations.Persistence.SqliteUserRepository+<Initialize>c__asyncA7.MoveNext () [0x00000] in <filename unknown>:0
    --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
      at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0
      at MediaBrowser.ServerApplication.ApplicationHost+<GetUserRepository>c__async3.MoveNext () [0x00000] in <filename unknown>:0
    --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
      at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[MediaBrowser.Controller.Persistence.IUserRepository].GetResult () [0x00000] in <filename unknown>:0
      at MediaBrowser.ServerApplication.ApplicationHost+<RegisterResources>c__async1.MoveNext () [0x00000] in <filename unknown>:0
    --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
      at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0
      at MediaBrowser.Common.Implementations.BaseApplicationHost`1+<Init>c__async0[MediaBrowser.Server.Implementations.ServerApplicationPaths].MoveNext () [0x00000] in <filename unknown>:0
    
UnhandledException
One or more errors occured
System.AggregateException
  at System.Threading.Tasks.Task.WaitAll (System.Threading.Tasks.Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken) [0x00000] in <filename unknown>:0
  at System.Threading.Tasks.Task.WaitAll (System.Threading.Tasks.Task[] tasks) [0x00000] in <filename unknown>:0
  at MediaBrowser.Server.Mono.MainClass.RunApplication (MediaBrowser.Server.Implementations.ServerApplicationPaths appPaths, ILogManager logManager) [0x00000] in <filename unknown>:0
  at MediaBrowser.Server.Mono.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0
InnerException: System.DllNotFoundException
./sqlite3/linux/lib64/libsqlite3.so.0.8.6
  at (wrapper managed-to-native) System.Data.SQLite.UnsafeNativeMethods:sqlite3_config_none (System.Data.SQLite.SQLiteConfigOpsEnum)
  at System.Data.SQLite.SQLite3.StaticIsInitialized () [0x00000] in <filename unknown>:0
  at System.Data.SQLite.SQLiteLog.Initialize () [0x00000] in <filename unknown>:0
  at System.Data.SQLite.SQLiteConnection..ctor (System.String connectionString, Boolean parseViaFramework) [0x00000] in <filename unknown>:0
  at System.Data.SQLite.SQLiteConnection..ctor (System.String connectionString) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.Data.SQLite.SQLiteConnection:.ctor (string)
  at MediaBrowser.Server.Implementations.Persistence.SqliteExtensions+<ConnectToDb>c__async7A.MoveNext () [0x00000] in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Data.IDbConnection].GetResult () [0x00000] in <filename unknown>:0
  at MediaBrowser.Server.Implementations.Persistence.SqliteUserRepository+<Initialize>c__asyncA7.MoveNext () [0x00000] in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0
  at MediaBrowser.ServerApplication.ApplicationHost+<GetUserRepository>c__async3.MoveNext () [0x00000] in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[MediaBrowser.Controller.Persistence.IUserRepository].GetResult () [0x00000] in <filename unknown>:0
  at MediaBrowser.ServerApplication.ApplicationHost+<RegisterResources>c__async1.MoveNext () [0x00000] in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <filename unknown>:0
  at MediaBrowser.Common.Implementations.BaseApplicationHost`1+<Init>c__async0[MediaBrowser.Server.Implementations.ServerApplicationPaths].MoveNext () [0x00000] in <filename unknown>:0

I think one of the required dlls isn't compatible with a 64-bit system.

 

Here is the error thrown during install

  -> Stripping unneeded symbols from binaries and libraries...
strip:./opt/mediabrowser-server/src/sqlite3/linux/lib64/libsqlite3.so.0.8.6: File format not recognized

And I AM using the build without mono embedded.  The url for the source is: https://www.dropbox.com/s/07hh1g4x9xo28jb/MBServer.Mono.zip

Edited by DaBungalow
Link to comment
Share on other sites

PhAzE

Big new guys:  Mono 3.4 is available for download:

 

http://www.go-mono.com/mono-downloads/download.html

 

@@smitopher @@PhAzE

 

Can you test the server using 3.4 instead of your custom built version? If it performs consistently we can remove building mono from the setup procedure, which will be great. Thanks.

 

I'll see if I can compile on Unraid, however mono 3.2.7 seemed to be working without any problems so going to 3.4 might not be needed for Unraid installs. Compiling mono on Unraid 5 was not an easy chore, involving a few hacks to get atomics woking so the compile could complete, so i'm slightly hesitant to switch if it's not required.  

 

As for other linux installs, defeintely the newest would be best. I forgot to mention also that the version i built is a standard build, not a custom build. Slackware just didn't have one built yet with that version. ;)

Edited by PhAzE
Link to comment
Share on other sites

PhAzE

how many of those are due to libgdi? I am actually looking at removing that requirement, although it could be a couple server releases before it actually happens.

Dependency layout:
 
- mono:
  -> zlib
  -> python
  -> libgdiplus:
     -> giflib
     -> libtiff:
        -> libjpeg
     -> libexif
     -> cairo:
        -> lzo2
        -> libpng
        -> libXext:
           -> libX11:
              -> libxcb:
                 -> libXau
                 -> libXdmcp
        -> libXrender:
           -> libXft
        -> pixman
        -> fontconfig:
           -> freetype
 
- sqlite3
 
This is just the ones I found, I think if I google these i can find some more, but i'm not sure if they would be required by MB3. Using the above dependencies, I get no more errros from mono or MB3, with the exception of the chrome draw problem.
Edited by PhAzE
Link to comment
Share on other sites

libmediainfo? unless the linux version of ffmpeg is depending on that, that's not needed.

Link to comment
Share on other sites

PhAzE

right but what needs mediainfo? we don't use that.

Hmm i'll have a look. I was working on another project, might have added that in by accident. 

Link to comment
Share on other sites

I don't see a 32 bit build. Is there going to be one in the future?

 

 

Sent from my Nexus 7 using Tapatalk

 

What about the x86_x64 build without mono embedded?

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...