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 Message-ID: <4373C99C.7020600@sh.cvut.cz> Date: Thu, 10 Nov 2005 23:28:44 +0100 From: =?UTF-8?B?VsOhY2xhdiBIYWlzbWFu?= User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923) MIME-Version: 1.0 To: Lewis Hyatt Cc: cygwin AT cygwin DOT com Subject: Re: problem with boost 1.33 filesystem References: <434AD617 DOT 2090700 AT princeton DOT edu> In-Reply-To: <434AD617.2090700@princeton.edu> OpenPGP: id=733031B4 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig8D25A6B67C3BF653424FC7F5" X-IsSubscribed: yes Reply-To: cygwin AT cygwin DOT com --------------enig8D25A6B67C3BF653424FC7F5 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Lewis Hyatt wrote: > Hi All, > > I apologize if this has been brought up before, but I couldn't find any > mention of it. I think the filesystem component of boost v1.33 currently > available as part of the cygwin distribution has been compiled > incorrectly. As mentioned here: > http://boost.org/libs/filesystem/doc/index.htm#Cgywin (sic), it is > necessary to compile with -DBOOST_POSIX on cygwin for POSIX emulation to > work properly; otherwise it uses Windows file names only and does not > work as expected. Here is a simple demonstration: > > //////////////////////////// > #include > #include > #include > namespace bfs = boost::filesystem; > > int main(int argc, char **argv) { > //arg checking omitted > try { > bfs::directory_iterator di(argv[1]); > } > catch (bfs::filesystem_error &ex) { > std::cerr << ex.what() << '\n'; > } > } > //////////////////////////// > > If you pass something Windows can handle as the argument, such as ".", > then this program works as expected. If you pass a cygwin path, such > as "~" or "/cygdrive/c", it throws an exception: > > boost::filesystem::directory_iterator constructor: "\home\Lewis": The > system cannot find the path specified. > > or > > boost::filesystem::directory_iterator constructor: "\cygdrive\c": The > system cannot find the path specified. > > I believe this is precisely the consequence of omitting -DBOOST_POSIX > but cannot confirm with certainty. > > Thanks very much to whoever maintains this. > > -Lewis It should be fixed in package version 1.33.0-2. I have built monotone and it seems to work fine with POSIX paths. Vaclav Haisman --------------enig8D25A6B67C3BF653424FC7F5 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (MingW32) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iQEVAwUBQ3PJpG56zbtzMDG0AQI/ggf8CCHLTuv3nc0uVXia6JC4dQxFxoA0XiT3 0iDRRxgrewDiRskOZ4GxnTYwGT2wq9/9OWqXbkOJGGlRPKbh4BDdMJ/c+cxqSt7k uv1Ryq3m9uTotP5oDa9SVdcNt7SX0A9VcD/6fiWYc6CYhOW/U28T/2Bl2Cd5sYYQ 4a24vHvOIl+7P2scQUEWtE4OQoiXnuJvVuaTEZnPJmKfXJYRLAeQFbTiAMJCBAR1 e8WSXR5YRI6+1zqK7P4aJSvAfoUSmlEzsS+enPnmwDGBcet3CLIVTdwa3OadII73 QBdG967GYsdg/pAC18XrYHzLMHcELTw8XNSwuV8c/d9haUiziukY0A== =/ful -----END PGP SIGNATURE----- --------------enig8D25A6B67C3BF653424FC7F5--