Subject: Re: libpng not found.
From: Soren A <[email-masked]>
To: [email-masked]
Date: Wed, 18 Sep 2002 07:25:01 +0000 (UTC)

"Krung Saengpole" <[email-masked]> wrote in
news:[email-masked]: 

> I come to this mailing list for the first time. If I go to the wrong
> place, apologize me. I installed Cygwin on my machine (Win95), when I
> compiled my program that use -lpng, system told me that libpng wasn't
> found. I installed cygwin including libpng. What I did wrong or how to
> solve this problem? 

Your message text reading "my application" conveys ambiguous meaning to me. 
If you mean that YOU are the AUTHOR of an application that uses libpng then 
you need to become sufficiently acquainted with libpng and its issues I 
think. I recommend you visit the libpng home site and probably subscribe to 
the libpng mailing List ("png-implement"). If you instead mean merely that 
"my current task is to build an application that uses libpng, that somebody 
else is the author of", then it would be better for starters if you 
identified what application you are trying to build. Giving more 
information is really usually better if anyone is to provide useful help to 
you (and possibly to other future readers as well, who will discover this 
dicsussion and use it to solve their own problems, rather than requiring 
folks to repeat the same answers again and again).

If you wish to confirm that libpng files do exist on your system there are 
several possible avenues to explore. For example you could try

$ find /usr/lib -name '*png*.a'
  OR
$ cygcheck libpng

This background information below may help. Or it may not.

As found on my Web page at
http://home.att.net/~perlspinr/IM_build.html
--------------------------------------------------------------------
libpng

The development group in charge of libpng has recently had to make changes 
to the way libpng's headers (there are two of them) and library archive(s) 
are to be placed at install-time on the system. Formerly, in general, the 
headers went into the standard Posix system include dir (either 
/usr/local/include or /usr/include) and the library was named libpng.dll.a 
and placed into the usual library dir (/usr/local/lib or /usr/lib).

Now, the layout for the location of the library archive is like (on Cygwin, 
a Posix-overlaying-Win32 system) this (easier to show than to describe): 

/lib/libpng10.a
/lib/libpng10.dll.a
/lib/libpng.a -> libpng10.a
/lib/libpng.dll.a -> libpng10.dll.a

The file libpng.dll.a is now merely a symlink to the versioned file (as of 
this writing, libpng10.dll.a). This change poses no problem to configure. 
The headers are a different story: 

 /usr/include/libpng10/png.h
 /usr/include/libpng10/pngconf.h

Now, the headers are located in a subdirectory of a standard Posix-tree
include dir, named for the "generational release number" (or whatever
we'd call it) of the libpng distribution:

/usr/include/libpngNN/*.h.

The C compiler gcc does not have this subdirectory on its default system
header search path. Thus, the configure script fails at this points to
find a complete and viable libpng installed. 

The new introduction of versioning in the installation style was
necessitated by a break in binary compatibility. Please see the libpng
documentation, the libpng home page or the libpng mailing list archives
for more information. 

--------------------------------------------------------------------

   Soren A

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/