Bug#983673: octave-openems: missing h5readatt_octave.cc

Wolfgang Rosner wrosner at tirnet.de
Sun Feb 28 10:20:50 GMT 2021


Package: octave-openems
Version: 0.0.35+dfsg.1-3
Severity: normal
Tags: d-i

Installed openems and octave-openems

tried tutorials to "check correct installation".
failed at
https://openems.de/index.php/Tutorial:_Rectangular_Waveguide.html

- plot 3 is empty
- seems to have trouble to set up hdf5

digging down, I could find a "works for me workaround", but no patch yet
dropping my findings here, just in case sbdy wants to pick up


--------8<---------------------
octave:35> setup
setting up openEMS matlab/octave interface
compiling oct files
HDF5 library path found
at: /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so /usr/lib/x86_64-linux-gnu/hdf5/openmpi
HDF5 include path found at: /usr/include/hdf5/serial/hdf5.h
/usr/include/hdf5/openmpi
g++: error: h5readatt_octave.cc: Datei oder Verzeichnis nicht gefunden
------8<-----------------------------

what I found:

- issue not covered in recent unstable changelog
- h5readatt_octave.cc is missing
- maybe deliberately, since it does not work?
- looks like the upstream "setup.m" does not get it right in debian
  ecosystem
- I have both libhdf5-103:amd64 (aka 'serial') and
  libhdf5-openmpi-103:amd64 installed
- trying to uninstall openmpi version pulls out octave-openems, too

so I tried

- pulled h5readatt_octave.cc from upstream source to try manual build
- can build with
mkoctfile -L/usr/lib/x86_64-linux-gnu/hdf5/openmpi
  -I/usr/include/hdf5/openmpi
  -I/usr/lib/x86_64-linux-gnu/openmpi/include -lhdf5 h5readatt_octave.cc

- upstream "setup.m" appears just to include hdf5, not the
/usr/lib/x86_64-linux-gnu/openmpi/include

- .... and it does not run in the tutorial:

---8<---------------
error: ReadHDF5Attribute:
/usr/share/octave/packages/openems-0.0.35/h5readatt_octave.oct: failed
  to load: /usr/share/octave/packages/openems-0.0.35/h5readatt_octave.oct:
  undefined symbol: _ZN3MPI8Datatype4FreeEv 
---8<---------------

... obviously there are deeper dependency issues...

- next try: manually select serial hdf5:

mkoctfile -L/usr/lib/x86_64-linux-gnu/hdf5/serial
  -I/usr/include/hdf5/serial -lhdf5 h5readatt_octave.cc


OK, this way it works (both manual build and tutorial)
... just to find out that the hdf5 plot capabilities are quite
rudimentary.


So maybe there is no serious need for octave hdf5 beyond the tutorial?
At least not in applications that beg for openmpi.
Assume they'll use sth more serious like paraview?

Proposals to remove the hurdle for beginners:
- leave it as it is but put a proper note at a proper place 
  e.g. in the console output of setup.m
- strip down half baken upstream setup.m to forcefully/preferrable 
  compile against 'serial', not 'openmpi'
- remove the openmpi dependency of octeave-openems


You decide.





-- System Information:
Debian Release: 10.8
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.19.0-14-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
(ignored: LC_ALL set to en_US.utf-8), LANGUAGE=de_DE:en (charmap=UTF-8)
(ignored: LC_ALL set to en_US.utf-8) Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled

Versions of packages octave-openems depends on:
ii  epstool             3.09-1
ii  fig2dev [transfig]  1:3.2.7a-5+deb10u3
ii  libc6               2.28-10
ii  libgcc1             1:8.3.0-6
ii  libgomp1            8.3.0-6
ii  libhdf5-cpp-103     1.10.4+repack-10
ii  liboctave6          4.4.1-5
ii  libstdc++6          8.3.0-6
ii  octave              4.4.1-5
ii  openems             0.0.35+dfsg.1-3

octave-openems recommends no packages.

octave-openems suggests no packages.

-- no debconf information



More information about the debian-science-maintainers mailing list