#12930 closed Bug report (fixed)

FTBFS 3.64.0 using libfilezilla 0.43.0 on GCC 12.2 (Debian unstable)

Reported by: Phil Wyett Owned by:
Priority: normal Component: FileZilla Client
Keywords: ftbfs Cc:
Component version: Operating system type: Linux
Operating system version: Debian unstable (sid)

Description

FTBFS 3.64.0 using libfilezilla 0.43.0 on GCC 12.2 (Debian unstable).

sftp/sftpcontrolsocket.cpp: In member function 'virtual int CSftpControlSocket::DoClose(int)':
sftp/sftpcontrolsocket.cpp:514:63: error: 'typedef class std::deque<std::tuple<fz::event_handler*, fz::event_base*, bool> > fz::event_loop::Events' is private within this context
  514 |                 auto threadEventsFilter = [&](fz::event_loop::Events::value_type const& ev) -> bool {
      |                                                               ^~~~~~
In file included from /usr/include/libfilezilla/event_handler.hpp:4,
                 from sftp/../../include/misc.h:6,
                 from sftp/../../include/libfilezilla_engine.h:25,
                 from sftp/../filezilla.h:1,
                 from sftp/sftpcontrolsocket.cpp:1:
/usr/include/libfilezilla/event_loop.hpp:116:75: note: declared private here
  116 |         typedef std::deque<std::tuple<event_handler*, event_base*, bool>> Events;
      |                                                                           ^~~~~~
sftp/sftpcontrolsocket.cpp: In lambda function:
sftp/sftpcontrolsocket.cpp:515:32: error: 'const std::deque<std::tuple<fz::event_handler*, fz::event_base*, bool> >::value_type' {aka 'const class std::tuple<fz::event_handler*, fz::event_base*, bool>'} has no member named 'first'
  515 |                         if (ev.first != this) {
      |                                ^~~~~
sftp/sftpcontrolsocket.cpp:518:37: error: 'const std::deque<std::tuple<fz::event_handler*, fz::event_base*, bool> >::value_type' {aka 'const class std::tuple<fz::event_handler*, fz::event_base*, bool>'} has no member named 'second'
  518 |                         else if (ev.second->derived_type() == CSftpEvent::type() || ev.second->derived_type() == CSftpListEvent::type()) {
      |                                     ^~~~~~
sftp/sftpcontrolsocket.cpp:518:88: error: 'const std::deque<std::tuple<fz::event_handler*, fz::event_base*, bool> >::value_type' {aka 'const class std::tuple<fz::event_handler*, fz::event_base*, bool>'} has no member named 'second'
  518 |                         else if (ev.second->derived_type() == CSftpEvent::type() || ev.second->derived_type() == CSftpListEvent::type()) {
      |                                                                                        ^~~~~~
sftp/sftpcontrolsocket.cpp: In member function 'virtual int CSftpControlSocket::DoClose(int)':
sftp/sftpcontrolsocket.cpp:524:43: error: cannot convert 'CSftpControlSocket::DoClose(int)::<lambda(const std::deque<std::tuple<fz::event_handler*, fz::event_base*, bool> >::value_type&)>' to 'const std::function<bool(fz::event_handler*&, fz::event_base&)>&'
  524 |                 event_loop_.filter_events(threadEventsFilter);
      |                                           ^~~~~~~~~~~~~~~~~~
      |                                           |
      |                                           CSftpControlSocket::DoClose(int)::<lambda(const std::deque<std::tuple<fz::event_handler*, fz::event_base*, bool> >::value_type&)>
/usr/include/libfilezilla/event_loop.hpp:65:86: note:   initializing argument 1 of 'void fz::event_loop::filter_events(const std::function<bool(fz::event_handler*&, fz::event_base&)>&)'
   65 |         void filter_events(std::function<bool (event_handler*&, event_base&)> const& filter);
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
make[4]: *** [Makefile:1292: sftp/libfzclient_private_la-sftpcontrolsocket.lo] Error 1

Change History (1)

comment:1 by Tim Kosse, 10 months ago

Resolution: fixed
Status: newclosed

This issue has already been fixed in the repository.

Until the next release of FileZilla, you can either stay on libfilezilla 0.42.2, or apply this patch on top of FileZilla 3.64.0: https://svn.filezilla-project.org/filezilla?view=revision&revision=10966

Note: See TracTickets for help on using tickets.