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

Peter A. Castro doctor@fruitbat.org
Sun Mar 15 05:58:00 GMT 2009


On Sat, 14 Mar 2009, Vin Shelton wrote:

Greetings, All,
   As the zsh maintainer I guess I get to try and figure out what's going
on.  :-)
   Using the Dependency Walker tool that Chuck pointed out (thanks
Chuck!), I've found some rather interesting things.

   The offending symbol entries are the following (functions)
   tgetent
   tgetflag
   tgetnum
   tgetstr
   tgoto
   tputs
   pow      (but this is not an unresolve symbol, see below)

'pow' is not an unresolve symbol in this mess, but it is lumped into the
chunk with the bad symbols.

libzsh-4.3.9.dll is the one who needs these symbols, but the import list
is wrong:

Here's the imports from compiling/linking with libncurses-8 (good):

  0009e03c       0009e398 00000000 00000000 0009f37c 0009e6d4

         DLL Name: cygwin1.dll
         vma:  Hint/Ord Member-Name Bound-To
         9f018    1285  pow

  0009e050       0009e3a0 00000000 00000000 0009f3a4 0009e6dc

         DLL Name: cygncurses-8.dll
         vma:  Hint/Ord Member-Name Bound-To
         9f020     405  tgetent
         9f02c     406  tgetflag
         9f038     407  tgetnum
         9f044     408  tgetstr
         9f050     409  tgoto
         9f058     417  tputs

And, here's the imports from compiling/linking with libncurses-9 (bad):

  0009e03c       0009e398 00000000 00000000 0009f374 0009e6d0

         DLL Name: cygwin1.dll
         vma:  Hint/Ord Member-Name Bound-To
         9f010    1285  pow
         9f018     468  tgetent
         9f024     469  tgetflag
         9f030     470  tgetnum
         9f03c     471  tgetstr
         9f048     472  tgoto
         9f050     480  tputs

  0009e050       0009e39c 00000000 00000000 0009f39c 0009e6d4

         DLL Name: cygncurses-9.dll
         vma:  Hint/Ord Member-Name Bound-To
         9f018     468  tgetent
         9f024     469  tgetflag
         9f030     470  tgetnum
         9f03c     471  tgetstr
         9f048     472  tgoto
         9f050     480  tputs

It appears to trying to import the symbols twice.

I've checked the import libs for both 5.5-3 (good) 5.7-13 (bad) and they
don't appear to have anything funny about them.  libncurses.a and
libncurses.dll.a both appear to have the correct exports.  There's no
difference in how zsh is compiled between ncurses 8 & 9.

Could this really be a linker problem?

My build was done using gcc3, and Vin stated he'd tested with both gcc3
and gcc4, so perhaps there's a common element between them?  Or, perhaps,
is something not quite right with libncurses9 ?

I'm a but stuck now as I'm not sure where to look next.  Any educated
guesses to point me in the right direction?  Anyone?  Anyone?  Bueller?


> René Berber wrote:
>> Vin Shelton wrote:
>> 
>>> Charles Wilson wrote:
>>>> Just for grins, could you rebuild zsh against libncurses9 -- but this
>>>> time use gcc3?  cygiconv-2 and cygncurses-9 use the static gcc-3.4.4
>>>> libgcc.a, but you are apparently using the gcc-4.3.2 shared libgcc.
>>>> 
>>>> I just wonder if that presents an incompatibility that could explain
>>>> what you are seeing.
>>> Thanks for replying, Chuck.
>>> 
>>> As I mentioned in the initial email, I had already done just that.  Just
>>> to be sure, I did it again, with the same result:
>> 
>> No you didn't, the point was: use gcc3, in other words: mixing libraries
>> built with gcc3 and gcc4 doesn't work.
>
> I think my initial post contains this line:
>
>> The referenced builds used gcc-4, but the same problem occurred using 
> gcc-3.
>
> If I'm wrong, or I'm misunderstanding you, I apologize.
>
> In any case, I have now supplied the information requested, no?
>
> Building with gcc-4 and the old ncurses produces a working zsh, in case that 
> wasn't clear from my earlier emails.
>
>  - Vin
>
>
> --
> 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/
>

-- 
Peter A. Castro <doctor@fruitbat.org> or <Peter.Castro@oracle.com>
 	"Cats are just autistic Dogs" -- Dr. Tony Attwood
-------------- next part --------------
--
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/


More information about the Cygwin mailing list