INTERACT FORUM

More => Old Versions => JRiver Media Center 20 for Linux => Topic started by: agillis on October 14, 2013, 09:49:46 pm

Title: Fedora Linux Setup for JRiver Media Center
Post by: agillis on October 14, 2013, 09:49:46 pm
[Edit by JimH -- for Fedora setup, please see this thread (http://yabb.jriver.com/interact/index.php?topic=84427.0).]


I am very interested in getting JRiver running on Fedora Linux. I got some good information for users in another post who seem to have it working. I want to document it once its working and make an RPM so it's easy for other Fedora users to get it working.

This is what I have done so far.

Install dependencies.

RemyJ then recommended this.

Do a
# yum list *font*75* *75*font*
and install the ones you're missing.

To be safe, run the following and make sure there are no missing libraries
# ldd /usr/src/mediacenter
# find /usr/lib/jriver -name '*.so' -print0 -exec ldd '{}' ';'

I did all that and I still get a segfault. The output of the commands is list below. (i attached the full output of the second command) Looks like maybe I'm having a problems with libcurl.so.4 but I do have libcurl installed. Any ideas?



Code: [Select]
ldd /usr/bin/mediacenter
        linux-gate.so.1 =>  (0xb7783000)
        libX11.so.6 => /lib/libX11.so.6 (0x4ed19000)
        librt.so.1 => /lib/librt.so.1 (0x4e824000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x4e808000)
        libstdc++.so.6 => /lib/libstdc++.so.6 (0x4ec01000)
        libm.so.6 => /lib/libm.so.6 (0x4e7bf000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x4e848000)
        libc.so.6 => /lib/libc.so.6 (0x4e607000)
        libdl.so.2 => /lib/libdl.so.2 (0x4e801000)
        libxcb.so.1 => /lib/libxcb.so.1 (0x4ecf5000)
        /lib/ld-linux.so.2 (0x4e5e4000)
        libXau.so.6 => /lib/libXau.so.6 (0x4ecef000)

Code: [Select]
find /usr/lib/jriver -name '*.so' -print0 -exec ldd '{}' ';'
/usr/lib/jriver/Media Center 19/libJRReader.so/usr/lib/jriver/Media Center 19/libJRReader.so: /lib/libcurl.so.4: no version information available (required by /usr/lib/jriver/Media Center 19/libJRReader.so)


Title: Re: JRiver on Fedora Linux
Post by: RemyJ on October 15, 2013, 08:32:19 am
I packaged this up yesterday...

Extract the zip into any directory.  It'll create a mediacenter-19 subdirectory and and the usual rpmbuild structure below that.

Code: [Select]
cd SOURCES
ls
# notice that there's a 32 bit version of libcurl compiled with the CURL_OPENSSL_3 version tag.
# There's also a desktop file and a conf file that will go into /etc/ld.so.conf.d that tells mediacenter where to look for the new libcurl.

# Now download the deb file.  Version 52 is the latest that works for me.
wget http://files.jriver.com/mediacenter/channels/v19/latest/MediaCenter-19.0.52.deb

cd ../SPECS
# Edit the mc.spec file so _version matches the version you just downloaded.

# Now build the RPM
./rpmb -bb --target=i686-redhat-linux-gnu mc.spec

cd ../RPMS/i686
# Install the rpm.
yum localinstall MediaCenter-<version>.rpm


Give this a shot and let me know how it works.
Title: Re: JRiver on Fedora Linux
Post by: JimH on October 15, 2013, 09:05:28 am
Thank you, Remy.
Title: Re: JRiver on Fedora Linux
Post by: RemyJ on October 15, 2013, 11:36:24 am
No problem. 

Just FYI Jim, there has to be a "License" line in the spec file or you can't build the rpm.  Here's what I used (from the About dialog)...
"Copyright 1998-2013, JRiver, Inc.  All rights reserved.  Protected by U.S. patents #7076468 and #7062468"

Title: Re: JRiver on Fedora Linux
Post by: agillis on October 15, 2013, 01:26:12 pm
Thanks a lot for doing this I'm getting closer. This is the error I'm getting now. Where did you get that binary libcurl.so.4.3.0 you included in the your RPM? It looks like this required GLIBC_2.17 and Fedora 18 only has GLIBC_2.16. So it looks like this will only work on Fedora 19. I'm OK with that I'll build a Fedora 19 machine and test it.

Code: [Select]
mediacenter
JRiver install path (process: 668): /usr/lib/jriver/Media Center 19/
CJRSharedToolsHelper::AuthenticateJRSharedLib
JRFileSystem::GetDirectoryAppdataCommon
CJRSharedToolsHelper::AuthenticateJRSharedLib
JRFileSystem::GetDirectoryDocuments
JRFileSystem::GetDirectoryDesktop
JRTools checking thread
CJRSharedToolsHelper::AuthenticateJRSharedLib
/lib/libc.so.6: version `GLIBC_2.17' not found (required by /usr/lib/jriver/Media Center 19/libcurl.so.4)
/lib/libc.so.6: version `GLIBC_2.17' not found (required by /usr/lib/jriver/Media Center 19/libcurl.so.4)
/lib/libc.so.6: version `GLIBC_2.17' not found (required by /usr/lib/jriver/Media Center 19/libcurl.so.4)
Title: Re: JRiver on Fedora Linux
Post by: RemyJ on October 15, 2013, 01:37:13 pm
Ah, I didn't think about the glibc version.   I simply compiled curl with a modified version file that added CURL_OPENSSL_3 to libcurl.so.

Let me play with that a little.  Maybe when the rpm installs I can take a copy of the system's existing libcurl to the jriver directory and add CURL_OPENSSL_3 to it.


Title: Re: JRiver on Fedora Linux
Post by: agillis on October 15, 2013, 01:38:21 pm
I built a Fedora 20 machine. It has all the correct deps. I built and installed your RPM on it. (Although I don't think it needs the libcurl.so.4.3.0 anymore). I ran the ldd commands and they all come up clean. I'm still getting a segfault.

Any other good ways to trouble shoot this?

Code: [Select]
# mediacenter
JRiver install path (process: 2110): /usr/lib/jriver/Media Center 19/
CJRSharedToolsHelper::AuthenticateJRSharedLib
JRFileSystem::GetDirectoryAppdataCommon
CJRSharedToolsHelper::AuthenticateJRSharedLib
JRFileSystem::GetDirectoryDocuments
JRFileSystem::GetDirectoryDesktop
JRTools checking thread
CJRSharedToolsHelper::AuthenticateJRSharedLib
CJRSharedToolsHelper::AuthenticateJRSharedLib
JROs -- analyze operating system
Segmentation fault
Title: Re: JRiver on Fedora Linux
Post by: agillis on October 15, 2013, 01:41:45 pm
Can you give me a little more info about the machine you have this working on? What version of Fedora is it? Does it have an X desktop of some kind running and is this required? I am using command line only systems here.

Title: Re: JRiver on Fedora Linux
Post by: RemyJ on October 15, 2013, 01:45:35 pm
It's an i7 Fedora 19 x86_64 system running a full XFCE desktop.   Let me try it on one of my command line only systems.
Title: Re: JRiver on Fedora Linux
Post by: RemyJ on October 15, 2013, 01:56:38 pm
I think I found part of the problem...  Although the spec file requires libX11, it doesn't explicitly state i686 so when the rpm installs, it installs the x86_64 version.

Fixing...

[edit]
I'm actually going to eat lunch first. :)
Title: Re: JRiver on Fedora Linux
Post by: agillis on October 15, 2013, 02:25:20 pm
I'm using 32-bit Fedora so this should not be a problem for me. This is the libX11 RPMs it installed on my system.

Code: [Select]
# rpm -qa | grep libX11
libX11-common-1.6.1-1.fc20.noarch
libX11-1.6.1-1.fc20.i686


Title: Re: JRiver on Fedora Linux
Post by: RemyJ on October 15, 2013, 02:47:22 pm
So you're running on a system without an xserver running?  I think that's what's causing the segfault.   I just tried it and it does segfault if not run from an x-session.
Title: Re: JRiver on Fedora Linux
Post by: agillis on October 15, 2013, 02:54:41 pm
OK that's to bad I was hoping to be able to run it from command line with not X GUI and just use the web interface.

I have to put this in as a feature request :)

Title: Re: Fedora Linux Setup for JRiver Media Center
Post by: bob on October 15, 2013, 05:08:26 pm
Shouldn't need a server installed. The fixed xfonts 75 and 100 dpi and the libX11 should do it. Then the command line
mediacenter /mediaserver
Title: Re: Fedora Linux Setup for JRiver Media Center
Post by: RemyJ on October 15, 2013, 05:49:44 pm
Still segfaults even on a machine with a full x-desktop installed but just not running.