I'm trying to build FFS 11.4 on Arch Linux, however i get the following error when compiling:
ui/folder_selector.cpp: In member function 'void fff::FolderSelector::onSelectFolder(wxCommandEvent&)': ui/folder_selector.cpp:237:9: error: 'folderSelector' was not declared in this scope; did you mean 'FolderSelector'? 237 | if (folderSelector.ShowModal() != wxID_OK) | ^~~~~~~~~~~~~~ | FolderSelector compilation terminated due to -Wfatal-errors. make: *** [Makefile:123: /ffs11.4/src/FreeFileSync/tmp_ffs/ffs/src/ui/folder_selector.cpp.o] Error 1 make: *** Waiting for unfinished jobs.... In file included from /usr/include/wx-3.0/wx/event.h:32, from ui/gui_status_handler.h:11, from ui/gui_status_handler.cpp:7: /usr/include/wx-3.0/wx/meta/convertible.h: In instantiation of 'struct wxConvertibleTo<fff::StatusHandlerTemporaryPanel, wxEvtHandler>': /usr/include/wx-3.0/wx/event.h:388:55: required from 'class wxEventFunctorMethod<wxEventTypeTag<wxKeyEvent>, fff::StatusHandlerTemporaryPanel, wxKeyEvent, fff::StatusHandlerTemporaryPanel>' /usr/include/wx-3.0/wx/event.h:3607:15: required from 'void wxEvtHandler::Bind(const EventTag&, void (Class::*)(EventArg&), EventHandler*, int, int, wxObject*) [with EventTag = wxEventTypeTag<wxKeyEvent>; Class = fff::StatusHandlerTemporaryPanel; EventArg = wxKeyEvent; EventHandler = fff::StatusHandlerTemporaryPanel]' ui/gui_status_handler.cpp:46:116: required from here /usr/include/wx-3.0/wx/meta/convertible.h:31:58: error: 'wxEvtHandler' is an inaccessible base of 'fff::StatusHandlerTemporaryPanel' 31 | sizeof(wxConvertibleTo_SizeHelper<D,B>::Match(static_cast<D*>(NULL))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated due to -Wfatal-errors. make: *** [Makefile:122: /ffs11.4/src/FreeFileSync/tmp_ffs/ffs/src/ui/gui_status_handler.cpp.o] Error 1 ==> ERROR: A failure occurred in build(). Aborting...
I am surprised that even ArchLinux does not include whatever version of wxWidgets that Zenju uses. But then again, in this last release (11.4), he started using features I could not even find in the Internet documentation of wxWidgets.
Check out the patches that I use, including, particularly, revert_zenju_aggresive_upstreamisms.
I am surprised that even ArchLinux does not include whatever version of wxWidgets that Zenju uses. But then again, in this last release (11.4), he started using features I could not even find in the Internet documentation of wxWidgets.
Check out the patches that I use, including, particularly, revert_zenju_aggresive_upstreamisms.
bgstack15, 21 Dec 2020, 01:47
Glad to see I'm not the only one struggling with the aggressive upstreams (have you counted the number of times he commented fuck? He might even surpass Lewis Black :D )
Arch uses whatever libraries are marked as stable, the version Zenju is using (3.1.4) is not marked as stable yet and besides that the Wx team are months behind schedule. My best guess would be that it's a windows dev thing, where one just supplies the binary as end product and doesn't care about the build environment. Or maybe he's also member of the Wx dev team :P
In any case, those are some really nice pointers you supplied with that patch file. That is definitely going to help. Maybe I'll just try and build 11.1 instead, all hell broke loose with that one!
Some of my patches started as the results of some sed commands. So far, all the Debian package examples I've seen store their changes as actual diff files and they don't use bare commands like sed in the build rules if they can help it. Debuild tends to undo its patches to the source (Debian tends to focus on doing a lot of work by hand) and sometimes sed cannot be easily undone.
For Arch packages, do you just totally reset the sources before rebuilding?
Also, nice theming improvements! I guess I use generic themes that have not incurred a need to fix FreeFileSync. Next FreeFileSync version or rebuild (I do that infrequently, between FFS versions), I'll attempt to add your theme patch to my list.