duvholt / i3-pager

Plasmoid pager for integrating i3 with KDE Plasma
GNU General Public License v3.0
36 stars 14 forks source link

The plasma5 branch no longer compiles #36

Open windowsrefund opened 2 months ago

windowsrefund commented 2 months ago

This appears to be have already been reported here

duvholt commented 2 months ago

I tried to fix this in https://github.com/duvholt/i3-pager/commits/plasma5-libsigc-3/ but as can be seen in the last build were I try to build this with both libsigc++2 and libsigc++3 it seems like we currently can't support both.

Ubuntu 22.04 doesn't include libsigc++2 so by upgrading i3ipc++ in the plasma5 branch we might just break the build for another group instead. The best solution would be to fix i3ipc++ so that it supports both versions, but in the meantime you can test the plasma5-libsigc-3 branch.

windowsrefund commented 2 months ago

Thanks so much. I will give it a go.

windowsrefund commented 2 months ago

No workie

/home/foobar/src/i3-pager/i3ipc++/src/ipc.cpp: In constructor ‘i3ipc::connection::connection(const std::string&)’:
/home/foobar/src/i3-pager/i3ipc++/src/ipc.cpp:337:9: error: ‘signal_event’ was not declared in this scope; did you mean ‘sigevent’?
  337 |         signal_event.connect([this](EventType  event_type, const std::shared_ptr<const buf_t>&  buf) {
      |         ^~~~~~~~~~~~
      |         sigevent
/home/foobar/src/i3-pager/i3ipc++/src/ipc.cpp: In lambda function:
/home/foobar/src/i3-pager/i3ipc++/src/ipc.cpp:447:33: error: ‘signal_binding_event’ was not declared in this scope; did you mean ‘signal_window_event’?
  447 |                                 signal_binding_event.emit(*bptr);
      |                                 ^~~~~~~~~~~~~~~~~~~~
      |                                 signal_window_event
/home/foobar/src/i3-pager/i3ipc++/src/ipc.cpp: In member function ‘void i3ipc::connection::handle_event()’:
/home/foobar/src/i3-pager/i3ipc++/src/ipc.cpp:491:15: error: ‘class i3ipc::connection’ has no member named ‘signal_event’
  491 |         this->signal_event.emit(static_cast<EventType>(1 << (buf->header->type & 0x7f)), std::static_pointer_cast<const buf_t>(buf));
      |               ^~~~~~~~~~~~
make[2]: *** [i3ipc++/CMakeFiles/i3ipc++.dir/build.make:110: i3ipc++/CMakeFiles/i3ipc++.dir/src/ipc.cpp.o] Error 1
duvholt commented 2 months ago

Can you check which libsigc++ version you have installed? If you're on a Debian based distro: dpkg -l libsigc++-2.0-dev and dpkg -l libsigc++-3.0-dev

And if you run git status in the i3-pager repo do you get something like modified: i3ipc++ (new commits)? Happens for me sometimes (not completely sure why), but I think it can reset back to the correct commit with:

git submodule update --init
windowsrefund commented 2 months ago
> dpkg -l | grep libsig                                                                                                                                                   1 ↵
ii  libsigc++-2.0-0v5:amd64                                  2.12.1-2                                    amd64        type-safe Signal Framework for C++ - runtime
ii  libsigc++-2.0-dev:amd64                                  2.12.1-2                                    amd64        type-safe Signal Framework for C++ - development files
ii  libsignon-extension1:amd64                               8.61-1ubuntu5                               amd64        Single Sign On framework - extension shared library
ii  libsignon-plugins-common1:amd64                          8.61-1ubuntu5                               amd64        Single Sign On framework - plugins common shared library
ii  libsignon-qt5-1:amd64                                    8.61-1ubuntu5                               amd64        Single Sign On framework - qt5 shared libraries
ii  libsigsegv2:amd64                                        2.14-1ubuntu2                               amd64        Library for handling page faults in a portable way

As for your git status request, I wouldn't see any modified files as I haven't changed anything. I'm on the plasma5-libsigc-3 branch.