Mail Archives: cygwin-announce/2002/05/23/22:46:54
The libpng package has been updated to version 1.2.3-1. This includes
the new packages
libpng12 (1.2.3-1)
libpng12-devel (1.2.3-1)
which complement the existing
libpng10 (1.0.13-3)
libpng10-devel (1.0.13-3)
in addition to simply updating the 'libpng' package from 1.0.13-3 to
1.2.3-1.
libpng is a library that provides routines to access and
manipulate Portable Network Graphics (PNG) images. PNG is a
lossless, patent-unencumbered image format intended to replace GIF.
CHANGES (since 1.0.13-3):
- update to the 1.2.3 release.
- this package replaces the libpng-1.0.13 package -- however, the
LIBRARIES from 'libpng10-1.0.13-3' can coexist with the LIBRARIES
from 'libpng12-1.2.3-1'. Ditto libpng10-devel and libpng12-devel.
I've deliberately structured these packages so that the libraries
and header files can coexist, and you can install both.
But there is only one 'libpng' package -- the most recent one.
(Don't sweat it. There's nothing in it except documentation)
- Note that IF you want to link your application against this newest
version of libpng, you may need to change your application's source
code. Or, you can simply use -I/usr/include/libpng10/ and -lpng10
and continue linking against the 1.0.x series. However, all new
development is happening on 1.2.x.
- Aside: there are a few packages that depend on cygpng2.dll (that
is, on the libpng2 package). libpng2 can be installed alongside
these three packages, but new compiles will link against
cygpng10.dll. Package maintainers should remember to update
their setup.hints when recompiling dependent packages, to
reflect the (future) new dependence on the libpng10 package.
--
Charles Wilson
libpng volunteer maintainer for cygwin
INSTALLATION:
To update your installation, click on the "Install Cygwin now" link
on the http://cygwin.com/ web page. This downloads setup.exe to your
system. Then, run setup and update the libpng package -- and also
install the new libpng2 package.
Note that we have recently stopped downloads from sources.redhat.com
(aka cygwin.com) due to bandwidth limitations. This means that you
will need to find a mirror which has this update.
In the US,
ftp://mirrors.rcn.net/mirrors/sources.redhat.com/cygwin/
is a reliable high bandwidth connection.
In the UK,
http://programming.ccp14.ac.uk/ftp-mirror/programming/cygwin/pub/cygwin/
is usually up-to-date within 48 hours.
If one of the above doesn't have the latest version of this package
then you can either wait for the site to be updated or find another
mirror.
If you have questions or comments, please send them to the Cygwin
mailing list at: cygwin AT cygwin DOT com . I would appreciate if you would
use this mailing list rather than emailing me directly. This includes
ideas and comments about the setup utility or Cygwin in general.
If you want to make a point or ask a question, the Cygwin mailing list
is the appropriate place.
*** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***
If you want to unsubscribe from the cygwin-announce mailing list, look
at the "List-Unsubscribe: " tag in the email header of this message.
Send email to the address specified there. It will be in the format:
cygwin-announce-unsubscribe-you=yourdomain DOT com AT cygwin DOT com
NOTES:
In order to facilitate peaceful coexistence, the upstream libpng
folks made a few changes. Now, you can use
-I/usr/include/libpng10 -lpng10
to explicitly link against 1.0.x, or you can use
-I/usr/include/libpng12 -lpng12
to explicitly link against 1.2.x
Also, they recommend symlinks so that
-I/usr/include/libpng -lpng
will link against the newest version of libpng installed on
the system.
They also decided to scrap the [cyg|lib]png2.dll, 3.dll,
sequence, instead, going with <MAJ><MIN>, so 1.0.x is now
cygpng10.dll -- ditto for the import libs and static libs,
as well as moving the header files into versioned subdirs
of /usr/include/, although symbolic links to those header
files are put directly into /usr/include..
So, we have:
(in the 1.0.x series)
dynamic lib: cygpng10.dll
import lib: libpng10.dll.a
static lib: libpng10.a
include files: /usr/include/libpng10/*
(in the 1.2.x series)
dynamic lib: cygpng12.dll
import lib: libpng12.dll.a
static lib: libpng12.a
include files: /usr/include/libpng12/*
The symlinks I mentioned earlier:
in /usr/lib: libpng.dll.a --> libpng12.dll.a
in /usr/lib: libpng.a --> libpng12.a
in /usr/include: libpng --> libpng12/
in /usr/include: png.h --> libpng12/png.h
in /usr/include: pngconf.h --> libpng12/pngconf.h
in /usr/lib/pkgconfig: libpng.pc --> libpng12.pc
in /usr/bin: libpng-config --> libpng12-config
I've implemented this symlink creation as part of the postinstall
script.
- Raw text -