Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

under cygwin, zsh cannot run when built against ncurses9-5.7-13



Greetings -

When I build the latest zsh sources on Cygwin 1.7 using
ncurses8-5.5.3, I get a working zsh.  When I build the same zsh
sources against ncurses9-5.7-13, although the build completes
successfully, the executable will not run:

$ /usr/local/zsh-2009-03-11/bin/zsh -f
$ echo $?
127

My guess is that some kind of runtime dependency is missing, but:

$ cygcheck /usr/local/zsh-2009-03-11/bin/zsh.exe
C:\cygwin\usr\local\zsh-2009-03-11\bin\zsh.exe
  C:\cygwin\bin\cygwin1.dll
    C:\WINDOWS\system32\ADVAPI32.DLL
      C:\WINDOWS\system32\KERNEL32.dll
        C:\WINDOWS\system32\ntdll.dll
      C:\WINDOWS\system32\RPCRT4.dll
        C:\WINDOWS\system32\Secur32.dll
  C:\cygwin\usr\local\zsh-2009-03-11\bin\libzsh-4.3.9-dev-1.dll
    C:\cygwin\bin\cygiconv-2.dll
    C:\cygwin\bin\cygncurses-9.dll
    C:\cygwin\bin\cyggcc_s-1.dll

$ cygcheck /usr/local/zsh-2009-03-11/bin/libzsh-4.3.9-dev-1.dll
C:\cygwin\usr\local\zsh-2009-03-11\bin\libzsh-4.3.9-dev-1.dll
  C:\cygwin\bin\cygwin1.dll
    C:\WINDOWS\system32\ADVAPI32.DLL
      C:\WINDOWS\system32\KERNEL32.dll
        C:\WINDOWS\system32\ntdll.dll
      C:\WINDOWS\system32\RPCRT4.dll
        C:\WINDOWS\system32\Secur32.dll
  C:\cygwin\bin\cygiconv-2.dll
  C:\cygwin\bin\cygncurses-9.dll
  C:\cygwin\bin\cyggcc_s-1.dll

so I don't see an obviously missing DLL.  By the way, ldd returns a
different set of runtime dependencies:

$  ldd /usr/local/zsh-2009-03-11/bin/zsh.exe
        /c/WINDOWS/system32/ntdll.dll (0x7c900000)
        /c/WINDOWS/system32/kernel32.dll (0x7c800000)
        /usr/bin/cygwin1.dll (0x61000000)
        /c/WINDOWS/system32/ADVAPI32.DLL (0x77dd0000)
        /c/WINDOWS/system32/RPCRT4.dll (0x77e70000)
        /c/WINDOWS/system32/Secur32.dll (0x77fe0000)
        /usr/local/zsh-2009-03-11/bin/libzsh-4.3.9-dev-1.dll (0x6ba00000)
        /usr/bin/cygiconv-2.dll (0x6dd50000)

notably missing ncurses.

When configuring against ncurses8 and ncurses9, there are no
differences between the generated config.h or config.status files.
There are only minor and insignificant differences (regarding naming
of temporary files like
/c/DOCUME~1/s360339.aoa/LOCALS~1/Temp/cc8nrdfh.o) between the
config.log files.

For reference, I have attached the config.log file.  config.status,
configure.ac and configure available upon request.

The referenced builds used gcc-4, but the same problem occurred using gcc-3.

When I attempted to debug the failing executable using gdb, here's
what happened:

$ gdb /usr/local/zsh-2009-03-11/bin/zsh.exe
GNU gdb 6.8.0.20080328-cvs (cygwin-special)
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-cygwin"...
(no debugging symbols found)
(gdb) run
Starting program: /usr/local/zsh-2009-03-11/bin/zsh.exe
[New thread 2092.0xd38]
gdb: unknown target exception 0xc0000139 at 0x7c96478e

Program exited with code 030000000471.
You can't do that without a process to debug.
(gdb)


This lends further credence to my hypothesis that some runtime
dependency is missing.  Googling that exit code seems to indicate that
this error code corresponds to:

0xc0000139 Entry Point Not Found

Thoughts?  Please let me know what additional info I can provide.

Regards,
  Vin

Attachment: config.log.gz
Description: GNU Zip compressed data



Messages sorted by: Reverse Date, Date, Thread, Author