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