This has likely been broken (for me) for a bit, but I only checked the logs from my build script today, after trying to build on a new WIn10 laptop...
FWIW, the 64-bit build is fine, which possibly explains why I never noticed there was an issue: The build machine runs a different gcc variant for the 32-bit and 64-bit targets, for obscure historical reasons...
The 32-bit version reports itself as: gcc version 6.3.0 (MinGW.org GCC-6.3.0-1)
The 64-bit version is: gcc version 5.1.0 (tdm64-1)
Anyway, here's the error:
Compiling fluid.cxx... In file included from ../FL/fl_utf8.h:32:0, from ../FL/Fl.H:32, from fluid.cxx:17: fluid.cxx:1356:7: error: expected unqualified-id before ')' token int fileno() const { ^ fluid.cxx:1356:7: error: expected ')' before '->' token int fileno() const { ^ fluid.cxx: In function 'void shell_pipe_cb(FL_SOCKET, void*)': fluid.cxx:1504:26: error: expected unqualified-id before '(' token Fl::remove_fd(s_proc.fileno()); ^ fluid.cxx:1504:26: error: expected primary-_expression_ before ')' token Fl::remove_fd(s_proc.fileno()); ^ fluid.cxx: In function 'void do_shell_command(Fl_Return_Button*, void*)': fluid.cxx:1540:21: error: expected unqualified-id before '(' token Fl::add_fd(s_proc.fileno(), shell_pipe_cb); ^ fluid.cxx:1540:21: error: expected primary-_expression_ before ')' token Fl::add_fd(s_proc.fileno(), shell_pipe_cb); ^ make[1]: *** [fluid.o] Error 1
The crux is this code, added to fluid.cxx in 1.4:
// returns fileno(FILE*): // (file must be open, i.e. _fpt must be non-null) // *FIXME* we should find a better solution for the 'fileno' issue int fileno() const { #ifdef _MSC_VER return _fileno(_fpt); // suppress MSVC warning #else return ::fileno(_fpt); #endif } // non null if file is open
Which chokes on my 32-bit build because the "stdio.h" in that system defines:
#define _fileno(__F) ((__F)->_file) #ifndef _NO_OLDNAMES #define fileno(__F) ((__F)->_file) <-- this is the problem in my build! #endif And that #define then chokes the fluid.cxx code, preventing it from compiling...
--
You received this message because you are subscribed to the Google Groups "fltk.coredev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fltkcoredev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fltkcoredev/133d2224-b0e7-4b44-be73-7c3331f060e0n%40googlegroups.com.
[ Direct Link to Message ] |