Re: Stop turning CPAN modules into Cygwin packages
Igor Peshansky wrote: > BTW, this problem must have been encountered (and, hopefully, solved) by > other distros. How does the Debian git package handle this? I seem to > recall that at least Red Hat Linux at some point had packages for some > CPAN modules... I don't know how they solve dependencies, or if it has anything to do with dependencies, but I can tell you that Fedora Core 8 (and earlier versions) have a _lot_ of CPAN modules packaged as RPMs. I, too, prefer to get my modules directly from CPAN but I do run into occasional compilation problems from time to time. At those times, it's really handy to have the packages available. But, as already mentioned, those should be fixes that are passed upstream to the CPAN module owner/maintainer anyway. -- Archie -- Archie Warnock Internet: [EMAIL PROTECTED] -- A/WWW Enterpriseshttp://www.awcubed.com -- As a matter of fact, I _do_ speak for my employer. -- 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/
Re: Problems with Cygwin Installer
[EMAIL PROTECTED] wrote: > This has been happening for at least the past year and a half and has > occurred on several computers that I've attempted to install on. I'm > very frustrated with this procedure. Either I'm really doing > something wrong or there's a very annoying bug that I'm surprised > hasn't been noticed and fixed. > > Can someone enlighten me to what may be the problem. I've seen this also, most recently when installing Cygwin on my laptop. My guess (and it's pure speculation) is that it's some sort of limitation on size of the download. The workaround (well, it worked for me) was to select fewer packages to install and build up your installed system piecemeal. That took a bit longer, but seemed to work out the same in the end. I have no idea if it's a problem with setup or simply a limitation set at your chosen download site, nor even how to tell which it might be. -- Archie -- Archie Warnock Internet: [EMAIL PROTECTED] -- A/WWW Enterpriseshttp://www.awcubed.com -- As a matter of fact, I _do_ speak for my employer. -- 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/
Re: system() fails on pristine Windows systems
Brian Dessent wrote: > system() is just a wrapper around spawnvp(). If spawn() isn't what you > want then neither is system(). spawn() does not necessarily replace the > current process (_P_OVERLAY), it can also start and optionally wait for > a subprocess (_P_WAIT, _P_NOWAIT, _P_DETACH). Excellent - thanks. -- Archie -- Archie Warnock Internet: [EMAIL PROTECTED] -- A/WWW Enterpriseshttp://www.awcubed.com -- As a matter of fact, I _do_ speak for my employer. -- 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/
Re: system() fails on pristine Windows systems
Archie Warnock wrote: >>The path is irrelevent because it's called as "/bin/sh -c cmd", and the >>location of /bin is taken from the mount table. On your systems without > > Ummm... are you saying that I have a Cygwin mount table outside of Cygwin? Ahh... I see it now. Thanks for the pointer. -- Archie -- Archie Warnock Internet: [EMAIL PROTECTED] -- A/WWW Enterpriseshttp://www.awcubed.com -- As a matter of fact, I _do_ speak for my employer. -- 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/
Re: system() fails on pristine Windows systems
Brian Dessent wrote: > That is how system() works on every unix platform: "/bin/sh -c %s" Yep. Got it. > You could fork() and exec(), or just call one of the spawn() family of > functions. This is all open source you know, you could look and see how > system() is implemented in winsup/cygwin/syscalls.cc. I'll have to look and see there. The fork()/exec()/spawn() functions don't quite do what I need, though. > The path is irrelevent because it's called as "/bin/sh -c cmd", and the > location of /bin is taken from the mount table. On your systems without Ummm... are you saying that I have a Cygwin mount table outside of Cygwin? > Cygwin installed you could just mount /bin to point to a directory that > contains sh.exe and it would work. Though I don't recommend that. If Yeah - I thought of that. But then I have to call mount, but not from inside the running program (since, obviously, that won't work for the same reason). I'll try running it from a batch file on a non-Cygwin machine. Thanks for the tip. > you can avoid not depending on the mount table it will probably make > your program work better on systems without Cygwin installed. However, > that's kind of off topic for this list, as people here don't really care > about experiences of people that don't have Cygwin installed. Sorry. I read on the Cygwin page that this group was the catch-all for all sorts of Cygwin-related problems, other than the ones specifically covered by the other lists. Clearly, this is Cygwin-related. I thought I was in the right place. Apologies for the intrusion - I'm just looking for answers to my Cygwin problem. -- Archie -- Archie Warnock Internet: [EMAIL PROTECTED] -- A/WWW Enterpriseshttp://www.awcubed.com -- As a matter of fact, I _do_ speak for my employer. -- 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/
Re: system() fails on pristine Windows systems
René Berber wrote: > I don't know if it works but I would try to use popen(), there's also > exec() and all it's relatives. I'll try popen. I'm not inclined to use anything from exec or spawn - I don't want to replace the program. I just need to run an external program and read the results back in. > Registry perhaps, the cygwin1.dll has to set a sane environment for > itself, it probably gets the location of the Cygwin installation plus > the mount table and some environment variables. I understand. Thanks. -- Archie -- Archie Warnock Internet: [EMAIL PROTECTED] -- A/WWW Enterpriseshttp://www.awcubed.com -- As a matter of fact, I _do_ speak for my employer. -- 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/
Re: system() fails on pristine Windows systems
René Berber wrote: > Yes, you are missing something really simple... have you seen the man > page for system()? Of course not, "Use `system' to pass a command > string `*S' to `/bin/sh'..." Hmmm... you're right. Thanks. I was hoping the mention of /bin/sh was more figurative - ie, just _a_ command interpreter. Guess not, eh? So, what would be the right way to call an external program from a Cygwin program without installing Cygwin, if not system()? I also find it somewhat puzzling that it works on my development machines even though /bin/sh isn't anywhere along in the path of the Windows command shell. -- Archie -- Archie Warnock Internet: [EMAIL PROTECTED] -- A/WWW Enterpriseshttp://www.awcubed.com -- As a matter of fact, I _do_ speak for my employer. -- 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/
system() fails on pristine Windows systems
Hi all, I've been through the FAQ and 2 years worth of archives, trying every trick I could find there, but I cannot make this work. I have a program which calls Cygwin's system() function. It works reliably from the Windows command line (outside of Cygwin) on machines that have Cygwin installed, even though the Cygwin bin-related directories are not in the path. It works on every single Unix machine I've ever tried it on. It fails reliably with the error message "No such file or directory" only on Windows machines which do not have Cygwin installed. To test that I haven't hosed anything up, I wrote a little demonstration program which illustrates the problem: + #include #include #include #include int main() { char foo[]="notepad"; int ret; ret = system(foo); if (ret != 0) { fprintf(stderr,"Command failed: %s - %s\n",foo,strerror(errno)); } exit(ret); } +++ If I build the exe file (with g++ - "g++ -o systest systest.cxx"), and put both the exe file and cygwin1.dll on the non-Cygwin system, I get the error (in this case, "Command failed: notepad.exe - No such file or directory"). I've verified this behavior about 7 different Windows machine with various flavors of Windows. In addition, I've tried the various tricks - putting the directory containing the exe file in the path (yes, before opening the cmd window); putting cygwin1.dll in the \windows\system and \windows\system32 directories; putting the Windows cmd.exe in the directory with systest.exe; putting the Windows command.com in the directory with systest.exe; even putting the Cygwin sh.exe in that directory. I have even tried replacing the call to run notepad.exe with calls to do internal commands like "path" and "set" in Windows. No joy... It seems obvious to me that system() is not finding a command interpreter on the machine, although they are correctly listed in the path for the command window. Am I missing something really stupid that needs to be included in the distribution or set in the program, or does system() just not work the way I expect? Thanks in advance... -- Archie -- Archie Warnock Internet: [EMAIL PROTECTED] -- A/WWW Enterpriseshttp://www.awcubed.com -- As a matter of fact, I _do_ speak for my employer. -- 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/