After installing Cygwin by using a shell script running by executing
bash from a network-installed Cygwin, the script fails when it tries to
run a post-install script.  The error reported is:

    bash-2.05b$ post-install.sh -which latest -fresh
    c:\cygwin\bin\bash.exe (3208): *** cygheap version mismatch detected - 0x616D000
    0/0x61780000.
    You have multiple copies of cygwin1.dll on your system.
    Search for cygwin1.dll using the Windows Start->Find/Search facility
    and delete all but the most recent version.  The most recent version *should*
    reside in x:\cygwin\bin, where 'x' is the drive on which you have
    installed the cygwin distribution.

A search showed that there really is only c:\cygwin\bin\cygwin1.dll -
the message is wrong.

I'd say the sanity-check is detecting cygwin1.dll associated with the
bash that's running from the network-mounted drive.

Re-setting PATH to exclude the network Cygwin doesn't help, then doing
an "exec /bin/bash" gives the same error and of course the shell is
gone.

Do I simply have to live with this?

I can work around it by changing a driving .bat file from:

        set PATH=...;network-cygwin-path
        mount c:/  /
        bash   my-install-script

to:

        set PATH=...;network-cygwin-path
        mount c:/  /
        bash   my-install-script
        umount /
        set PATH=...;c:\cygwin\bin
        bash   my-post-install-script

which is clunkier, but will work in many cases.

I don't suppose there's any option to force cygwin to ignore its
erroneous error message?

luke


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply via email to