2013/7/24 Warren Young <[email protected]>:
> The bundled SQLite is almost certainly broken with that patch because it
> probably isn't using the Cygwin 1.7.20+ F_LCK_MANDATORY feature, so it won't
> cooperate properly with any program based on native Windows SQLite.
Agreed. It was just an experiment. Closed now.
> I've already indicated that I'm going to wait until 3.7.18 comes out to see
> if they've fixed the backslash problem, and if they haven't, hack around it
> in Cygwin SQLite. That still requires you to build Fossil with the system
> SQLite to get my fixes.
Next SQLite will be 3.8.0, which is in beta now, is already included in
Fossil. This means that the backslash problem is not fixed yet.
However, I think I found the cause of this problem! In os_win.c, the
function used to determine the temporary directory is
GetTempPath(). This function is documented to return:
1) The path specified by the TMP environment variable.
2) The path specified by the TEMP environment variable.
3) The path specified by the USERPROFILE environment variable.
4) The Windows directory.
We see that it apparently returns the Windows directory, it cannot
fiund any of the environment variables!
SQLITE_CANTOPEN: os_win.c:34887: (5)
winOpen(C:\Windows\etilqs_S8FDopj6QWC9mu4) - Access is denied.
$ ls -la /cygdrive/c
total 7265374
......
drwxrwx---+ 1 TrustedInstaller TrustedInstaller 0 May 23
09:10 Windows
......
We don't have sufficient rights in the C:\Windows directory! Cygwin clears
the Windows environment space, therefore none of the environment
variables can be found.
Proposed solution here (should move to sqlite if accepted):
<http://www.fossil-scm.org/index.html/info/fec3c7fe3a>
Regards,
Jan Nijtmans
_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users