X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Tue, 17 Mar 2009 18:27:21 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: under cygwin, zsh cannot run when built against ncurses9-5.7-13 Message-ID: <20090317222721.GB1505@ednor.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20a807210903131414g62e0a53cyefd3938c3fe8af33 AT mail DOT gmail DOT com> <49BADAC1 DOT 80709 AT cwilson DOT fastmail DOT fm> <49BF1770 DOT 9020007 AT gmail DOT com> <49C00B83 DOT 8050302 AT gmail DOT com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <49C00B83.8050302@gmail.com> User-Agent: Mutt/1.5.16 (2007-06-09) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Tue, Mar 17, 2009 at 08:43:47PM +0000, Dave Korn wrote: >Dave Korn wrote: > >> Anyway, I found that removing "-lm -lc" from the options fixes the build >> problem, and that it makes no difference what version of ld you use. > > Have looked at this a little further. > > First off: the Cygwin C runtime library is basically the Cygwin DLL, and >what we want in normal use is to link against the Cygwin DLL's import library, >(which is /usr/lib/libcygwin.a). > > The libraries /usr/lib/libm.a and /usr/lib/libc.a are helper libraries, used >to bundle up objects as part of the winsup build. They are passed to the >final link that builds the Cygwin DLL. They appear to be some kind of import >library that has been processed by a perl script called speclib that does some >kind of low-level binary munging on them to change symbol names: > >-libcygwin/d000078.o: file format pe-i386 >+libc/d000078.o: file format pe-i386 >-[ 7](sec 0)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 __head_cygwin1_dll >+[ 7](sec 0)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 __head_libc > > I don't know what it's all about yet, but as far as I can tell, they aren't >suitable for use outside the actual build system itself and should probably >not need to be installed. It would probably be better if they were replaced >by symlinks to libcygwin.a, as is done for libg.a. Sheesh. Do you honestly think I would have gone to the effort of creating these libraries when a simple symlink would suffice? Do you really think I don't know about symlinks? cgf -- 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/