Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 14171 - [~x86] latest libpng-{1.0,1.2} breaks tetex build (missing /usr/include/png.h)
Summary: [~x86] latest libpng-{1.0,1.2} breaks tetex build (missing /usr/include/png.h)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High blocker (vote)
Assignee: George Shapovalov (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-01-19 06:24 UTC by Phil Richards
Modified: 2003-04-04 01:26 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Phil Richards 2003-01-19 06:24:13 UTC
tetex-1.0.7-r12 is broken by the latest libpng changes (libpng-1.0.15
libpng-1.2.5-r2).  (See end of bug report for build error.)

[This is related to (but not strictly identical to) bug 12433 (also
raised by me :-).]

This is because /usr/include/png.h does not exist, and the tetex build fails.

Either tetex needs to flip over to use its internal version of libpng,
or it needs to be patched for the new gentoo layout of libpng.  Or...

I've just done a quick grep through the ebuilds - the only ones that
explicitly require libpng-1.0* (and not anything later) are:

media-gfx/graphviz/graphviz-1.8.10-r2.ebuild
net-www/opera/opera-6.0.ebuild

graphviz has been patched for the new libpng; opera-6.0 is no longer
the "active" opera - and is in fact masked.

In other words, the whole of this libpng hassle is now down to two packages,
one of which is fixed, and the other of which is masked (and replaced by
opera-6.11).

So, erm, the headers from libpng-1.2 could quite happily live in
/usr/include/, like they used to (as symlinks to the files in
/usr/include/libpng-12).  Any new package added to portage that requires
libpng-10 could have the same patch done to it as graphviz.

Phil

[...]
make[3]: Entering directory
`/var/tmp/portage/tetex-1.0.7-r12/work/teTeX-1.0/texk/web2c/pdftexdir'
gcc -DHAVE_CONFIG_H  -I. -I. -I.. -I../..  -I.. -I./.. -I../.. -I./../..  
-march=athlon -O3 -pipe  -c writejpg.c
In file included from writejpg.c:8:
image.h:1:17: png.h: No such file or directory
image.h:14:2: #error "Your system libpng is too old for pdfTeX, please use
pdfTeX's one."
Comment 1 Phil Richards 2003-01-19 07:04:43 UTC
I worked round this problem by hand sym linking /usr/include/png.h ->
libpng12/png.h, and /usr/include/pngconf.h -> libpng/pngconf.h

tetex-1.0.7-r12 builds (and runs) correctly - well, so far, anyway.

phil
Comment 2 Seemant Kulleen (RETIRED) gentoo-dev 2003-01-19 13:50:43 UTC
would you please emerge libpng-1.0.15 and libpng-1.2.5 instead?

1.0.12 is kinda broken
Comment 3 Phil Richards 2003-01-19 14:06:02 UTC
I refer you to my original bug report:

"tetex-1.0.7-r12 is broken by the latest libpng changes (libpng-1.0.15
libpng-1.2.5-r2)."

I've *already* got 1.0.15 and 1.2.5-r2 ...

pihl
Comment 4 George Shapovalov (RETIRED) gentoo-dev 2003-01-19 18:15:53 UTC
Hi Phil.

Thank you for yur report.
Well, looks like you got bitten by the autoclean upon upgrading to a correctly
inplemented libpng-1.0.15. This version was "fixed" to create mangled .h's and
symlinks, thus no more owervriting png.h from 1.2.x series when it gets
installed afterwards (as graphviz dependency). 
Now, I would bet that you had libpng-1.0.12 installed *and* did not remerge
libpng-1.2.5 after that (otherwise the symlink would not have been removed).
This caused the removal of png.h symlink upon emerging libpng-1.0.15 (due to the
fact, that 1.0.15 was fixed *not* to overwrite png.h thus makeing it happily
coexist with 1.2 series) causing this havoc. The solution would be to emerge
libpng-1.2.5 afterwards, or just create the proper symlink manually.

I have added a warning to to pkg_postinst of libpng-1.0.15 and also revision
bumped libpng-1.2.5 to force remerge. This should solve it.

George
Comment 5 Phil Richards 2003-01-20 14:13:42 UTC
Yeah, re-emerging did solve it.

You can close this one.
Comment 6 John Davis (zhen) (RETIRED) gentoo-dev 2003-04-04 01:21:15 UTC
db fix
Comment 7 John Davis (zhen) (RETIRED) gentoo-dev 2003-04-04 01:26:08 UTC
db fix