Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <3B73400B.2040508@ece.gatech.edu> Date: Thu, 09 Aug 2001 21:59:39 -0400 From: Charles Wilson User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2) Gecko/20010713 X-Accept-Language: en-us MIME-Version: 1.0 To: Ron House CC: Robert Collins , cygwin AT cygwin DOT com Subject: Re: Slowness of Cygwin (and NT/2000 failure) References: <3B71FD9D DOT 1AE29C53 AT usq DOT edu DOT au> <3B72B4C0 DOT 4020100 AT earthlink DOT net> <3B732FA1 DOT 3C31E18D AT usq DOT edu DOT au> <997405375 DOT 12638 DOT 0 DOT camel AT lifelesswks> <3B7339B0 DOT 2B8F97C1 AT usq DOT edu DOT au> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit >>Have you installed cygwin on their machine (via setup.exe?) >> > > No I haven't. This program must be distributed to many > computer-illiterate people who won't want that. That's why I linked > statically, but you are probably right that something is still missing. > Strangely, the prog. executes fine on my 98 box, even from a dos shell > that doesn't have the Cygwin bin in its search path. AFAIK, that means > that the only part of the Cygwin system it can be seeing is cygwin1.dll, > which is in the windows/system directory. AAAAGGGGGGGGGHHHHHHHHH!!!!!!!!! Don't DO that. If you MUST use just the cygwin1.dll (without using setup to do a barebones install), then at LEAST put the dll in the same dir as the executable, and not into winnt/system32. But I don't think that will work, either. See, ncurses uses an on-disk database for most of its knowledge about various terminals' characteristics. (Some terminal definitions are compiled-in, but not many: xterm, vt100, ansi, I think. The choice of which terminals are "compiled-in" is set when then ncurses package is built; I just used the defaults set by the main ncurses developers) Anyway, this means that if you link to ncurses, then your code will hunt for that database in the default location: /usr/share/terminfo/. But, without a "real" cygwin installation, there are no regsitry entries to indicate where "/" is, so how can "/usr/share/terminfo" be found? Of course, since you linked to ncurses statically, you probably aren't even installing the ncurses package -- which contains the terminfo database. So even if your app *could* find /usr/share/terminfo -- there's nothing there in your "installation". Now, you might decide that you can use libtermcap instead of ncurses. But termcap needs to be able to locate /etc/termcap, which brings us back to the same problem. Basically, if you want to distribute a cygwin-based program, you really ought to instruct your users to install (a minimal version of) cygwin itself. And don't forget your GPL obligations. BTW, you can search the mailing lists for the following: a while back someone was investigating how to install the cygwin dist on a network share, and then replicate the necessary registry entries on client machines...I believe they were successful, but that "installation" method is not really supported. --Chuck -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/