X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com From: Enrico Forestieri Subject: Re: lyx has problem with network directory names Date: Sun, 8 Oct 2006 21:54:45 +0000 (UTC) Lines: 48 Message-ID: References: <20061004190525 DOT GA18950 AT panix DOT com> <452938D4 DOT 60304 AT cygwin DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit User-Agent: Loom/3.14 (http://gmane.org/) X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Larry Hall writes: > > Enrico Forestieri wrote: > > David Arnstein writes: > >> I just tried to use the Cygwin port of lyx. It cannot cope with my > >> home directory, which appears as //fs-sj1-15/darnstein in Cygwin. This > >> is a network directory, obviously. > >> > >> When lyx starts up, it emits a complaint > >> QSettings: error creating /fs-sj1-15/darnstein/.qt > >> > >> When I try to save a lyx document to my home directory, lyx complains > >> when it presents its file browser dialog box. It says > >> Could not read directory /fs-sj1-15 > >> > >> It appears that lyx is trying to access the root directory (/). It > >> does not seem to know how to interpret the Windows syntax "//." > > > > This is because lyx uses the boostfs library with BOOST_POSIX defined, > > so any path of the form //xxx/yyy is normalized to /xxx/yyy. > > I understand that //machine/path is a windowism, but I think that it > > should be allowed on cygwin. Can this be seen a boost bug? > > > > Possibly. But I expect boost folks would argue that using UNC syntax doesn't > fit with POSIX semantics. Currently, the code keys off of BOOST_POSIX or > BOOST_WINDOWS defines to determine the API to use. Under Cygwin, BOOST_POSIX > makes the most sense but with that definition comes the restriction of no UNC > paths. Obviously, the workaround for now is to just mount the path in Cygwin > to create a POSIX path to use. This will make Lyx happy without too much of a > burden for the user. As I explained in an another mail, in this case the culprit is qt3 and not boost. I suspected boost because of the following comment in boost/libs/filesystem/src/path_posix_windows.cpp: // POSIX & Windows cases: "", "/", "/foo", "foo", "foo/bar" // Windows only cases: "c:", "c:/", "c:foo", "c:/foo", // "prn:", "//share", "//share/", "//share/foo" but, even if UNC paths are not taken into account, the leading '/' is not stripped out. Instead, it is qt3 that strips it and I also posted a patch allowing UNC paths in qt3. Maybe it can be applied to the cygwin package? -- Enrico -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/