Headless Kodi

  Thread Rating:
  • 5 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
wyild1 Offline
Posting Freak
Posts: 848
Joined: Jan 2007
Reputation: 5
Post: #46
Hi!

I get this error on make install

Code:
Copying kodi binary to /opt/kodi-helix-headless/lib/kodi/
install: cannot stat ‘kodi-xrandr’: No such file or directory
make: *** [install-binaries] Error 1

all I can find in the root is xbmc-xrandr.c but not kodi-xrandr. I think i got all deps...am I missing something?
Code:
xbmc@NASTY:~/kodi-helix-headless$ find . -name xbmc-xrandr*
./xbmc-xrandr.c
xbmc@NASTY:~/kodi-helix-headless$ find . -name kodi-xrandr*

Comping on Mythbuntu 14.04 64bit if that helps

Cheers!
find quote
Odon Offline
Member
Posts: 85
Joined: Apr 2010
Reputation: 0
Post: #47
Working within a Debian Jail on FreeNAS 9.3 Big Grin
(No GUI, configured with sparklyballs options)
find quote
fma965 Offline
Fan
Posts: 411
Joined: Sep 2012
Reputation: 8
Location: United Kingdom
Post: #48
(2015-01-06 05:33)wyild1 Wrote:  Hi!

I get this error on make install

Code:
Copying kodi binary to /opt/kodi-helix-headless/lib/kodi/
install: cannot stat ‘kodi-xrandr’: No such file or directory
make: *** [install-binaries] Error 1

all I can find in the root is xbmc-xrandr.c but not kodi-xrandr. I think i got all deps...am I missing something?
Code:
xbmc@NASTY:~/kodi-helix-headless$ find . -name xbmc-xrandr*
./xbmc-xrandr.c
xbmc@NASTY:~/kodi-helix-headless$ find . -name kodi-xrandr*

Comping on Mythbuntu 14.04 64bit if that helps

Cheers!

shot in the dark... rename it to kodi-xrandr?
find quote
wsnipex Offline
Team-Kodi
Posts: 6,264
Joined: Jun 2011
Reputation: 161
Post: #49
no, there must have been an error during compilation.
find quote
wyild1 Offline
Posting Freak
Posts: 848
Joined: Jan 2007
Reputation: 5
Post: #50
(2015-01-06 13:28)wsnipex Wrote:  no, there must have been an error during compilation.

Yup looks like your right. I didnt see it right away as the error happened on one job, but i had -j4 going so it wasnt the last thing that failed.

Here is the error. I have to go to work so i will look at recompiling after work.

Code:
PeripheralCecAdapter.cpp: In member function ‘void PERIPHERALS::CPeripheralCecAdapter::PushCecKeypress(const cec_keypress&)’:
PeripheralCecAdapter.cpp:865:8: error: ‘CEC_USER_CONTROL_CODE_TOP_MENU’ was not declared in this scope
   case CEC_USER_CONTROL_CODE_TOP_MENU:
        ^
PeripheralCecAdapter.cpp:869:8: error: ‘CEC_USER_CONTROL_CODE_DVD_MENU’ was not declared in this scope
   case CEC_USER_CONTROL_CODE_DVD_MENU:
        ^
PeripheralCecAdapter.cpp:1070:8: error: ‘CEC_USER_CONTROL_CODE_NUMBER_ENTRY_MODE’ was not declared in this scope
   case CEC_USER_CONTROL_CODE_NUMBER_ENTRY_MODE:
        ^
PeripheralCecAdapter.cpp:1071:8: error: ‘CEC_USER_CONTROL_CODE_NUMBER11’ was not declared in this scope
   case CEC_USER_CONTROL_CODE_NUMBER11:
        ^
PeripheralCecAdapter.cpp:1072:8: error: ‘CEC_USER_CONTROL_CODE_NUMBER12’ was not declared in this scope
   case CEC_USER_CONTROL_CODE_NUMBER12:
        ^
PeripheralCecAdapter.cpp:1073:8: error: ‘CEC_USER_CONTROL_CODE_SELECT_BROADCAST_TYPE’ was not declared in this scope
   case CEC_USER_CONTROL_CODE_SELECT_BROADCAST_TYPE:
        ^
PeripheralCecAdapter.cpp:1074:8: error: ‘CEC_USER_CONTROL_CODE_SELECT_SOUND_PRESENTATION’ was not declared in this scope
   case CEC_USER_CONTROL_CODE_SELECT_SOUND_PRESENTATION:
        ^
PeripheralCecAdapter.cpp: In member function ‘void PERIPHERALS::CPeripheralCecAdapter::SetConfigurationFromSettings()’:
PeripheralCecAdapter.cpp:1291:35: error: ‘CEC_CLIENT_VERSION_2_2_0’ was not declared in this scope
   m_configuration.clientVersion = CEC_CLIENT_VERSION_2_2_0;
                                   ^
In file included from /home/xbmc/kodi-helix-headless/xbmc/guilib/GUIControl.h:30:0,
                 from /home/xbmc/kodi-helix-headless/xbmc/guilib/GUIControlGroup.h:28,
                 from /home/xbmc/kodi-helix-headless/xbmc/guilib/GUIWindow.h:31,
                 from /home/xbmc/kodi-helix-headless/xbmc/guilib/GUIDialog.h:28,
                 from /home/xbmc/kodi-helix-headless/xbmc/dialogs/GUIDialogKaiToast.h:23,
                 from PeripheralCecAdapter.cpp:29:
/home/xbmc/kodi-helix-headless/xbmc/guilib/GraphicContext.h: At global scope:
/home/xbmc/kodi-helix-headless/xbmc/guilib/GraphicContext.h:288:150: warning: ‘g_graphicsContext’ defined but not used [-Wunused-variable]
XBMC_GLOBAL(CGraphicContext,g_graphicsContext);
                                                                                                                                                      ^
make[1]: *** [PeripheralCecAdapter.o] Error 1
make: *** [xbmc/peripherals/devices/peripheral-devices.a] Error 2
make: *** Waiting for unfinished jobs....

I am guessing the steps to compile XBMC/Kodi from source are the same ones to use for this right?

Cheers!
find quote
sparklyballs Offline
Senior Member
Posts: 142
Joined: Feb 2012
Reputation: 1
Post: #51
(2015-01-06 15:13)wyild1 Wrote:  
(2015-01-06 13:28)wsnipex Wrote:  no, there must have been an error during compilation.

Yup looks like your right. I didnt see it right away as the error happened on one job, but i had -j4 going so it wasnt the last thing that failed.

Here is the error. I have to go to work so i will look at recompiling after work.

Code:
PeripheralCecAdapter.cpp: In member function ‘void PERIPHERALS::CPeripheralCecAdapter::PushCecKeypress(const cec_keypress&)’:
PeripheralCecAdapter.cpp:865:8: error: ‘CEC_USER_CONTROL_CODE_TOP_MENU’ was not declared in this scope
   case CEC_USER_CONTROL_CODE_TOP_MENU:
        ^
PeripheralCecAdapter.cpp:869:8: error: ‘CEC_USER_CONTROL_CODE_DVD_MENU’ was not declared in this scope
   case CEC_USER_CONTROL_CODE_DVD_MENU:
        ^
PeripheralCecAdapter.cpp:1070:8: error: ‘CEC_USER_CONTROL_CODE_NUMBER_ENTRY_MODE’ was not declared in this scope
   case CEC_USER_CONTROL_CODE_NUMBER_ENTRY_MODE:
        ^
PeripheralCecAdapter.cpp:1071:8: error: ‘CEC_USER_CONTROL_CODE_NUMBER11’ was not declared in this scope
   case CEC_USER_CONTROL_CODE_NUMBER11:
        ^
PeripheralCecAdapter.cpp:1072:8: error: ‘CEC_USER_CONTROL_CODE_NUMBER12’ was not declared in this scope
   case CEC_USER_CONTROL_CODE_NUMBER12:
        ^
PeripheralCecAdapter.cpp:1073:8: error: ‘CEC_USER_CONTROL_CODE_SELECT_BROADCAST_TYPE’ was not declared in this scope
   case CEC_USER_CONTROL_CODE_SELECT_BROADCAST_TYPE:
        ^
PeripheralCecAdapter.cpp:1074:8: error: ‘CEC_USER_CONTROL_CODE_SELECT_SOUND_PRESENTATION’ was not declared in this scope
   case CEC_USER_CONTROL_CODE_SELECT_SOUND_PRESENTATION:
        ^
PeripheralCecAdapter.cpp: In member function ‘void PERIPHERALS::CPeripheralCecAdapter::SetConfigurationFromSettings()’:
PeripheralCecAdapter.cpp:1291:35: error: ‘CEC_CLIENT_VERSION_2_2_0’ was not declared in this scope
   m_configuration.clientVersion = CEC_CLIENT_VERSION_2_2_0;
                                   ^
In file included from /home/xbmc/kodi-helix-headless/xbmc/guilib/GUIControl.h:30:0,
                 from /home/xbmc/kodi-helix-headless/xbmc/guilib/GUIControlGroup.h:28,
                 from /home/xbmc/kodi-helix-headless/xbmc/guilib/GUIWindow.h:31,
                 from /home/xbmc/kodi-helix-headless/xbmc/guilib/GUIDialog.h:28,
                 from /home/xbmc/kodi-helix-headless/xbmc/dialogs/GUIDialogKaiToast.h:23,
                 from PeripheralCecAdapter.cpp:29:
/home/xbmc/kodi-helix-headless/xbmc/guilib/GraphicContext.h: At global scope:
/home/xbmc/kodi-helix-headless/xbmc/guilib/GraphicContext.h:288:150: warning: ‘g_graphicsContext’ defined but not used [-Wunused-variable]
XBMC_GLOBAL(CGraphicContext,g_graphicsContext);
                                                                                                                                                      ^
make[1]: *** [PeripheralCecAdapter.o] Error 1
make: *** [xbmc/peripherals/devices/peripheral-devices.a] Error 2
make: *** Waiting for unfinished jobs....

I am guessing the steps to compile XBMC/Kodi from source are the same ones to use for this right?

Cheers!

that's a dependency issue with libcec, two fixes i know of (there are probably others, and these may not be the best options out there) , get the right dep or just add the follwing to configure stage

Code:
--disable-libcec
find quote
ironic_monkey Offline
Posting Freak
Posts: 1,324
Joined: Nov 2013
Reputation: 63
Post: #52
Or somebody fix the darn configure as should have been done in the first place (i did point it out on several occasions).
find quote
wyild1 Offline
Posting Freak
Posts: 848
Joined: Jan 2007
Reputation: 5
Post: #53
(2015-01-06 15:18)sparklyballs Wrote:  that's a dependency issue with libcec, two fixes i know of (there are probably others, and these may not be the best options out there) , get the right dep or just add the follwing to configure stage

Code:
--disable-libcec

Yup that was it! Thanks! it compiled and started. Will do more testing later
find quote
wyild1 Offline
Posting Freak
Posts: 848
Joined: Jan 2007
Reputation: 5
Post: #54
Sweet. Have it running just great now. Thanks for all the work! This will work great on my new NAS build
find quote
Solo0815 Offline
Posting Freak
Posts: 901
Joined: Sep 2004
Reputation: 9
Location: Germany
Post: #55
I'm trying to get this working on OpenMediaVault

How about adding a "--disable-gui" switch for "configure"?
With this on, all GUI-stuff can be disabled, like libcec, gl, libdrm-dev etc. and don't have to be installed on a NAS for compiling.


And: We need a Webinterface with all the settings. But thats another area Wink

PC: Kubuntu 16.10 and Win7/10 --- Wetek Play: LibreELEC 7.95.x --- RPi3: 7.95.x --- NAS: OMV 2.x
(This post was last modified: 2015-01-07 21:25 by Solo0815.)
find quote
sparklyballs Offline
Senior Member
Posts: 142
Joined: Feb 2012
Reputation: 1
Post: #56
(2015-01-07 21:23)Solo0815 Wrote:  I'm trying to get this working on OpenMediaVault

How about adding a "--disable-gui" switch for "configure"?
With this on, all GUI-stuff can be disabled, like libcec, gl, libdrm-dev etc. and don't have to be installed on a NAS for compiling.


And: We need a Webinterface with all the settings. But thats another area Wink



i use these disables/enables for unraid nas.

Code:
./configure \
--enable-nfs \
--enable-upnp \
--enable-ssh \
--enable-libbluray \
--disable-debug \
--disable-vdpau \
--disable-vaapi \
--disable-crystalhd \
--disable-vdadecoder \
--disable-vtbdecoder \
--disable-openmax \
--disable-joystick \
--disable-rsxs \
--disable-projectm \
--disable-rtmp \
--disable-airplay \
--disable-airtunes \
--disable-dvdcss \
--disable-optical-drive \
--disable-libusb \
--disable-libcec \
--disable-libmp3lame \
--disable-libcap \
--disable-udev \
--disable-libvorbisenc \
--disable-asap-codec \
--disable-afpclient \
--disable-goom \
--disable-fishbmc \
--disable-spectrum \
--disable-waveform \
--disable-avahi \
--disable-non-free \
--disable-texturepacker \
--disable-pulse \
--disable-dbus \
--disable-alsa \
--disable-hal \
find quote
Solo0815 Offline
Posting Freak
Posts: 901
Joined: Sep 2004
Reputation: 9
Location: Germany
Post: #57
I used the same disables/enables to compile it. The headless Kodi compiled fine in a VM. I want to run the compiled version on my OMV-Server (Debian Wheezy). What packages need to be installed?
The "old XBMC-Library-Scanner" ran out of the box after compiling in the VM and copying to the Server. I don't want to install 87346 packages just for Kodi-headless Angel
Thx

PS: Can someone make a docker container for Debian out of it?

PC: Kubuntu 16.10 and Win7/10 --- Wetek Play: LibreELEC 7.95.x --- RPi3: 7.95.x --- NAS: OMV 2.x
(This post was last modified: 2015-01-08 10:28 by Solo0815.)
find quote
sparklyballs Offline
Senior Member
Posts: 142
Joined: Feb 2012
Reputation: 1
Post: #58
(2015-01-08 10:26)Solo0815 Wrote:  I used the same disables/enables to compile it. The headless Kodi compiled fine in a VM. I want to run the compiled version on my OMV-Server (Debian Wheezy). What packages need to be installed?
The "old XBMC-Library-Scanner" ran out of the box after compiling in the VM and copying to the Server. I don't want to install 87346 packages just for Kodi-headless Angel
Thx

PS: Can someone make a docker container for Debian out of it?

if you're just looking for a kodi-headless server install in a docker , i have them based on ubuntu 12.04 or 14.04.
find quote
Solo0815 Offline
Posting Freak
Posts: 901
Joined: Sep 2004
Reputation: 9
Location: Germany
Post: #59
Do you have a guide to create a docker container out of the compile?
Maybe you can also provide me a DL link, so that I can try your containers on Debian wheezy?
Thx

PC: Kubuntu 16.10 and Win7/10 --- Wetek Play: LibreELEC 7.95.x --- RPi3: 7.95.x --- NAS: OMV 2.x
find quote
sparklyballs Offline
Senior Member
Posts: 142
Joined: Feb 2012
Reputation: 1
Post: #60
(2015-01-08 16:27)Solo0815 Wrote:  Do you have a guide to create a docker container out of the compile?
Maybe you can also provide me a DL link, so that I can try your containers on Debian wheezy?
Thx


Code:
# set base os
FROM debian:wheezy
ENV DEBIAN_FRONTEND noninteractive
# Set correct environment variables
ENV HOME /root

# Install KODI build dependencies
RUN apt-get update && \
apt-get install libdrm-dev automake autopoint bison build-essential ccache cmake curl cvs default-jre fp-compiler gawk gdc gettext git-core gperf libasound2-dev libass-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libbluetooth-dev libbluray-dev libbluray1 libboost-dev libboost-thread-dev libbz2-dev libcap-dev libcdio-dev libcec-dev libcec1 libcrystalhd-dev libcrystalhd3 libcurl3 libcurl4-gnutls-dev libcwiid-dev libcwiid1 libdbus-1-dev libenca-dev libflac-dev libfontconfig-dev libfreetype6-dev libfribidi-dev libglew-dev libiso9660-dev libjasper-dev libjpeg-dev libltdl-dev liblzo2-dev libmad0-dev libmicrohttpd-dev libmodplug-dev libmp3lame-dev libmpeg2-4-dev libmpeg3-dev libmysqlclient-dev libnfs-dev libogg-dev libpcre3-dev libplist-dev libpng-dev libpostproc-dev libpulse-dev libsamplerate-dev libsdl-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libshairport-dev libsmbclient-dev libsqlite3-dev libssh-dev libssl-dev libswscale-dev libtiff-dev libtinyxml-dev libtool libudev-dev libusb-dev libva-dev libva-egl1 libva-tpi1 libvdpau-dev libvorbisenc2 libxml2-dev libxmu-dev libxrandr-dev libxrender-dev libxslt1-dev libxt-dev libyajl-dev mesa-utils nasm pmount python-dev python-imaging python-sqlite swig unzip yasm zip zlib1g-dev wget supervisor -y && \

wget http://pkgs.fedoraproject.org/lookaside/pkgs/taglib/taglib-1.8.tar.gz/dcb8bd1b756f2843e18b1fdf3aaeee15/taglib-1.8.tar.gz && \
tar xzf taglib-1.8.tar.gz && \
cd taglib-1.8 && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_RELEASE_TYPE=Release . && \
make && \
make install && \
cd / && \
# Main git source
git clone https://github.com/topfs2/xbmc.git && \
cd xbmc && \
# checkout branch/tag
git checkout helix_headless && \
# Configure, make, clean.
./bootstrap && \
./configure \
--enable-nfs \
--enable-upnp \
--enable-ssh \
--enable-libbluray \
--disable-debug \
--disable-vdpau \
--disable-vaapi \
--disable-crystalhd \
--disable-vdadecoder \
--disable-vtbdecoder \
--disable-openmax \
--disable-joystick \
--disable-rsxs \
--disable-projectm \
--disable-rtmp \
--disable-airplay \
--disable-airtunes \
--disable-dvdcss \
--disable-optical-drive \
--disable-libusb \
--disable-libcec \
--disable-libmp3lame \
--disable-libcap \
--disable-udev \
--disable-libvorbisenc \
--disable-asap-codec \
--disable-afpclient \
--disable-goom \
--disable-fishbmc \
--disable-spectrum \
--disable-waveform \
--disable-avahi \
--disable-non-free \
--disable-texturepacker \
--disable-pulse \
--disable-dbus \
--disable-alsa \
--disable-hal \
--prefix=/opt/kodi-server && \
make && \
make install && \
apt-get purge --remove -y automake autopoint build-essential wget git-core bison cmake curl gawk gdc ccache curl && \
apt-get autoremove -y && \
rm -rf /xbmc

RUN echo "[supervisord]" >> /etc/supervisor/conf.d/supervisord.conf && \
echo "nodaemon=true" >> /etc/supervisor/conf.d/supervisord.conf && \
echo "[program:kodi-server]" >> /etc/supervisor/conf.d/supervisord.conf && \
echo "command=/opt/kodi-server/lib/kodi/kodi.bin --nolirc --headless -p" >> /etc/supervisor/conf.d/supervisord.conf
EXPOSE 9777/udp 80/tcp
ENTRYPOINT ["/usr/bin/supervisord"]


give this a whirl, it's an all in one dockerfile, builds in wheezy.

you'll need to provide an advancedsettings.xml with your mysql details in, config is /opt/kodi-server/share/kodi/portable_data, port is 80 (you'll probably need to remap) it throws up some error about clementine, but the webui works, that's as far as i've tested.
find quote
Post Reply