INTERACT FORUM
More => Old Versions => JRiver Media Center 20 for Linux => Topic started 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?
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)
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)
-
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.
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.
-
Thank you, Remy.
-
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"
-
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.
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)
-
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.
-
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?
# 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
-
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.
-
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.
-
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. :)
-
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.
# rpm -qa | grep libX11
libX11-common-1.6.1-1.fc20.noarch
libX11-1.6.1-1.fc20.i686
-
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.
-
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 :)
-
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
-
Still segfaults even on a machine with a full x-desktop installed but just not running.