This is a known issue. Anyway, thanks for reporting it! Please refer to
the following bug to track the status of the problem:
http://bugs.sun.com/view_bug.do?bug_id=6613927
Currently the bug is being fixed.
Concerning the possibility of using an external libpng library, we've
got the following bug report:
http://bugs.sun.com/view_bug.do?bug_id=6565114
However, we're postponing the fix because the submitter of the patch
haven't prepared a clean patch yet. The main reason to use a slightly
more comprehensive patch is to be able to use both the internal version
of the library and the external one (if the developer defines the
EXTERNAL_LIBPNG macro when building OpenJDK). It would be very helpful
if someone could provide a clean patch for the latter bug.
--
best regards,
Anthony
On 10/12/2007 05:14 AM Frederic Simon wrote:
I tried to build b21 on my Ubuntu 7.04 and got:
/work/java.net/openjdk.trunk/control/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/png.o:
In function `png_init_mmx_flags':
png.c:(.text+0xbc): undefined reference to `png_mmx_support'
/work/java.net/openjdk.trunk/control/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/pngpread.o:
In function `png_push_process_row':
pngpread.c:(.text+0x86e): undefined reference to `png_read_filter_row'
pngpread.c:(.text+0x934): undefined reference to `png_do_read_interlace'
/work/java.net/openjdk.trunk/control/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/pngpread.o:
In function `png_progressive_combine_row':
pngpread.c:(.text+0x141): undefined reference to `png_combine_row'
/work/java.net/openjdk.trunk/control/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/pngread.o:
In function `png_read_row':
pngread.c: (.text+0xa7d): undefined reference to `png_combine_row'
pngread.c:(.text+0xbd8): undefined reference to `png_combine_row'
pngread.c:(.text+0xbfc): undefined reference to `png_combine_row'
pngread.c:(.text+0xc98): undefined reference to `png_combine_row'
/work/java.net/openjdk.trunk/control/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/pngread.o:pngread.c:(.text+0xcb4):
more undefined references to `png_combine_row' follow
/work/java.net/openjdk.trunk/control/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/pngread.o:
In function `png_read_row':
pngread.c:(.text+0xce5): undefined reference to `png_read_filter_row'
pngread.c:(.text+0xd0d): undefined reference to `png_do_read_interlace'
collect2: ld returned 1 exit status
make[3]: ***
[/work/java.net/openjdk.trunk/control/build/linux-amd64/lib/amd64/libsplashscreen.so]
Error 1
make[3]: Leaving directory
`/work/java.net/openjdk.trunk/j2se/make/sun/splashscreen'
I found this thread talking about it:
http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2007-August/000192.html
So, I tried to modified the makefile to use the system png. It's very
roughly removing the integrated libpng and linking with png12.
Here is the patch:
https://www.jfrog.org/svn-jfrog/openjdk/patch/SplashScreen_libpng12.patch
Hope it helps.
--
http://freddy33.bglogspot.com/
http://www.jfrog.org/