Re: ImageJ: OpenJdk has problems with JPEGImageEncoder
On Tue, 23 Sep 2008, David Herron wrote:
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
Ahh, many thanks for this explanation.
So we have to foreward this link to ImageJ upstream authors whether they
could migration to Image I/O which is suggested in any way and we might
finally have a really free ImageJ in Debian. Paolo, would you volunteer
to contact the ImageJ authors (I assume you have contact) or should I take
over this job?
Kind regards
Andreas.
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-op
enjdk/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.
--
http://fam-tille.de
Reply to: