Articles of cygwin

在bat文件中设置的cygwin环境variables

我需要设置cygwin shell中应该可用的几个环境variables。 我尝试在〜/ .bashrc中运行"c:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/amd64"/vcvars64.bat 。 脚本似乎运行,但它不更新环境variables。 如何导出bat文件中设置的variables?

存档::任何给出IO错误

#!/usr/bin/perl use strict; use warnings; my $archive_files = "C:\\Temp\\FREMOTE\\test.zip"; sub extract_archive($$); extract_archive($archive_files, "C:\\Temp\\FREMOTE\\TEST\\"); extract_archive("C:\\Temp\\FREMOTE\\TEST\\testb.zip", "C:\\Temp\\FREMOTE\\TEST\\testb\\"); sub extract_archive($$) { my $archive_file = shift; my $extract_dir = shift; if (! -d "$extract_dir") { mkdir $extract_dir; } use Archive::Any; my $archive = Archive::Any->new($archive_file); if($archive->extract($extract_dir)) { print "Extracted $archive_file into $extract_dir\n"; undef $archive; } else { print "Failed to […]

cygwin rsync所有日志位置

我试图通过Windows上的cygwin来保证两台机器之间的rsync文件传输。 rsync创build的所有日志文件的位置在哪里? 我目前正在使用 rsync -e ssh -avzP –delete "/cygdrive/C/secure/data/" "/cygdrive/D/data" –log-file=/cygdrive/C/secure/log/c.log 当rsync启动它说'build立文件列表'这是在内存中完成,或者它在某处写入临时文件?

在Netbeans中运行一个简单的C ++代码时奇怪的输出

我有以下代码: #include <iostream> using namespace std; int main() { int number; cout << "Give a number: "; cin >> number; return 0; } 代码编译得很好,并在外部terminal运行,因为它应该。 奇怪的部分是运行后的Netbeans输出窗口的输出。 当我开始运行程序并给出它立即要求的数字时,输出是: Process is started in an external terminal … RUN SUCCESSFUL (total time: 1s) 但是当我开始运行程序并等待片刻之后,Netbeans输出窗口的输出变成这样: Process is started in an external terminal … RUN FAILED (exit value -1, total time: […]

当Cygwin的Perl用反引号启动程序时,不能触发系统debugging器转储核心

我有使用反引号启动任意进程的脚本。 有时会发生崩溃(例如零分),并且在发生这种情况时需要获得核心转储以进行分析。 我已经注册了一个perl脚本作为与操作系统的崩溃处理程序(这在Windows 7中 – 我知道你想知道),它与崩溃的PID调用; 处理程序附加微软的'cdb'debugging器,它创build所需的转储。 我的testing“crasher”程序是一个C ++可执行文件,除以零(Crasher.exe)。 问题:当我使用Cygwin的Perl实现时,程序崩溃从不触发崩溃处理程序。 我的怀疑是,Perl正在解决这个问题,然后悄无声息地抛弃它。 所有工作正常与来自ActiveState的Perl。 问题:我怎样才能让Cygwin的Perl离开,让错误一直传播回系统。 下面是一个使用ActiveState perl触发崩溃处理程序并生成核心转储的示例 C:> \tools\Perl\bin\perl.exe -e "`Crasher.exe`;" 但是使用Cygwin不会 C:> \cygwin\bin\perl.exe -e "`Crasher.exe`;" 另外,如果我直接在Cygwin的shell中启动Crasher.exe,则不会调用崩溃处理程序; 如果通过Cygwin或ActiveState Perl中的反引号启动,它也不会被调用。

AttributeError:'模块'对象没有属性'waitpid'

我正试图在Windows上使用CYGWIN来安装Python2.7.5。 我尝试运行make时出现以下错误 running build running build_ext ldd: /lib/libreadline.a: Permission denied building '_struct' extension gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -IInclude -I./Include -I/usr/include -I/cygdrive/c/Users/Venkateshwaran/Downloads/Python-2.7.5.tar/Python-2.7.5/Include -I/cygdrive/c/Users/Venkateshwaran/Downloads/Python-2.7.5.tar/Python-2.7.5 -c /cygdrive/c/Users/Venkateshwaran/Downloads/Python-2.7.5.tar/Python-2.7.5/Modules/_struct.c -o build/temp.cygwin-1.7.24-i686-2.7/cygdrive/c/Users/Venkateshwaran/Downloads/Python-2.7.5.tar/Python-2.7.5/Modules/_struct.o Traceback (most recent call last): File "./setup.py", line 2187, in <module> main() File "./setup.py", line 2182, in main 'Lib/smtpd.py'] File "/cygdrive/c/Users/Venkateshwaran/Downloads/Python-2.7.5.tar/Python-2.7.5/Lib/distutils/core.py", line […]

从cygwin程序的输出中剥离^ M

我最近安装了cygwin-x86_64和http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.10-20120208_win32.zip中的 gtk和http:// protz中的 ocaml 。 github.io/ocaml-installer/ 。 每当我从一个得到“预编译为cygwin”的二进制文件(比如ocaml或者gtk)运行一个命令时,它会在输出结尾附加一个^ M。 例如, $ ocamlc -where > foo; cat -v foo D:/OCaml/lib^M 我该如何解决这个问题? 更新:如果我将二进制文件复制到~/ (或其他一些cygwinpath),那么我不会得到^M输出。 只有当二进制文件位于MS DOS位置时才会发生。 有没有办法解决这个问题,而不移动我的二进制文件? 运行mount给出 $ mount D:/cygwin64/bin on /usr/bin type ntfs (binary,auto) D:/cygwin64/lib on /usr/lib type ntfs (binary,auto) D:/cygwin64 on / type ntfs (binary,auto) C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto) D: on /cygdrive/d […]

Cygwin rSnapshot on windows权限被拒绝,而权限被保留

我知道有很多案例与我接近,但是我还没有find与我的情况相符的案例。 不less客户使用cygwin备份大量数据。 一般的环境是:基于Windows的虚拟域控制器(主机是esxi,但是不相关)备份是去外部encryptionRAID设备。 系统认为这是一个正常的USB连接硬盘。 操作系统往往主要是sbs2011 / 08,在一些罕见的情况下sbs03。 Cygwin,通常是最新版本,因为它保持最新。 和它的快照包。 rsnapshot的configuration文件并没有真正从它的origianl状态改变,除了目标和目标,以及一些例外。 备份是由一个批处理启动的,它启动cygwins rsnapshot rsync进程创build一个备份从Windows服务器到附加的存储(每小时x2每天x5每周x4每月x6备份)。 源文件被rsynced到目的地。 不保留权限的原始顺序,但保留必要的权限,即源具有完全访问权限的组和用户pipe理员,目标具有但是具有特殊权限,并且在特殊情况下授予完全访问权限。 当rsnapshot将hourly0移动到hourly1时,它完成。 所有的文件链接正确。 但它需要很长时间,由于每个文件得到一个“无法链接(cygdrive / x / x / hourly.0 /path到文件/文件/cygdrive/x/x/hourly.1/path到文件/文件权限被拒绝) args被注释掉了,因为任何放入args的东西,例如-av等等都不起作用,而且它不需要以另一种方式作为目的地,并且具有完全权限的pipe理员和pipe理员。 cygwin是使用admin帐户安装的,task scheduler设置为admin,任务由具有完全访问权限的admin帐户运行。 备份过程起作用。 我相信问题在于目的地,我可以理解它可能与posix和acl之间的问题有关,但是不相信这是再次的原因,权限被授予。 所以我问的是那里最有经验的人,如果你有什么想法,就去尝试,改变。 请你能让我清楚的知道。 最好的问候和欣赏。 担

使用gdb连接到尚未启动的进程

我正在debugging一个cygwin gcc编译过程,它将通过CreateProcess从本地Windows程序加载。 我想在main之前设置一个断点,例如在mainCRTStartup 。 如何附加到尚未加载的进程并在mainCRTStartup设置断点? 注意 如果重要的话,那不是XY问题。 我正在分析Windows 2012 R2中可能的错误,并且需要跟踪从CreateProcess的调用传递的整个命令行,直到加载进程的主入口点。 在我接触MS之前,我需要确定问题出在哪里。 另外我需要使用gdb,因为WinDBG可能无法源码debugging一个cygwin gcc编译的二进制文件。 我试过了什么 使用gflags时,我试图调用GDB的时候,图像加载,但不幸的是,迎接一个消息“文件名太长”,然后调用GDB没有任何活动的进程 这种方法的问题是,gflags调用带有图像名称的debugging器,接着是命令行参数,其中gdb需要一个没有命令行参数的PID或图像名称。 参考如何在gdb中附加一个进程

git和Cygwinpath与SourceTree

我已经在Windows服务器上安装了cygwin,完全是为了使用ssh。 另外,我已经安装了Git for Windows ,已经打折了Cygwin git的使用,因为它不支持Windows扩展。 我有一个可以login(通过SSH)的git ssh用户,并可以在这个用户的主目录下创build存储库。 这允许我从运行SourceTree的OSX推送到服务器。 在这种情况下,存储库位于: git@GitServer:Repos/Project.git 在cygwin下的文件夹的实际path是: – /cygwin/home/git/Repos/Project.git 但是,我希望能够将Repos目录直接放置在cygwin文件夹的根目录下,而不是位于主目录下: /Repos/Project.git 这样做会导致SourceTree尝试推向回购时失败。 我正在定义这样的path: git@GitServer:/Repos/Project.git 我也检查了文件夹的权限,这不是问题。 失败的结果在这个消息: – 致命的:'/Repos/Project.git'似乎不是一个混帐存储库 致命的:无法从远程存储库读取。 请确保您拥有正确的访问权限并存在存储库。 我可以理解,如果repo被放置在cygwin文件夹之外,我会遇到问题,但是如果它不能放在根目录下,任何人都可以解释如何获取SourceTreepath来访问repo,如果放在根目录下,而不必创build符号链接?