On 2015-07-16 07:00, Mike Miller wrote: > On Wed, Jul 15, 2015 at 08:59:32 -0400, Mike Miller wrote: >> On Wed, Jul 15, 2015 at 10:00:33 +0200, Alois Schloegl wrote: >>> Octave should not have a strong dependency on openjdk. Any of the >>> following solutions would do: >>> 1) the dependency should be changed to "recommended", and/or >>> 2) it should allow for some alternative java engine (e.g. gcj or >>> whatever). (see also [4] ), >>> 3) keeping the java dependency in a octave package "octave-java" as it >>> was before 3.8.x >> >> Before #1 or #3 are feasible, some upstream work will need to be done to >> allow Octave to detect the (presence of / version of / path to) JRE at >> runtime. Please see upstream bug #40111. > > Minor clarification: currently, when Octave is compiled with Java > support but the JRE is not actually present, the error is handled and > reported: > > octave:1> javaMethod ("getRuntime", "java.lang.Runtime") > error: javaMethod: > /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server/libjvm.so: failed to > load: /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server/libjvm.so: > cannot open shared object file: No such file or directory > octave:2> > > So Octave does handle this to some degree. The error reporting is not > ideal and could be improved as part of #40111. But it does look feasible > to be able to run Octave without a JRE. Users who opt out of installing > default-jre-headless will see errors like the above if they try to use > java functions, or functions that rely on java such as those in the > octave-io package. > > Thoughts? >
I changed the control file in the debian package (see attachments). default-jre-headless is now not in "Depends" but in "Build-Depends" and "Recommends". The resulting octave-debian packages does the job. In case somebody wants to use the java-interface, the above error message seems good enough. Please consider repackaging Octave with the modified control file. Alois
--- octave-3.8.4.deb/DEBIAN/control.orig 2015-07-16 09:11:00.860280895 +0200 +++ octave-3.8.4/DEBIAN/control 2015-07-16 09:38:50.716915697 +0200 @@ -1,10 +1,11 @@ Package: octave Version: 3.8.2-4 -Architecture: arm64 +Architecture: amd64 Maintainer: Debian Octave Group <pkg-octave-de...@lists.alioth.debian.org> -Installed-Size: 3327 -Depends: libamd2.3.1, libarpack2 (>= 2.1), libblas3 | libblas.so.3, libc6 (>= 2.17), libcamd2.3.1, libccolamd2.8.0, libcholmod2.1.2, libcolamd2.8.0, libcxsparse3.1.2, libfftw3-double3, libfftw3-single3, libfltk-gl1.3 (>= 1.3.0), libfltk1.3 (>= 1.3.1), libfontconfig1 (>= 2.11), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.7), libgl1-mesa-glx | libgl1, libglpk36 (>= 4.51), libglu1-mesa | libglu1, libgomp1 (>= 4.2.1), libgraphicsmagick++3, libgraphicsmagick3 (>= 1.3.5), liblapack3 | liblapack.so.3, liboctave2 (= 3.8.2-4), libqhull6 (>= 2012.1), libqrupdate1 (>= 1.0), libqscintilla2-11, libqt4-network (>= 4:4.5.3), libqtcore4 (>= 4:4.7.0~beta1), libqtgui4 (>= 4:4.8.0), libstdc++6 (>= 4.9), libumfpack5.6.2, libx11-6, texinfo, octave-common (= 3.8.2-4), default-jre-headless -Recommends: gnuplot-x11 | gnuplot-qt, libopenblas-base | libatlas3-base, pstoedit +Installed-Size: 3497 +Build-Depends: default-jre-headless +Depends: libamd2.3.1, libarpack2 (>= 2.1), libblas3 | libblas.so.3, libc6 (>= 2.14), libcamd2.3.1, libccolamd2.8.0, libcholmod2.1.2, libcolamd2.8.0, libcxsparse3.1.2, libfftw3-double3, libfftw3-single3, libfltk-gl1.3 (>= 1.3.0), libfltk1.3 (>= 1.3.1), libfontconfig1 (>= 2.11), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), libgl1-mesa-glx | libgl1, libglpk36 (>= 4.51), libglu1-mesa | libglu1, libgomp1 (>= 4.2.1), libgraphicsmagick++3, libgraphicsmagick3 (>= 1.3.5), liblapack3 | liblapack.so.3, liboctave2 (= 3.8.2-4), libqhull6 (>= 2012.1), libqrupdate1 (>= 1.0), libqscintilla2-11, libqt4-network (>= 4:4.5.3), libqtcore4 (>= 4:4.7.0~beta1), libqtgui4 (>= 4:4.8.0), libstdc++6 (>= 4.9), libumfpack5.6.2, libx11-6, texinfo, octave-common (= 3.8.2-4) +Recommends: gnuplot-x11 | gnuplot-qt, libopenblas-base | libatlas3-base, pstoedit, default-jre-headless Suggests: octave-info, octave-doc, octave-htmldoc Conflicts: octave-java, octave3.2 Breaks: dynare (<= 4.4.1-1), libsbml5-octave (<= 5.8.0-2), octave-audio (<= 1.1.4-4), octave-biosig (<= 1.3.0-2+b1), octave-communications (<= 1.2.0-1), octave-control (<= 2.6.2-1), octave-econometrics (<= 1:1.1.1-2), octave-fixed (<= 0.7.10-5+b1), octave-gdf (<= 0.1.2-2+b1), octave-general (<= 1.3.2-2), octave-geometry (<= 1.7.0-1), octave-gmt (<= 4.5.11-1), octave-gsl (<= 1.0.8-5), octave-image (<= 2.0.0-3), octave-io (<< 1.3), octave-java (<= 1.2.9-2), octave-lhapdf (<= 5.9.1-3), octave-linear-algebra (<= 2.2.0-1), octave-miscellaneous (<= 1.2.0-2), octave-mpi (<= 1.1.1-1), octave-nan (<= 2.5.9-1), octave-nlopt (<= 2.4.1+dfsg-1), octave-nurbs (<= 1.3.7-1), octave-ocs (<= 0.1.3-1), octave-octcdf (<= 1.1.6-1), octave-octgpr (<= 1.2.0-3), octave-odepkg (<= 0.8.4-1), octave-openmpi-ext (<= 1.1.0-2), octave-optim (<= 1.2.2-2), octave-optiminterp (<= 0.3.4-1), octave-parallel (<= 2.2.0-1), octave-pfstools (<= 1.8.5-1+b1), octave-plplot (<= 5.9.9-5+b1), octave-psychtoolbox-3 (<= 3.0.11.20131230.dfsg1-1), octave-quaternion (<= 2.2.0-1), octave-secs2d (<= 0.0.8-4), octave-signal (<= 1.2.2-1), octave-sockets (<= 1.0.8-1), octave-specfun (<= 1.1.0-1), octave-strings (<= 1.1.0-1), octave-struct (<= 1.0.10-1), octave-sundials (<= 2.5.0-3), octave-symbolic (<= 1.1.0-2), octave-tsa (<= 4.2.7-1), octave-vlfeat (<= 0.9.17+dfsg0-6), sdpam (<= 7.3.9+dfsg-1)
Package: octave Version: 3.8.2-4 Architecture: amd64 Maintainer: Debian Octave Group <pkg-octave-de...@lists.alioth.debian.org> Installed-Size: 3497 Build-Depends: default-jre-headless Depends: libamd2.3.1, libarpack2 (>= 2.1), libblas3 | libblas.so.3, libc6 (>= 2.14), libcamd2.3.1, libccolamd2.8.0, libcholmod2.1.2, libcolamd2.8.0, libcxsparse3.1.2, libfftw3-double3, libfftw3-single3, libfltk-gl1.3 (>= 1.3.0), libfltk1.3 (>= 1.3.1), libfontconfig1 (>= 2.11), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), libgl1-mesa-glx | libgl1, libglpk36 (>= 4.51), libglu1-mesa | libglu1, libgomp1 (>= 4.2.1), libgraphicsmagick++3, libgraphicsmagick3 (>= 1.3.5), liblapack3 | liblapack.so.3, liboctave2 (= 3.8.2-4), libqhull6 (>= 2012.1), libqrupdate1 (>= 1.0), libqscintilla2-11, libqt4-network (>= 4:4.5.3), libqtcore4 (>= 4:4.7.0~beta1), libqtgui4 (>= 4:4.8.0), libstdc++6 (>= 4.9), libumfpack5.6.2, libx11-6, texinfo, octave-common (= 3.8.2-4) Recommends: gnuplot-x11 | gnuplot-qt, libopenblas-base | libatlas3-base, pstoedit, default-jre-headless Suggests: octave-info, octave-doc, octave-htmldoc Conflicts: octave-java, octave3.2 Breaks: dynare (<= 4.4.1-1), libsbml5-octave (<= 5.8.0-2), octave-audio (<= 1.1.4-4), octave-biosig (<= 1.3.0-2+b1), octave-communications (<= 1.2.0-1), octave-control (<= 2.6.2-1), octave-econometrics (<= 1:1.1.1-2), octave-fixed (<= 0.7.10-5+b1), octave-gdf (<= 0.1.2-2+b1), octave-general (<= 1.3.2-2), octave-geometry (<= 1.7.0-1), octave-gmt (<= 4.5.11-1), octave-gsl (<= 1.0.8-5), octave-image (<= 2.0.0-3), octave-io (<< 1.3), octave-java (<= 1.2.9-2), octave-lhapdf (<= 5.9.1-3), octave-linear-algebra (<= 2.2.0-1), octave-miscellaneous (<= 1.2.0-2), octave-mpi (<= 1.1.1-1), octave-nan (<= 2.5.9-1), octave-nlopt (<= 2.4.1+dfsg-1), octave-nurbs (<= 1.3.7-1), octave-ocs (<= 0.1.3-1), octave-octcdf (<= 1.1.6-1), octave-octgpr (<= 1.2.0-3), octave-odepkg (<= 0.8.4-1), octave-openmpi-ext (<= 1.1.0-2), octave-optim (<= 1.2.2-2), octave-optiminterp (<= 0.3.4-1), octave-parallel (<= 2.2.0-1), octave-pfstools (<= 1.8.5-1+b1), octave-plplot (<= 5.9.9-5+b1), octave-psychtoolbox-3 (<= 3.0.11.20131230.dfsg1-1), octave-quaternion (<= 2.2.0-1), octave-secs2d (<= 0.0.8-4), octave-signal (<= 1.2.2-1), octave-sockets (<= 1.0.8-1), octave-specfun (<= 1.1.0-1), octave-strings (<= 1.1.0-1), octave-struct (<= 1.0.10-1), octave-sundials (<= 2.5.0-3), octave-symbolic (<= 1.1.0-2), octave-tsa (<= 4.2.7-1), octave-vlfeat (<= 0.9.17+dfsg0-6), sdpam (<= 7.3.9+dfsg-1) Replaces: octave-java, octave3.2 Section: math Priority: optional Homepage: http://www.octave.org/ Description: GNU Octave language for numerical computations Octave is a (mostly Matlab (R) compatible) high-level language, primarily intended for numerical computations. It provides a convenient command-line interface for solving linear and nonlinear problems numerically. . Octave can be dynamically extended with user-supplied C++ files.