JDK-6804645 : OpenJDK[7] should support IMPORT_BINARY_PLUGS=false and Gervill
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.sound
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux
  • CPU: x86
  • Submitted: 2009-02-12
  • Updated: 2011-02-16
  • Resolved: 2009-02-26
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
$ /home/andrew/build/icedtea/bin/java -version
java version "1.7.0_0"
IcedTea 1.9-pre-r70396cb4abf8 Runtime Environment (build 1.7.0_0-b45)
OpenJDK 64-Bit Server VM (build 14.0-b10, mixed mode)


ADDITIONAL OS VERSION INFORMATION :
Linux rivendell 2.6.27-gentoo-r8.rivendell #2 SMP Thu Jan 29 11:33:45 GMT 2009 x86_64 Intel(R) Xeon(R) CPU X5482 @ 3.20GHz GenuineIntel GNU/Linux

A DESCRIPTION OF THE PROBLEM :
The OpenJDK6 tree includes an IMPORT_BINARY_PLUGS option so it can be built without proprietary code.  This feature has not yet appeared in the OpenJDK7 source trees.

The key blocker for this is the replacement of the proprietary sound code, jsoundhs.so, with the output of the Gervill project (http://openjdk.java.net/projects/audio-engine).

Currently builds fail with:

BinaryPlugs import started: Thu Feb  5 11:08:21 GMT 2009
BINARY_PLUGS_PATH=/home/andrew/builder/icedtea/bootstrap/jdk1.7.0
make[4]: *** No rule to make target `/home/andrew/builder/icedtea/bootstrap/jdk1.7.0/jre/lib/amd64/libjsoundhs.so', needed by `/tmp/hotspot-comp/build/linux-amd64/lib/amd64/libjsoundhs.so'.  Stop.

Once jsoundhs is replaced by Gervill, as in OpenJDK6, SNMP can be made optional and a Free build of OpenJDK7 made possible.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
JAVAC= LANG=C make ALT_BOOTDIR=/usr/lib/jvm/icedtea6 IMPORT_BINARY_PLUGS=false ANT=/usr/bin/ant ANT_HOME=/usr/share/ant ALT_BINARY_PLUGS_PATH=/home/andrew/builder/icedtea/bootstrap/jdk1.7.0 on any OpenJDK7 tree.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
With OpenJDK6 the ALT_BINARY_PLUGS_PATH is unnecessary and IMPORT_BINARY_PLUGS is understood by the build.
ACTUAL -
OpenJDK7 requires ALT_BINARY_PLUGS_PATH to point to a location containing jre/lib/rt-closed.jar and ignores IMPORT_BINARY_PLUGS.

ERROR MESSAGES/STACK TRACES THAT OCCUR :
BinaryPlugs import started: Thu Feb  5 11:08:21 GMT 2009
BINARY_PLUGS_PATH=/home/andrew/builder/icedtea/bootstrap/jdk1.7.0
make[4]: *** No rule to make target `/home/andrew/builder/icedtea/bootstrap/jdk1.7.0/jre/lib/amd64/libjsoundhs.so', needed by `/tmp/hotspot-comp/build/linux-amd64/lib/amd64/libjsoundhs.so'.  Stop.

REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
Provide an empty jsoundhs.so or patch out the offending code as in IcedTea7.

Comments
EVALUATION encombered code was dropped in jdk7 b46 (cr 6702956)
26-02-2009