delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/08/09/22:00:19

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
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 <cwilson AT ece DOT gatech DOT edu>
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 <house AT usq DOT edu DOT au>
CC: Robert Collins <robert DOT collins AT itdomain DOT com DOT au>, 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>

>>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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019