Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm 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 Message-ID: <41951F9A.1030205@cwilson.fastmail.fm> Date: Fri, 12 Nov 2004 15:39:54 -0500 From: Charles Wilson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040616 MultiZilla/1.6.4.0b MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: libpng issues References: <4194B95F DOT 4080209 AT familiehaase DOT de> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Marco Alanen wrote: > Yes it's installed, otherwise it wouldn't compile nor run :) > > > Please contact the distributor of your MinGW libpng since this library > > is not distributed with Cygwin it is not supported here. > > Ok. I just thought that since it's included in the cygwin installer, > someone here might have an idea (or previous experiences) about this. "...it's included..." ??? Yes, the cygwin installation includes TWO cygwin versions of libpng (1.0.x and 1.2.x). You can link against those libraries (/usr/lib/libpng*), and include their headers (/usr/include/*) -- but they require and use cygwin as their runtime library. If you attempt to link against them using gcc- -mno-cygwin, there are two problems: (1) you get msvcrt.dll as your runtime library, NOT cygwin -- and even if you COULD get it to link, it wouldn't work properly because the libpng library isn't getting the runtime library it expects. thus, this is not an issue for this list; you want the mingw list -- and maybe check out the GNUWin32 (*) project for mingw versions of various libraries. (*) grumble grumble gnuwin name USED to mean cygwin grumble needless confusion grumble. (2) Because the folks who created the -mno-cygwin switch KNOW this, they made it so that gcc, when given -mno-cygwin flag, doesn't even LOOK in /usr/lib when linking, nor in /usr/include when when preproceesing/compiling. Because the only thing you'll find, on a cygwin system, in those two directories, are CYGWIN libraries and headers. gcc -mno-cygwin looks in /usr/lib/mingw and /usr/include/mingw The libpng packages provided by the cygwin project are do NOT provide mingw versions. If you want mingw versions of those libraries, you'll have to get them from the mingw people (or compile them yourself, or go to GNUWin32 ) and put them into your *cygwin* installation's /usr/lib/mingw and /usr/include/mingw manually. (Note that mingw-**MSYS** sets up its own, entirely separate tree, with it's own /usr/include/ and /usr/lib/, which are (obviously) filled with all kinds of mingw-goodies. That's not what I'm talking about here; cygwin can't see THOSE directories. Cygwin != MSYS.). As far as I know, other than mingw-runtime and w32api, there are only TWO packages in the standard cygwin installation that provide mingw libraries: mingw-zlib and mingw-bzip2/mingw-libbz2. I think you'll find the difference between cygwin's cygwin-zlib (e.g. "normal for the cygwin system" zlib) package contents http://cygwin.com/cgi-bin2/package-cat.cgi?file=zlib%2Fzlib-1.2.1-2&grep=zlib and cygwin's mingw-zlib package contents http://cygwin.com/cgi-bin2/package-cat.cgi?file=mingw-zlib%2Fmingw-zlib-1.2.1-2&grep=mingw-zlib quite instructive. Obviously, cygwin's libpng packages are "normal for the cygwin system" and are NOT mingw-ish. -- Chuck libpng* maintainer zlib maintainer mingw-zlib maintainer bzip2 maintainer mingw-bzip2 maintainer -- 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/