On Wed, 17 Sep 2008 03:09:50 +0200, Steven Watanabe
AMDG
Boris wrote:
unknown location(0): fatal error in "test_find_param": std::runtime_error: boost::filesystem::equivalent: No such file or directory: "\home\Boris\boost_1_36_0\libs\process\test\..\..\..\bin.v2\libs\process\test\gcc-3.4.4\debug\link-static\runtime-link-static\helpers.exe", "\home\Boris\boost_1_36_0\libs\process\test\..\..\..\bin.v2\libs\process\test\gcc-3.4.4\debug\link-static\runtime-link-static\helpers.exe" Both strings are exactly the same and contain valid Cygwin paths. Is Boost.Filesystem broken on Cygwin?
Do the filesystem regressions pass?
With 'bjam.exe cxxflags=-DBOOST_POSIX_API -q' I get this error: testing.capture-output ../../../bin.v2/libs/filesystem/test/operations_test.test/gcc-3.4.4/debug/link-static/operations_test.run /bin/sh: line 4: 1216 Aborted (core dumped) "../../../bin.v2/libs/filesystem/test/operations_test.test/gcc-3.4.4/debug/link-static/operations_test.exe"
"../../../bin.v2/libs/filesystem/test/operations_test.test/gcc-3.4.4/debug/link-static/operations_test.output" 2>&1 ====== BEGIN OUTPUT ====== API is POSIX operations_test.cpp(287): test fs::initial_pathfs::path().is_complete() failed in function: 'int test_main(int, char**)' operations_test.cpp(288): test fs::current_pathfs::path().is_complete() failed in function: 'int test_main(int, char**)' assertion "base.is_complete() && (ph.is_complete() || !ph.has_root_name()) && "boost::filesystem::complete() precondition not met"" failed: file "../../../boost/filesystem/operations.hpp", line 573 initial_path<path>().string() is "/home/Boris/boost_1_36_0/libs/filesystem/test" initial_pathfs::path().file_string() is "\home\Boris\boost_1_36_0\libs\filesystem\test" EXIT STATUS: 134 ====== END OUTPUT ====== I'm not sure if it makes any difference that I'm using the POSIX API on Cygwin? I built all Boost libraries with BOOST_POSIX_API defined which I think is not the default on Cygwin?
Shouldn't that use forward slashes, "/home/Boris/..."?
You are right, it should. :) However just like in the output of the test case above it's Boost.Filesystem which turns the slashes around. In the test cases which I had to modify for Cygwin I even used cygwin_win32_to_posix_path_list() to make sure that all paths I pass to Boost.Filesystem functions are POSIX paths (that's why a == b returns true). Boris