On 01/06/2022 20:57, Tom Tanner via Pan-devel wrote:
So I've been doing some changes to Pan which compile fine under mingw64,
but the ubuntu gtk2 and gtk3 builds are producing some very strange errors:||

../../../pan/gui/gui.cc: In member function 'virtual void pan::GUI::do_edit_scores(GtkAction*)':

|
/usr/include/glib-2.0/glib/gstdio.h:71:19: error: 'creat' was not declared in this scope|
|
71 | #define g_creat creat|
|
| ^~~~~|
|
../../../pan/gui/gui.cc:2397:13: note: in expansion of macro 'g_creat'|
|
2397 | g_close(g_creat(filename, 0700), &err);|
|| ^~~~~~~|

Do I really need to include <fcntl.h> - shouldn't g_stdio.h include the correct headers?

The next equally confusing error:

../../../pan/gui/gui.cc:2406:41: error: invalid use of non-static member function 'void pan::GUI::edit_scores_cleanup(int, char*)'

|
2406 | std::bind(edit_scores_cleanup, this, _1, _2),|
|| ^~~~~~~~~~~~~~~~~~~|

Surely this is the whole point of std::bind?

Am I missing something? Or is the CI using an old compiler for the ubuntu builds?

This is for https://gitlab.gnome.org/GNOME/pan/-/merge_requests/23 which is still somewhat of a work in progress,
||

Managed to fix both. and yes, g_stdio does not include the correct headers. The one with std::bind appears to be a not great error message crossed with compiler pedanticism levels.

_______________________________________________
Pan-devel mailing list
Pan-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/pan-devel

Reply via email to