On 6/6/2013 21:56, Philip Goetz wrote:

I think the problem is that the Cygwin distribution has the wrong
version of SQLite, one built for unix.

Nope.  And even if true, it wouldn't be the right explanation.

There are two major ways to build SQLite on Cygwin:

1. By default, building SQLite under Cygwin gets you a special Cygwin-aware mode, where SQLite bypasses the Cygwin DLL for some things, calling the Win32 API directly. This is how the current[*] official binaries in the Cygwin distro are built. Such a build still uses POSIX APIs for opening files, though, so the paths go to the Cygwin DLL first, and then after translation, to the Win32 API. Since such a built knows its running on Windows, it shouldn't be using illegal characters in generated file names.

2. You can also build SQLite in a pure POSIX mode, with no direct calls to Win32 at all. This mode is more compatible with other POSIX programs running under Cygwin, but less compatible with native Win32 builds of SQLite. This distinction is irrelevant, however, because the file opening path is the same as with the Cygwin-aware build.


[*] (You can find test builds of SQLite for Cygwin built in Unix mode instead of Cygwin mode, but there hasn't been an official one in many months, which was quickly replaced due to the problems it caused. We may be switching the official builds back to Unix mode soon, providing we can fix those problems, since the special Cygwin mode of SQLite causes its own problems. It's one of those "having your cake and eating it too" kinds of things.)
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to