* faq-using.xml (faq.using.multiple-copies): Modernize to reflect
installation separation since Cygwin 1.7. (faq.using.third-party.multiple-copies): Ditto.
This commit is contained in:
parent
9a52d79f10
commit
f2407e2210
@ -1,3 +1,9 @@
|
|||||||
|
2013-06-19 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* faq-using.xml (faq.using.multiple-copies): Modernize to reflect
|
||||||
|
installation separation since Cygwin 1.7.
|
||||||
|
(faq.using.third-party.multiple-copies): Ditto.
|
||||||
|
|
||||||
2013-06-17 Corinna Vinschen <corinna@vinschen.de>
|
2013-06-17 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* cygwinenv.xml: Fix link to FAQ.
|
* cygwinenv.xml: Fix link to FAQ.
|
||||||
|
@ -395,18 +395,33 @@ set is 65001.</para>
|
|||||||
<qandaentry id="faq.using.multiple-copies">
|
<qandaentry id="faq.using.multiple-copies">
|
||||||
<question><para>Is it OK to have multiple copies of the DLL?</para></question>
|
<question><para>Is it OK to have multiple copies of the DLL?</para></question>
|
||||||
<answer>
|
<answer>
|
||||||
<para>You should only have one copy of the Cygwin DLL on your system. If you
|
<para>Yes, as long as they are used in strictly separated installations.</para>
|
||||||
have multiple versions, they will conflict and cause problems.
|
<para>The Cygwin DLL has to handle various sharing situations between
|
||||||
|
multiple processes. It has to keep a process table. It has to maintain
|
||||||
|
a mount table which is based on the installation path of the Cygwin DLL.</para>
|
||||||
|
<para>For that reason, the Cygwin DLL maintains shared resources based on
|
||||||
|
a hash value created from its own installation path. Each Cygwin DLL
|
||||||
|
on the machine constitutes a Cygwin installation, with the directory
|
||||||
|
the Cygwin DLL resides in treated as "/bin", the parent directory as "/".
|
||||||
</para>
|
</para>
|
||||||
|
<para>Therefore, you can install two or more separate Cygwin distros on
|
||||||
|
a single machine. Each of these installations use their own Cygwin DLL,
|
||||||
|
and they don't share the default POSIX paths, nor process tables, nor
|
||||||
|
any other shared resource used to maintain the installation.</para>
|
||||||
|
<para>However, a clean separation requires that you don't try to run
|
||||||
|
executables of one Cygwin installation from processes running in another
|
||||||
|
Cygwin installation. This may or may not work, but the chances that the
|
||||||
|
result is not what you expect are pretty high.</para>
|
||||||
<para>If you get the error "shared region is corrupted" or "shared region
|
<para>If you get the error "shared region is corrupted" or "shared region
|
||||||
version mismatch" it means you have multiple versions of cygwin1.dll
|
version mismatch" it means you have multiple versions of cygwin1.dll
|
||||||
running at the same time which conflict with each other. This could happen,
|
running at the same time which conflict with each other. Apart from
|
||||||
for example, if you update cygwin1.dll without exiting
|
mixing executables of different Cygwin installations, this could also happen
|
||||||
<emphasis>all</emphasis> Cygwin apps (including inetd) beforehand.
|
if you have one a single Cygwin installation, for example, if you update the
|
||||||
</para>
|
Cygwin package without exiting <emphasis>all</emphasis> Cygwin apps (including
|
||||||
|
services like sshd) beforehand.</para>
|
||||||
<para>The only DLL that is sanctioned by the Cygwin project is the one that
|
<para>The only DLL that is sanctioned by the Cygwin project is the one that
|
||||||
you get by running <ulink url="http://cygwin.com/setup.exe">setup.exe</ulink>,
|
you get by running <ulink url="http://cygwin.com/setup.exe">setup.exe</ulink>,
|
||||||
installed in the directory controlled by this program. If you have other
|
installed in a directory controlled by this program. If you have other
|
||||||
versions on your system and desire help from the cygwin project, you should
|
versions on your system and desire help from the cygwin project, you should
|
||||||
delete or rename all DLLs that are not installed by
|
delete or rename all DLLs that are not installed by
|
||||||
<filename>setup.exe</filename>.
|
<filename>setup.exe</filename>.
|
||||||
@ -422,15 +437,17 @@ cygwin-mounted filesystems (as Cygwin 'find' would do).
|
|||||||
<qandaentry id="faq.using.third-party.multiple-copies">
|
<qandaentry id="faq.using.third-party.multiple-copies">
|
||||||
<question><para>
|
<question><para>
|
||||||
I read the above but I want to bundle Cygwin with a product, and ship it
|
I read the above but I want to bundle Cygwin with a product, and ship it
|
||||||
to customer sites. How can I do this without conflicting with any
|
to customer sites. How can I do this without conflicting with any Cygwin
|
||||||
Cygwin installed by the user?
|
installed by the user?
|
||||||
</para></question>
|
</para></question>
|
||||||
<answer><para>
|
<answer><para>
|
||||||
Third party developers who wish to use Cygwin should check if
|
Usually, if you keep your installation separate, nothing bad should happen.
|
||||||
there is a version of cygwin installed and use the installed
|
However, for the user's convenience, and to avoid potential problems which
|
||||||
version if it is newer, or conditionally upgrade if it is not.
|
still can occur, consider to integrate your product with an already existing
|
||||||
(If you write a tool to make this easy, consider contributing
|
Cygwin installation on the user's machine, or, if there is none, consider
|
||||||
it for others to use)
|
to install the official Cygwin distro on behalf of the user and integrate
|
||||||
|
your tools from there. (If you write a tool to make this easy, consider
|
||||||
|
contributing it for others to use)
|
||||||
</para></answer></qandaentry>
|
</para></answer></qandaentry>
|
||||||
|
|
||||||
<qandaentry id="faq.using.bundling-cygwin">
|
<qandaentry id="faq.using.bundling-cygwin">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user