<AWT Dev> RFR: 8081447: System JPEG builds include in-tree jpeglib.h, resulting in build failure

Andrew Hughes gnu.andrew at redhat.com
Fri May 29 02:24:04 UTC 2015


Bug: https://bugs.openjdk.java.net/browse/JDK-8081447
Webrev: http://cr.openjdk.java.net/~andrew/8081447/webrev.01/

In testing a fix for [0], I found that system jpeg support seems
to have bitrotted. Due to the movement of makefiles, it's hard
to trace where this change occurred, but we have the conditional
code:

ifeq ($(USE_EXTERNAL_LIBJPEG), true)
  BUILD_LIBJAVAJPEG_HEADERS :=
else
  BUILD_LIBJAVAJPEG_HEADERS := $(addprefix -I, $(LIBJAVAJPEG_SRC))
endif

but then BUILD_LIBJAVAJPEG_HEADERS is not used and
instead $(addprefix -I, $(LIBJAVAJPEG_SRC)) is hardcoded in
BUILD_LIBJAVAJPEG:

    CFLAGS := $(CFLAGS_JDKLIB) $(addprefix -I, $(LIBJAVAJPEG_SRC)) \

When building using the system libjpeg, this means that the jpeglib.h
from the in-tree copy of libjpeg is used to build jpegdecoder.o. This
leads to references to symbols that don't exist in the system version
and a failure to link libjavajpeg.so

The simple fix for this is to use BUILD_LIBJAVAJPEG_HEADERS again,
as in the listed webrev.

Ok to push to client?

Thanks,
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: ed25519/35964222 (hkp://keys.gnupg.net)
Fingerprint = 5132 579D D154 0ED2 3E04  C5A0 CFDA 0F9B 3596 4222

PGP Key: rsa4096/248BDC07 (hkp://keys.gnupg.net)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07



More information about the awt-dev mailing list