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.

Reply via email to