Kayvan, I'm unsure whether you read the mailing list, hence the continued personal mail. (Please include the ML in any reply. Makes life easier.)
You've reported two problems on Cygwin recently that both feel as if they're 'package' related. 1. Unable to delete temporary directory. 2. Unable to find the absolute path to the binary when starting as "lyx". I have no problems here with either, so I'm going to need some digging from you. The second problem, above, is caused by this block of code in src/support/packages.C.in (below) Specifically, I suspect that something is going wrong with getEnvPath which attempts to create a vector of paths from $PATH "/foo/bar:/usr/bin". Regards, Angus // Does the grunt work for abs_path_from_binary_name() string const get_binary_path(string const & exe) { string const exe_path = os::internal_path(exe); if (os::is_absolute_path(exe_path)) return exe_path; // Two possibilities present themselves. // 1. The binary is relative to the CWD. string const abs_exe_path = MakeAbsPath(exe_path); if (FileInfo(abs_exe_path, true).isOK()) return abs_exe_path; // 2. exe must be the name of the binary only and it // can be found on the PATH. string const exe_name = OnlyFilename(exe_path); if (exe_name != exe_path) return string(); std::vector<string> const path = getEnvPath("PATH"); std::vector<string>::const_iterator it = path.begin(); std::vector<string>::const_iterator const end = path.end(); for (; it != end; ++it) { if (!os::is_absolute_path(*it)) // Someone is playing silly buggers. continue; string const exe_path = AddName(*it, exe_name); if (FileInfo(exe_path, true).isOK()) return exe_path; } // Didn't find anything. return string(); } // Extracts the absolute path to the binary name received as argv[0]. string const abs_path_from_binary_name(string const & exe) { string const abs_binary = get_binary_path(exe); if (abs_binary.empty()) { lyxerr << bformat(_("Unable to determine the path to the " "LyX binary from the command line %1$s"), exe) << std::endl; bail_out(); } return abs_binary; }