[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ImageJ: OpenJdk has problems with JPEGImageEncoder




com.sun.image.codec.jpeg.JPEGImageEncoder - This is a private class, not a public class, and we've always maintained freedom to drop/change/modify private classes at any time.  This was dropped.  This issue is upstream in the openjdk project.

On the OpenJDK 2d-dev mailing list (no URL unfortunately) this package was discussed in August and Chris Campbell said this:-
The history (and fate) of those classes is documented here:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6527962
- David Herron


Andreas Tille wrote:
Hi,

the ImageJ image viewer will be now maintained by the Debian Med
Packaging Team because this viewer is relevant for medical care.
The package is currently in contrib because it only builds with
sun-java.  The effort to compile it with openjdk-6-jdk failed with
the following problem:

make[1]: Leaving directory `/tmp/buildd/imagej-1.41l'
cd /tmp/buildd/imagej-1.41l && /usr/lib/jvm/java-6-openjdk/bin/java -classpath /usr/share/ant/lib/ant.jar:/usr/share/ant/lib/ant-launcher.jar:/usr/lib/jvm/java-6-openjdk/lib/tools.jar  -Dant.home=/usr/share/ant org.apache.tools.ant.Main -Dcompile.debug=true -Dcompile.optimize=true     build
Buildfile: build.xml

compile:
    [mkdir] Created dir: /tmp/buildd/imagej-1.41l/build
    [javac] Compiling 258 source files to /tmp/buildd/imagej-1.41l/build
    [javac] /tmp/buildd/imagej-1.41l/ij/measure/CurveFitter.java:19: warning: unmappable character for encoding ASCII
    [javac]  *  2008/01/21: Modified to do Gaussian fitting by Stefan W??rz (s.woerz at dkfz.de).
    [javac]                                                            ^
    [javac] /tmp/buildd/imagej-1.41l/ij/measure/CurveFitter.java:19: warning: unmappable character for encoding ASCII
    [javac]  *  2008/01/21: Modified to do Gaussian fitting by Stefan W??rz (s.woerz at dkfz.de).
    [javac]                                                             ^
    [javac] /tmp/buildd/imagej-1.41l/ij/plugin/filter/AVI_Writer.java:54: warning: com.sun.image.codec.jpeg.JPEGImageEncoder is Sun proprietary API and may be removed in a future release
    [javac]     private JPEGImageEncoder jpegEncoder;
    [javac]             ^
    [javac] /tmp/buildd/imagej-1.41l/ij/io/ImageReader.java:418: warning: com.sun.image.codec.jpeg.JPEGCodec is Sun proprietary API and may be removed in a future release
    [javac]             BufferedImage bi = JPEGCodec.createJPEGDecoder(in).decodeAsBufferedImage();
    [javac]                                ^
    [javac] /tmp/buildd/imagej-1.41l/ij/plugin/AVI_Reader.java:732: warning: com.sun.image.codec.jpeg.JPEGCodec is Sun proprietary API and may be removed in a future release
    [javac]             bi = JPEGCodec.createJPEGDecoder(inputStream).decodeAsBufferedImage();
    [javac]                  ^
    [javac] /tmp/buildd/imagej-1.41l/ij/plugin/JpegWriter.java:41: warning: com.sun.image.codec.jpeg.JPEGImageEncoder is Sun proprietary API and may be removed in a future release
    [javac]             JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(f);
    [javac]             ^
    [javac] /tmp/buildd/imagej-1.41l/ij/plugin/JpegWriter.java:41: warning: com.sun.image.codec.jpeg.JPEGCodec is Sun proprietary API and may be removed in a future release
    [javac]             JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(f);
    [javac]                                        ^
    [javac] /tmp/buildd/imagej-1.41l/ij/plugin/JpegWriter.java:42: warning: com.sun.image.codec.jpeg.JPEGEncodeParam is Sun proprietary API and may be removed in a future release
    [javac]             JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);
    [javac]             ^
    [javac] /tmp/buildd/imagej-1.41l/ij/plugin/JpegWriter.java:45: cannot find symbol
    [javac] symbol  : method setHorizontalSubsampling(int,int)
    [javac] location: class com.sun.image.codec.jpeg.JPEGEncodeParam
    [javac]                             param.setHorizontalSubsampling(1, 1);
    [javac]                                  ^
    [javac] /tmp/buildd/imagej-1.41l/ij/plugin/JpegWriter.java:46: cannot find symbol
    [javac] symbol  : method setHorizontalSubsampling(int,int)
    [javac] location: class com.sun.image.codec.jpeg.JPEGEncodeParam
    [javac]                             param.setHorizontalSubsampling(2, 1);
    [javac]                                  ^
    [javac] /tmp/buildd/imagej-1.41l/ij/plugin/JpegWriter.java:47: cannot find symbol
    [javac] symbol  : method setVerticalSubsampling(int,int)
    [javac] location: class com.sun.image.codec.jpeg.JPEGEncodeParam
    [javac]                             param.setVerticalSubsampling(1, 1);
    [javac]                                  ^
    [javac] /tmp/buildd/imagej-1.41l/ij/plugin/JpegWriter.java:48: cannot find symbol
    [javac] symbol  : method setVerticalSubsampling(int,int)
    [javac] location: class com.sun.image.codec.jpeg.JPEGEncodeParam
    [javac]                             param.setVerticalSubsampling(2, 1);
    [javac]                                  ^
    [javac] /tmp/buildd/imagej-1.41l/ij/plugin/JpegWriter.java:56: warning: com.sun.image.codec.jpeg.JPEGEncodeParam is Sun proprietary API and may be removed in a future release
    [javac]                                     param.setDensityUnit(JPEGEncodeParam.DENSITY_UNIT_DOTS_INCH);
    [javac]                                                          ^
    [javac] /tmp/buildd/imagej-1.41l/ij/plugin/JpegWriter.java:56: cannot find symbol
    [javac] symbol  : variable DENSITY_UNIT_DOTS_INCH
    [javac] location: class com.sun.image.codec.jpeg.JPEGEncodeParam
    [javac]                                     param.setDensityUnit(JPEGEncodeParam.DENSITY_UNIT_DOTS_INCH);
    [javac]                                                                         ^
    [javac] /tmp/buildd/imagej-1.41l/ij/plugin/filter/AVI_Writer.java:371: warning: com.sun.image.codec.jpeg.JPEGCodec is Sun proprietary API and may be removed in a future release
    [javac]             jpegEncoder = JPEGCodec.createJPEGEncoder(raOutputStream);
    [javac]                           ^
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] 5 errors
    [javac] 10 warnings

BUILD FAILED


The packaging stuff for imagej is available at

   svn://svn.debian.org/svn/debian-med/trunk/packages/imagej/trunk/

and the orig.tar.gz tarball can be obtained via

   make -f debian/rules get-orig-source

in case you would like to reproduce the problem.  Just try to replace
the first build depends by openjdk-6-jdk.

Any hint that might enable us to build imagej using openjdk is really
appreciated.

Kind regards

       Andreas.


PS: If you reply from the debian-java list please make sure that
    you keep at least me personally in CC if you wnt to avoid
    cross-list postings.


Reply to: