error while loading shared libraries

When I run a force refresh like this



/usr/lib/plexmediaserver/Plex\ Media\ Scanner --scan --deep --refresh --force --section 1



I get this message


/usr/lib/plexmediaserver/Plex Media Scanner: error while loading shared libraries: libboost_system.so.1.47.0: cannot open shared object file: No such file or directory



So I run this command


ldd /usr/lib/plexmediaserver/Plex\ Media\ Server | grep "not found"



And this is the output


libboost_system.so.1.47.0 => not found<br />
libboost_filesystem.so.1.47.0 => not found<br />
libboost_thread.so.1.47.0 => not found<br />
libboost_iostreams.so.1.47.0 => not found<br />
libboost_regex.so.1.47.0 => not found<br />
libboost_signals.so.1.47.0 => not found<br />
libboost_program_options.so.1.47.0 => not found<br />
libavutil.so.50 => not found<br />
libavcodec.so.52 => not found<br />
libavformat.so.52 => not found<br />
libswscale.so.0 => not found<br />
libnatpmp.so.1 => not found<br />
libminiupnpc.so.8 => not found<br />
libiconv.so.2 => not found<br />
libcurl.so.4 => not found<br />
libsoci_core-gcc-3_0-3.0.0.so => not found<br />
libsoci_sqlite3-gcc-3_0-3.0.0.so => not found<br />
libpython2.7.so.1.0 => not found<br />
libfreeimage.so.3 => not found<br />
libjemalloc.so.1 => not found



Can anyone help me resolve these dependencies?

All the dependencies are shipped with Plex in /usr/lib/plexmediaserver



try this:



<br />
export LD_LIBRARY_PATH=/usr/lib/plexmediaserver<br />
/usr/lib/plexmediaserver/Plex\ Media\ Scanner<br />




Also remember that you have to run this as the plex user, since otherwise it won't find your library.

In order to run the command as the Plex user, won’t I have to login as the Plex user?

How will I do that? I have never set a password for the Plex user.

So how can I run the command as the Plex user?


sudo su plex -



Hmmm.

sudo su plex -
This account is currently not available.

Looking in /etc/passwd I see the plex user has a shell of /sbin/nologin

Bob
Fedora version 16

Use this instead on centos/fedora bilde:



<br />
sudo -s /bin/sh plex<br />




Since user per default has no shell you need to define one.

/Mark


Doh! (Homer Simpson headslap moment) I forgot you can specify a shell when su'ing to someone else.

Cheers,
bob

Hi,



I am trying to start Plex Server on Fedora (x86-64) as “plex” but I am getting following error:



[root@hojo ~]# sudo -s /bin/sh plex

/bin/sh: plex: No such file or directory

[root@hojo ~]#





So, should I create the user “plex” via adduser ?



My system info:

[root@hojo ~]# uname -a

Linux hojo 3.5.3-1.fc17.x86_64 #1 SMP Wed Aug 29 18:46:34 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

[root@hojo ~]#



[root@hojo ~]# rpm -qa| grep -i plex

plexmediaserver-0.9.6.8.228-e6ae65a.x86_64

[root@hojo ~]#





Will appreciate some help towards resolution.



Thanks,

dk.

Hi,



I just found solution in one post…All I had to do was as “root”



/etc/init.d/plexmediaserver start



and then in the browser : http://IP_ADDR:32400/manage/index.html



May be, the wiki should be updated for completeness. Lots of semi and inexperienced users would be benefitted.



Thanks,

DK.



Hi DK,

to gather as much info for the wiki as possible, would you mind telling me how you installed the rpm? Did you do that from terminal as root?

/Mark

Hi Mark,



I installed it as “root” via “yum” from the yum repo as described here --> http://forums.plexapp.com/index.php/topic/42502-rpm-repo-update-for-centosfedora-gpg-key/



Thanks,

DK.



I think it's an error that the ubuntu packages do not properly configure this library path upon installation. I just wasted a bunch of time investigating why I didn't have libiconv on my ubuntu system only to find that it's a local library, but in a location my system knows nothing about (and I had no idea there was an extra step to make it work).

Ubuntu for a long time does not allow you to set this environment variable from user files for security reasons.

The secure and correct way to do this is to place a package-specific file in
/etc/ld.so.conf.d

I created one and then configured the link loader via ldconfig:


<br />
$ sudo su -<br />
# ldd "/usr/lib/plexmediaserver/Resources/Plex Transcoder" | grep libiconv<br />
        libiconv.so.2 => not found<br />
# echo "/usr/lib/plexmediaserver" > /etc/ld.so.conf.d/plexmediaserver.conf<br />
# ldconfig<br />
# ldd "/usr/lib/plexmediaserver/Resources/Plex Transcoder" | grep libiconv<br />
        libiconv.so.2 => /usr/lib/plexmediaserver/libiconv.so.2 (0x00007f03dd611000)<br />




I think that the ubuntu packages should actually do the above for you. I was getting 404 errors trying to play some mp4 files and only when I tried running the failing command manually did I see that the error was it couldn't load some library files that actually are already sitting there, causing the transcode to fail and causing a spurious 404 trying to play a video that was in no way apparently related initially.

Hope this helps you all and hope to see this in the pkg updates.


WOW, NO never ever do that. We ship patched strange version of a lot of libs that can really mess up your system. Adding that to the global library cache is BAD BAD BAD. Running the server as intended from upstart works just fine for all of us. So your problem must be something else, but please remove that line quickly and rerun ldconfig.

2 posts were split to a new topic: Customizing PMS after 1.15.0 update on Linux