This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Slowness of Cygwin (and NT/2000 failure)



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]