Thread Rating:
  • 1 Vote(s) - 5 Average
Linux - LogindUPowerSyscall.cpp:282: error
#1
Hello.

I just tried to install new version of xbmc for CentOS 64bit version. I download it from git repository and after doing 'make' I got this error:

LogindUPowerSyscall.cpp: In member function 'void CLogindUPowerSyscall::InhibitDelayLock()':
LogindUPowerSyscall.cpp:282: error: 'DBUS_TYPE_UNIX_FD' was not declared in this scope
make[1]: *** [LogindUPowerSyscall.o] Error 1
make: *** [xbmc/powermanagement/linux/powermanagement_linux.a] Error 2

How can I resolve this?

Thank you.
Reply
#2
you probably need some development headers, did you read docs/README.linux?
Reply
#3
Yes I read the docs.linux, but there are many dependencies that are not available for CentOS. And I don't know which one is missing.
Reply
#4
Hint: those that are not available
Reply
#5
I have the same problem with Ubuntu 10.04 64 bit:

Code:
LogindUPowerSyscall.cpp: In member function ‘void CLogindUPowerSyscall::InhibitDelayLock()’:
LogindUPowerSyscall.cpp:282: error: ‘DBUS_TYPE_UNIX_FD’ was not declared in this scope
make[1]: *** [LogindUPowerSyscall.o] Error 1
make: *** [xbmc/powermanagement/linux/powermanagement_linux.a] Error 2
make: *** Waiting for unfinished jobs..

It stopped working about 2 weeks ago. No luck since.... :-(
Reply
#6
@Smart79:

you just miss: libdbus-1-dev
Reply
#7
@fritsch

Is there a way around this, because I can't find working libdbus-1-dev for CentOS?
Reply
#8
it is dbus-devel on your OS - that you should know better than me.
Reply
#9
@fritsch: thank you for the fast reply... but sadly :-(

Code:
aptitude install libdbus-1-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B of archives. After unpacking 0B will be used.
Writing extended state information... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reply
#10
@fritsch

I have dbus-devel installed:

Package 1:dbus-devel-1.2.24-7.el6_3.x86_64 already installed and latest version. All installed dbus packages:

dbus-glib-0.86-6.el6.x86_64
dbus-1.2.24-7.el6_3.x86_64
dbus-libs-1.2.24-7.el6_3.x86_64
dbus-devel-1.2.24-7.el6_3.x86_64
dbus-python-0.83.0-6.1.el6.x86_64
dbus-x11-1.2.24-7.el6_3.x86_64
Reply
#11
pastebin a full compilation log. I assume the error is elsewhere. (http://www.pastebin.com)
Reply
#12
@Fritsch: here you go: http://pastebin.com/S32WQbF6
And btw: thank you!!!
Reply
#13
You also have this ancient version 1.2.4 of dbus dev package installed?
Reply
#14
Try that patch:

Code:
diff --git a/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp b/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp
index d2c2a0d..7269392 100644
--- a/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp
+++ b/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp
@@ -279,12 +279,18 @@ void CLogindUPowerSyscall::InhibitDelayLock()
     return;
   }

+  #if defined(DBUS_TYPE_UNIX_FD)
   if (!dbus_message_get_args(reply, NULL, DBUS_TYPE_UNIX_FD, &m_delayLockFd, DBUS_TYPE_INVALID))
   {
     CLog::Log(LOGWARNING, "LogindUPowerSyscall - failed to get inhibit file descriptor");
     m_delayLockFd = -1;
     return;
   }
+  #else
+    CLog::Log(LOGWARNING, "LogindUPowerSyscall - failed to get inhibit file descriptor");
+    m_delayLockFd = -1;
+    return;
+  #endif

     CLog::Log(LOGDEBUG, "LogindUPowerSyscall - inhibit lock taken, fd %i", m_delayLockFd);
}
Reply
#15
I applied the patch but got bunch of this messages:

/xbmc/xbmc/system.h:165:18: warning: extra tokens at end of #ifdef directive
Reply



LogindUPowerSyscall.cpp:282: error51