On Sat, Sep 11, 2021 at 1:49 PM Neal Gompa <ngompa13@xxxxxxxxx> wrote: > I've been trying to figure out how to fix the builds for > libyui-ncurses[1] and libyui-mga-ncurses[2]. > > The errors in both package builds confuse me. It looks like the > "friend" declarations are all broken and it leads to all kinds of > missing methods and members, which breaks the whole thing. > > Anyone have any idea how to fix this? I'm out of ideas... > > [1]: https://bugzilla.redhat.com/show_bug.cgi?id=1987670 > [2]: https://bugzilla.redhat.com/show_bug.cgi?id=1987669 With libyui-ncurses, at least, I see this when preprocessing YNCursesUI.cc: # 143 "/usr/include/etip.h" 3 4 class NCURSES_CXX_IMPEXP NCursesPanel; class NCURSES_CXX_IMPEXP NCursesMenu; class NCURSES_CXX_IMPEXP NCursesForm; class NCURSES_CXX_IMPEXP NCursesException { ... That is, the macro NCURSES_CXX_IMPEXP has not been expanded. It is defined in /usr/include/cursesw.h. The problem seems to be that libyui-ncurses has its own copy of /usr/include/cursesw.h, named src/ncursesw.h, but the definitions in it are not an exact match for the system header file. It pulls in the system etip.h, and the mismatched definitions cause the errors you are seeing. A simple workaround is to add this to the top of %build: export CXXFLAGS="-DNCURSES_CXX_IMPEXP= %{build_cxxflags}" but the real fix would involve reconciling the libyui-ncurses code to the latest GNU ncurses headers. I haven't looked at libyui-mga-ncurses, but if the same fix doesn't work, ping me and I'll take a look. Regards, -- Jerry James http://www.jamezone.org/ _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure