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