Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

loginservice.cpp build failure #5

Open
Hertz642 opened this issue Dec 31, 2013 · 3 comments
Open

loginservice.cpp build failure #5

Hertz642 opened this issue Dec 31, 2013 · 3 comments

Comments

@Hertz642
Copy link

I am having a new build failure. I was building against Qt 5.2.0 instead of 5.2.* from their git repository, so it might be that, but you also made some changes to loginservice.cpp since my last build. I tried reverting the changes to that file only, but it didn't seem to affect it.

From the build log:

/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp: In destructor ‘virtual LoginService::~LoginService()’:
/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp:34:12: warning: possible problem detected in invocation of delete operator: [enabled by default]
     delete m_interface;
            ^
/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp:34:12: warning: invalid use of incomplete type ‘class QDBusInterface’ [enabled by default]
In file included from /var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp:23:0:
/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.h:27:7: warning: forward declaration of ‘class QDBusInterface’ [enabled by default]
 class QDBusInterface;
       ^
/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp:34:12: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined
     delete m_interface;
            ^
/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp: In member function ‘virtual void LoginService::init()’:
/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp:40:72: error: ‘QDBusConnection’ has not been declared
                                   "org.freedesktop.login1.Manager", QDBusConnec
                                                                     ^
/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp:40:100: error: invalid use of incomplete type ‘class QDBusInterface’
                "org.freedesktop.login1.Manager", QDBusConnection::systemBus());
                                                                              ^
In file included from /var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp:23:0:
/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.h:27:7: error: forward declaration of ‘class QDBusInterface’
 class QDBusInterface;
       ^
/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp:41:37: error: invalid use of incomplete type ‘class QDBusInterface’
     if (!m_interface || !m_interface->isValid()) {
                                     ^
In file included from /var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp:23:0:
/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.h:27:7: error: forward declaration of ‘class QDBusInterface’
 class QDBusInterface;
       ^
/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp: In member function ‘void LoginService::poweroff()’:
/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp:55:20: error: invalid use of incomplete type ‘class QDBusInterface’
         m_interface->call("PowerOff", true);
                    ^
In file included from /var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp:23:0:
/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.h:27:7: error: forward declaration of ‘class QDBusInterface’
 class QDBusInterface;
       ^
/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp: In member function ‘void LoginService::reboot()’:
/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp:66:20: error: invalid use of incomplete type ‘class QDBusInterface’
         m_interface->call("Reboot", true);
                    ^
In file included from /var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.cpp:23:0:
/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999/src/client/services/login/loginservice.h:27:7: error: forward declaration of ‘class QDBusInterface’
 class QDBusInterface;
       ^
Dependee "/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999_build/src/client/services/processlauncher/CMakeFiles/processlauncher.dir/DependInfo.cmake" is newer than depender "/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999_build/src/client/services/processlauncher/CMakeFiles/processlauncher.dir/depend.internal".
Dependee "/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999_build/src/client/services/processlauncher/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999_build/src/client/services/processlauncher/CMakeFiles/processlauncher.dir/depend.internal".
Scanning dependencies of target processlauncher
make[2]: Leaving directory `/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999_build'
make -f src/client/services/processlauncher/CMakeFiles/processlauncher.dir/build.make src/client/services/processlauncher/CMakeFiles/processlauncher.dir/build
make[2]: *** [src/client/services/login/CMakeFiles/loginservice.dir/loginservice.cpp.o] Error 1
make[2]: Leaving directory `/var/tmp/portage/app-misc/orbital-9999/work/orbital-9999_build'
make[1]: *** [src/client/services/login/CMakeFiles/loginservice.dir/all] Error 2
make[1]: /usr/bin/cmake -E cmake_progress_report /var/tmp/portage/app-misc/orbital-9999/work/orbital-9999_build/CMakeFiles 8
*** Waiting for unfinished jobs....
@Hertz642
Copy link
Author

Hertz642 commented Jan 1, 2014

I have tried the following and the problem is the same:

Use the first version of Orbital that I tried.
Use the current version with loginservice.cpp rolled back.
Switched between Qt 5.2.0 and the current 5.2.* from Qt's Git server.
Switched between dbus-1.6.12 and dbus-1.6.18-r1.
Tried installing the extra qdbus headers, and various other package tweaks.
Tried rebuilding packages, links, etc.

I know it is some kind of problem with my system, but it doesn't seem to want to go away!

@giucam
Copy link
Owner

giucam commented Jan 1, 2014

the qdbusinterface.h header defines the QDbusInterface class in a #ifndef QT_NO_DBUS branch. Are you sure you didn't set QT_NO_DBUS somehow?

@Hertz642
Copy link
Author

Hertz642 commented Jan 1, 2014

I didn't set it myself.

I fixed this by rebuilding every single package that had ever had something it depended on get upgraded since it got installed. I'm still not sure what exactly caused this, except that it has something to do with what packages I built or how.

What Qt and Dbus versions are you using? I might have a dependency version problem/mismatch somewhere.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants