Patch for libpng unresolved methods on x86_64 with MMX

Anthony Petrov Anthony.Petrov at Sun.COM
Fri Oct 12 06:58:40 UTC 2007


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/
> 



More information about the build-dev mailing list