Arch 64 & Plex Media Center

Plex for Arch Package Creation
Hey Guys,

I have decided to have a go at getting Plex Media Center to run on Arch.

I am currently working through the package dependencies and will eventually create a repo so these packages are added at the click of a button.

I am hoping with help from the community we can have a Plex package that can be installed via pacman.

As I progress I will keep you updated.

UPDATE:



Package Created. Plex now easy to install… this includes all dependencies. I am having a problem with video playback as are Ubuntu guys.



Will update once this has been resolved. The Linux guys on this forum seem to be MIA and im not sure if they are still working on the issue.





Regards,

DC

Look Up





Regards,

D

DC,



Were you able to resolve the video playback issues? I’m trying to build this on Fedora and a lot of things are working, however when I try to play a media file that is local to the media server, I get audio but no Video. I’m wondering if part of the problem is that I built it in my hotel room on my Fedora 14 laptop and maybe need to build it on a newer version as the plex-ffmpeg component did complain about va-api being a bit old. I disabled va-api (shouldn’t apply to me as I’m using vdpau) and re-built but still no luck.



Any insight would be awesome :slight_smile:



Thanks,

-Art

Also, where id you pull your sources from, I ended up cloning the following:



git://github.com/chris-sanders/plex-linux.git

git://github.com/elan/plex-mediastream.git

git://github.com/gewalker/plex-ffmpeg-linux.git



Thinking that the fact that I’m pulling from 3 different branches might have something to do with my problem :stuck_out_tongue:



-Art

Anyone having luck with this? The plexmediacenter-git AUR package doesn’t work, and I don’t know what package is being referred to above. Here’s my attempt so far:



<br />
pacman -S --needed wavpack libmpeg2 sdl_mixer sdl_image libmicrohttpd cmake gperf unzip zip yasm ffmpeg xbmc flac ccache libpng12<br />
<br />
# Install CrystalHD from AUR if needed<br />
<br />
# Change "AM_CONFIG_HEADER(" to "AC_CONFIG_HEADERS("<br />
# :%s/AM_CONFIG_HEADER(/AC_CONFIG_HEADERS(/g<br />
# in the following files:<br />
    ./lib/libcdio/configure.ac:AM_CONFIG_HEADER(config.h)<br />
    ./lib/enca/configure.ac:AM_CONFIG_HEADER(config.h)<br />
    ./lib/libmicrohttpd/configure.ac:AM_CONFIG_HEADER([MHD_config.h])<br />
    ./xbmc/lib/libid3tag/libid3tag/configure.ac:AM_CONFIG_HEADER([config.h])<br />
    ./xbmc/cores/dvdplayer/Codecs/libmad/configure.ac:AM_CONFIG_HEADER([config.h])<br />
    ./xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss/configure.ac:AM_CONFIG_HEADER(config.h)<br />
    ./xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss/autom4te.cache/traces.0t:m4trace:configure.ac:8: -1- AM_CONFIG_HEADER([config.h])<br />
    ./xbmc/cores/dvdplayer/Codecs/libdts/configure.ac:AM_CONFIG_HEADER(config.h)<br />
<br />
./bootstrap<br />
./configure<br />
<br />
# Change libpng15 to libpng12 in Makefile.include if necessary<br />
# (I'm guessing there's a ./configure option for this, but whatever)<br />
<br />
make #(no parallelism)<br />




And, here's the error I'm currently stuck on:


<br />
make[1]: Entering directory `/root/setup/plex/plex-linux/xbmc'<br />
/usr/bin/ccache g++ -MD -c -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -D_DEBUG -Wall -O2 -D_LINUX -D_FILE_DEFINED -D__STDC_CONSTANT_MACROS -DBIN_INSTALL_PATH="\"/usr/local/lib/xbmc\"" -DINSTALL_PATH="\"/usr/local/share/xbmc\"" -DHAS_SDL_JOYSTICK -D'GIT_REV="ab12263"' -DHAVE_CONFIG_H  -I../ -I. -Ilinux -Icores -I../guilib -Iutils -IFileSystem -I/usr/include/freetype2 -Icores/dvdplayer -Icores/dvdplayer/Codecs/ffmpeg -Ilib/libUPnP/Platinum/Source/Core -Ilib/libUPnP/Platinum/Source/Platinum -Ilib/libUPnP/Platinum/Source/Devices/MediaServer -Ilib/libUPnP/Platinum/Source/Devices/MediaConnect -Ilib/libUPnP/Platinum/Source/Devices/MediaRenderer -Ilib/libUPnP/Neptune/Source/System/Posix -Ilib/libUPnP/Neptune/Source/Core -Ilib/libcdio/libcdio/include -I../lib/jsoncpp/jsoncpp/include -Ilib/cpluff/libcpluff -I../plex -I../plex/Utility -I../plex/Network -I../plex/GUI -I../plex/FileSystem -I../plex/Players -D_GNU_SOURCE=1 -D_REENTRANT -I/root/setup/plex/plex-linux -I/usr/include/SDL -I/usr/include/alsa -I/usr/include/dbus-1.0 -I/usr/include/freetype2 -I/usr/include/fribidi -I/usr/include/libpng12 -I/usr/include/lzo -I/usr/include/mysql -I/usr/lib/dbus-1.0/include Application.cpp -o Application.o<br />
In file included from DetectDVDType.h:37:0,<br />
                 from Application.h:48,<br />
                 from Application.cpp:25:<br />
FileSystem/cdioSupport.h:111:12: error: field 'cdtext' has incomplete type<br />
In file included from DetectDVDType.h:37:0,<br />
                 from Application.h:48,<br />
                 from Application.cpp:25:<br />
FileSystem/cdioSupport.h:260:12: error: field 'm_cdtext' has incomplete type<br />
In file included from DetectDVDType.h:37:0,<br />
                 from Application.h:48,<br />
                 from Application.cpp:25:<br />
FileSystem/cdioSupport.h: In constructor 'MEDIA_DETECT::CCdInfo::CCdInfo()':<br />
FileSystem/cdioSupport.h:122:18: error: 'm_cdtext' was not declared in this scope<br />
FileSystem/cdioSupport.h:124:28: error: 'MEDIA_DETECT::trackinfo' has no member named 'cdtext'<br />
FileSystem/cdioSupport.h: In destructor 'virtual MEDIA_DETECT::CCdInfo::~CCdInfo()':<br />
FileSystem/cdioSupport.h:130:21: error: 'm_cdtext' was not declared in this scope<br />
FileSystem/cdioSupport.h:132:31: error: 'MEDIA_DETECT::trackinfo' has no member named 'cdtext'<br />
FileSystem/cdioSupport.h: In member function 'cdtext_t MEDIA_DETECT::CCdInfo::GetDiscCDTextInformation()':<br />
FileSystem/cdioSupport.h:136:39: error: return type 'cdtext_t {aka struct cdtext_s}' is incomplete<br />
FileSystem/cdioSupport.h:136:48: error: 'm_cdtext' was not declared in this scope<br />
In file included from DetectDVDType.h:37:0,<br />
                 from Application.h:48,<br />
                 from Application.cpp:25:<br />
FileSystem/cdioSupport.h: In member function 'void MEDIA_DETECT::CCdInfo::SetDiscCDTextInformation(cdtext_t)':<br />
FileSystem/cdioSupport.h:239:6: error: 'cdtext' has incomplete type<br />
In file included from /usr/include/cdio/cdio.h:58:0,<br />
                 from FileSystem/cdioSupport.h:40,<br />
                 from DetectDVDType.h:37,<br />
                 from Application.h:48,<br />
                 from Application.cpp:25:<br />
/usr/include/cdio/cdtext.h:201:16: error: forward declaration of 'cdtext_t {aka struct cdtext_s}'<br />
In file included from DetectDVDType.h:37:0,<br />
                 from Application.h:48,<br />
                 from Application.cpp:25:<br />
FileSystem/cdioSupport.h:239:52: error: 'm_cdtext' was not declared in this scope<br />
In file included from PlayList.h:23:0,<br />
                 from Application.cpp:83:<br />
FileItem.h: In constructor 'MediaPart::MediaPart(int, const string&, int)':<br />
FileItem.h:107:15: warning: 'MediaPart::key' will be initialized after [-Wreorder]<br />
FileItem.h:106:7: warning:   'int MediaPart::duration' [-Wreorder]<br />
FileItem.h:102:3: warning:   when initialized here [-Wreorder]<br />
In file included from ./ThumbLoader.h:24:0,<br />
                 from ./PictureThumbLoader.h:24,<br />
                 from ../plex/PlexContentWorker.h:19,<br />
                 from GUIWindowHome.h:28,<br />
                 from Application.cpp:143:<br />
./BackgroundInfoLoader.h: In constructor 'CBackgroundRunnerGroup::CBackgroundRunnerGroup(CBackgroundInfoLoader*, CFileItemList&, int, int)':<br />
./BackgroundInfoLoader.h:284:7: warning: 'CBackgroundRunnerGroup::m_nActiveThreads' will be initialized after [-Wreorder]<br />
./BackgroundInfoLoader.h:282:26: warning:   'CBackgroundInfoLoader* CBackgroundRunnerGroup::m_loader' [-Wreorder]<br />
In file included from ./ThumbLoader.h:24:0,<br />
                 from ./PictureThumbLoader.h:24,<br />
                 from ../plex/PlexContentWorker.h:19,<br />
                 from GUIWindowHome.h:28,<br />
                 from Application.cpp:143:<br />
./BackgroundInfoLoader.h:154:3: warning:   when initialized here [-Wreorder]<br />
In file included from ../plex/MyPlexManager.h:22:0,<br />
                 from Application.cpp:281:<br />
../plex/PlexLibrarySectionManager.h: In member function 'void PlexLibrarySectionManager::addLocalSections(const string&, std::vector<boost::shared_ptr<CFileItem> >&)':<br />
../plex/PlexLibrarySectionManager.h:44:82: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<boost::shared_ptr<CFileItem> >::size_type {aka long unsigned int}' [-Wformat]<br />
In file included from ../plex/MyPlexManager.h:23:0,<br />
                 from Application.cpp:281:<br />
../plex/PlexServerManager.h: In constructor 'PlexServer::PlexServer(const string&, const string&, const string&, short unsigned int, const string&)':<br />
../plex/PlexServerManager.h:128:18: warning: 'PlexServer::port' will be initialized after [-Wreorder]<br />
../plex/PlexServerManager.h:126:10: warning:   'std::string PlexServer::token' [-Wreorder]<br />
../plex/PlexServerManager.h:38:3: warning:   when initialized here [-Wreorder]<br />
In file included from ../plex/MyPlexManager.h:23:0,<br />
                 from Application.cpp:281:<br />
../plex/PlexServerManager.h: In member function 'void PlexServerManager::updateServer(const string&, const string&, const string&, short unsigned int, time_t)':<br />
../plex/PlexServerManager.h:224:125: warning: format '%d' expects argument of type 'int', but argument 4 has type 'time_t {aka long int}' [-Wformat]<br />
../plex/PlexServerManager.h: In member function 'void PlexServerManager::setRemoteServers(const std::vector<boost::shared_ptr<PlexServer> >&)':<br />
../plex/PlexServerManager.h:258:153: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<boost::shared_ptr<PlexServer> >::size_type {aka long unsigned int}' [-Wformat]<br />
../plex/PlexServerManager.h:258:153: warning: format '%d' expects argument of type 'int', but argument 4 has type 'std::set<std::basic_string<char> >::size_type {aka long unsigned int}' [-Wformat]<br />
../plex/PlexServerManager.h:258:153: warning: format '%d' expects argument of type 'int', but argument 5 has type 'std::set<boost::shared_ptr<PlexServer> >::size_type {aka long unsigned int}' [-Wformat]<br />
Application.cpp: In destructor 'virtual CApplication::~CApplication()':<br />
Application.cpp:374:10: warning: deleting object of abstract class type 'LaunchHost' which has non-virtual destructor will cause undefined behaviour [-Wdelete-non-virtual-dtor]<br />
make[1]: *** [Application.o] Error 1<br />
make[1]: Leaving directory `/root/setup/plex/plex-linux/xbmc'<br />
make: *** [xbmc/xbmc.a] Error 2<br />


Here’s my error for the AUR package (plexmediacenter-git):



<br />
[root@ht1 plexmediacenter-git]# makepkg -s --asroot<br />
==> Determining latest git revision...<br />
  -> Version found: 20130116<br />
==> Making package: plexmediacenter-git 20130116-1 (Wed Jan 16 13:01:05 MST 2013)<br />
==> Checking runtime dependencies...<br />
==> Installing missing dependencies...<br />
error: target not found: pmount<br />
==> ERROR: 'pacman' failed to install missing dependencies.<br />




Still looking for pmount...


Did you manage to get it built? Looks like pmount has moved to the AUR, hence pacman not finding it. From personal experience, try installing the dependencies yourself and building plex-linux manually. I followed [this post](http://forums.plexapp.com/index.php/topic/34590-read-me-first-pmc-linux-faq/page__view__findpost__p__220399) with some Arch specific changes from the [PKGBUILD](https://aur.archlinux.org/packages/pl/plexmediacenter-git/PKGBUILD). I had some issues with the build failing somewhere inside "xbmc/cores/dvdplayer/Codecs/libdvd/", but I think I got around those by executing "make" from within the directories that complain before continuing the build. Good luck!

EDIT: Updated my Arch install and PMC no longer builds. Modified [pyplex](https://github.com/pearswj/pyplex/tree/mplayer) to use mplayer while I wait for PHT.

Just FYI you should develop packages for Plex home Theater not PLEX media Center, that product is dead.


There is one [in AUR](https://aur.archlinux.org/packages/plexhometheater-git/). Unfortunately, it won't run as of now.

When my new HTPC arrives, I'll try to build it on Arch.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.