Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 139052 - >=libpng-1.2.10 built without assembler support breaks certain programs using it
Summary: >=libpng-1.2.10 built without assembler support breaks certain programs using it
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
: 138341 140418 141921 157044 (view as bug list)
Depends on:
Blocks: 138736
  Show dependency tree
 
Reported: 2006-07-03 11:33 UTC by David Nadlinger
Modified: 2006-12-04 03:03 UTC (History)
9 users (show)

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


Attachments
Backported fix from =libpng-1.4.0beta8 (libpng-1.2.10-no-assembler.patch,1.86 KB, patch)
2006-07-03 11:36 UTC, David Nadlinger
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description David Nadlinger 2006-07-03 11:33:44 UTC
This bug can appear in various programs and on various arches, but - I guess - the most common occurence is in imagemagick on amd64:

$ convert abc.png abc.jpg
convert: symbol lookup error:
/usr/lib64/ImageMagick-6.2.8/modules-Q16/coders/png.so: undefined symbol:
png_get_asm_flags

---

Explanation:

Some of the pieces of assembler code in pnggccrd.c fail to build on x86_64. This is known and libpng's configure prevents this sections from being built by passing -DPNG_NO_ASSEMBLER_CODE to gcc. Therefore PNG_ASSEMBLER_CODE_SUPPORTED is not defined in pngconf.h and libpng builds without errors.

The problem is that PNG_NO_ASSEMBLER_CODE is not recorded in pngconf.h or somewhere else. There are some assembler-related functions like png_get_asm_flags in libpng that are only built if the assembler parts are built because they are useless otherwise. Programs (like imagemagick) that use that functions have to test if PNG_ASSEMBLER_CODE_SUPPORTED is defined to assure that they are not used if they are not built into libpng.

But as PNG_NO_ASSEMBLER_CODE is not recorded anywhere PNG_ASSEMBLER_CODE_SUPPORTED is always defined - leading to the kind problems the one I described above is an example for.

---

Fix:

I have reported this upstream (sf.net bug 1514938 [1]), but it doesn't seem like there will be another 1.2-bugfix release.

This bug was discussed in bug 136452 so far, but it doesn't really belong there. The patch attached - which is basically a backport from =libpng-1.4.0beta8 - is the one I originally attached to bug 136452. It is against =libpng-1.2.10, but works for =libpng-1.2.12 too.


[1] https://sourceforge.net/tracker/index.php?func=detail&aid=1514938&group_id=5624&atid=105624
Comment 1 David Nadlinger 2006-07-03 11:36:07 UTC
Created attachment 90802 [details, diff]
Backported fix from =libpng-1.4.0beta8

you *must* execute autogen.sh because this patch changes Makefile.am and configure.ac
Comment 2 David Nadlinger 2006-07-03 12:14:09 UTC
This is now blocking the tracker instead of the "original" imagemagick bug that is already fixed in unstable.
Comment 3 SpanKY gentoo-dev 2006-07-05 21:24:23 UTC
fixed with 1.2.12-r1
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2006-07-14 16:03:20 UTC
*** Bug 140418 has been marked as a duplicate of this bug. ***
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2006-07-14 16:07:05 UTC
Won't be fixed until this gets stable. It breaks stable stuff (such as imagemagick on amd64).
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2006-07-23 11:27:53 UTC
*** Bug 138341 has been marked as a duplicate of this bug. ***
Comment 7 Jakub Moc (RETIRED) gentoo-dev 2006-07-27 13:04:04 UTC
*** Bug 141921 has been marked as a duplicate of this bug. ***
Comment 8 Jakub Moc (RETIRED) gentoo-dev 2006-07-30 02:18:09 UTC
@ppc64 - might be a problem for you as well, please have a look (and remove yourself again if not :)
Comment 9 Martin Gadbois 2006-08-09 06:25:59 UTC
1.2.12-r1 and a recompile of ImageMagick works for me.
Comment 10 Markus Rothe (RETIRED) gentoo-dev 2006-08-13 10:34:52 UTC
thanks for the info. 1.2.12 works fine on ppc64 (tested with imagemagick). following the stable marking of 1.2.12-r1 also done by other archs though.
Comment 11 SpanKY gentoo-dev 2006-08-20 00:28:20 UTC
all set then
Comment 12 Jakub Moc (RETIRED) gentoo-dev 2006-12-04 03:03:34 UTC
*** Bug 157044 has been marked as a duplicate of this bug. ***