This is the mail archive of the
mailing list for the Cygwin project.
Re: [ANN] apache_1.3.22 package available for setup inclusion
Stipe Tolj wrote:
>>>Shouldn't that be /usr/bin/cyghttpd.dll?
>>It is the same like it is with perl or python. These packages
>>doesn't use libtool and to change the name would need some additional
>>patches in a lot of build related files which would blow up the patch.
> yep, Gerrit is right here.
> I may change it if absolutely required, but it has to be patched in
> the Makefile.tmpl's and the main src/Configure script.
> Is it _absolutely_ required? setup.html does not state it, IMO?!
Suppose you had both a native apache port and a cygwin apache port.
Assume both were built "shared" -- so both had a "libhttpd.dll" shared
library. However, one is msvcrt.dll based, the other cygwin1.dll based.
Because the respective httpd.exe's are inherently linked to these
DLL's, both require that the dirs containing those DLLs are in the
global system path -- but one of them must come first, since there's
only one global system path.
This can often cause problems, with the wrong DLL being used, and the
app crashes on startup. I ran into this problem with libz.dll,
libpng.dll, libjpeg.dll, and others -- prior to the 'cyg' switchover.
MikTeX distributes a native port of netpbm with these
graphics/compression DLLs -- yet I already had DLLs with the same name
in c:\cygwin\bin (which is in my system PATH). Big time BOOM!
The reason we require 'cyg' prefix instead of 'lib' on DLLs that live in
/usr/bin is precisely to avoid this problem. cygwin must coexist with
native and other unix-emulation platforms all on the same machine --
which means we need to distinguish our shared libs from theirs. I
believe there is NO other "platform" -- except
windows/pw/mingw/cygwin/uwin -- that ever experience this problem.
Doncha love being unique?