On 07/02/2026 16:58, Jon Turney wrote:
On 04/02/2026 15:23, Hamish McIntyre-Bhatty via Cygwin wrote:
On 03/02/2026 19:24, Jon Turney wrote:
On 25/03/2025 16:46, Hamish McIntyre-Bhatty via Cygwin-announce wrote:
Version 3.1.5-2 of "wxWidgets3.1" has been uploaded as a test package.
[...]
First off, configure fails. This seems to be due to:
$ wx-config-3.1 --cflags
-I/usr/local/lib/wx/include/gtk3-unicode-3.1 -I/usr/local/include/
wx-3.1 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__
I'm not sure how 'local' got in there, but I don't think that's right!
No, I wasn't sure either, hence I never promoted this to stable. I've
since realised I need extra configure options, but it doesn't build
any more, sadly. See my "help wanted" messages to the list for more
details if you like. I'll give it another go at some point.
Unfortunately I don't think I really have the time or skill to sort
out the compilation issues.
Hmmm... it's disappointing but sadly expected that no one took the
time to reproduce your build and investigate the problem.
Anyhow:
'local' is appearing, because you're calling ./configure directly
rather than via cygconf (which sets --prefix=/usr and other useful
stuff).
I see that you're using cygconf because otherwise configure fails
looking for catch.hpp.
configure: error:
CATCH (C++ Automated Test Cases in Headers) is required, the
required file
/3rdparty/catch/include/catch.hpp couldn't be found.
The clue here is the path it's looking for starting in the root
directory, which can't possibly be right.
Peering at the configure script, it's looking for this file relative
to $ac_confdir, but that variable isn't set if the --srcdir option is
supplied (which cygconf does).
(This seems like an upstream bug as it could be using $srcdir instead?)
This could be patched around, but it's just as easy to define
ac_confdir as it's expecting.
Ah thanks, for some reason I assumed it was still using a relative path,
not sure why.
Then there's the problem with "error: wxSoundPLaybackStatus does not
name a type":
In fact there's a lot of errors here, but they're all coming from
trying to compile one source file: src/unix/sound_sdl.cpp.
This is a case where it's useful to look at the first error:
"‘WXHINSTANCE’ has not been declared".
This is a big red flag because a Win32 API type like HINSTANCE
probably shouldn't be being used in a Cygwin build. And looking at the
code where this appears in wx/utils.h, it's guarded by __WINDOWS__
with a comment saying "Windows only".
Rooting around a bit, __WINDOWS__ is defined inside wxWindows when
building for the Win32 API. But that's not being turned on! So where
can it be coming from?
Looking further (by adding a '#define __WINDOWS__ foo' to the source
file, which gets us a warning showing where the location of the
previous definition with a different value is), it's coming from the
SDL.h header included by it.
I guess that's new with an updated version of SDL since the last time
you built this. But it's fairly easy to workaround by undefining it
there.
(This is why you namespace symbols in public include files, kids! And
actually this is doubly terrible, because the __ namespace is already
reserved for the language implementation; §7.1.3 of C99 etc.)
Clever, I wouldn't have thought of that.
I pushed a few patches to:
https://cygwin.com/cgit/cygwin-packages/wxWidgets3.1/log/?h=playground
... maybe those can help you get unstuck.
Secondly, wxUSE_FSWATCHER doesn't seem to get defined.
Not sure if that's expected? Using the windows backend for
filewatching probably requires some extra work with file conversions,
I meant 'pathname conversions' here, of course.
but the generic polling backend should be usable?
I think this might have something to do with sys/epoll.h being
missing, if memory serves. I think that might simply be something
that's not available on Cygwin, I'm not sure.
Not sure. I took a poke at this as code for something called the
"generic polling filewatcher", but it doesn't actually seem to be
possible to configure wxWidgets to use it?
I shall ask them about it and see.
Then I run into some wchar_t/wxstring conversion issues which I'm
not sure should be happening in a unicode build, but seem fixable...
(You can see where I got to at https://cygwin.com/cgit/cygwin-
packages/poedit/tree/?h=playground, if you're interested)
I wonder if a build of wxWIdgets 3.2 might fix the problem. I shall
give that a go. Unfortunately due to the stack watcher being
unsupported on Cygwin (IIRC), newer versions of wxPython may be a no-go.
This is because of a dependency on libbacktrace, which we don't
currently have, right?
Someone ought to look into that. :)
If the library compiles and works as is, or more-or-less as is, I might
consider maintaining it.
Thanks for all your help. I'm quite busy at the moment so it might be a
while until I get around to looking at all of this properly, but I very
much appreciate the help. I'll reply again when I have some news to share.
Best,
Hamish
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple