[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Debian's libhdf5-8 and Octave 3.8.2
From: |
José Luis García Pallero |
Subject: |
Re: Debian's libhdf5-8 and Octave 3.8.2 |
Date: |
Thu, 4 Sep 2014 19:02:47 +0200 |
2014-09-04 16:55 GMT+02:00 Mike Miller <address@hidden>:
> On Thu, Sep 4, 2014 at 13:11:20 +0200, José Luis García Pallero wrote:
>> Hello,
>>
>> recently, Debian Sid's libhdf5 library has been updated from libhdf5-7
>> (1.8.12 library version) to libhdf5-8 (1.8.13). Internally, in
>> libhdf5-8 now doesn't exists the libhdf5.so file, but the included
>> file is libhdf5_serial.so. There is apparently another changes
>> referred to directory paths for include/. Has anyone problems
>> compiling Octave 3.8.2 using Debian's libhdf5-8 library?
>
> Hi, I don't have much trouble compiling any version of Octave, nor do
> the Debian autobuilders (we did have to apply some minor patches). Can
> you say more about a specific error you are encountering?
>
> If I assume you are having the same error I have seen, telling
> configure where hdf5 is with CPPFLAGS and LDFLAGS seems to be enough
> for me. What have you tried?
>
> It's always best to be specific about what you have already tried and
> what errors you have already gotten.
>
> You might be interested in Octave bug #38928 [1], in which some
> example problems I ran across are shown. I don't remember if I posted
> my workaround that is working for me until I/we have time to work on a
> better solution.
>
> [1] http://savannah.gnu.org/bugs/?38928
I'll try to explain the problem in detail.
The HDF5 related packages in Debian Sid are libhdf5-8 (corresponding
to the 1.8.13 version of the library), which contains the shared
library /usr/lib/x86_64-linux-gnu/libhdf5_serial.so.8 (the previous
version libhdf5-7 -corresponding to the 1.8.12 version of the library-
contained the /usr/lib/x86_64-linux-gnu/libhdf5.so.7, so apparently
Debian has changed the file name appended the '_serial' to the new
version). In order to compile octave the libhdf5-dev package is
needed. This package contain the header files in
/usr/include/hdf5/serial and the library files in
/usr/lib/x86_64-linux-gnu/hdf5/serial/. Here I think Debian has
changed the paths for the headers and lib because the default octave
./configure does not detect the headers path nor the lib path. So the
solution consists on use the correspondent arguments as
./configure --with-hdf5-includedir=/usr/include/hdf5/serial/
--with-hdf5-libdir=/usr/lib/x86_64-linux-gnu/hdf5/serial
This detect all the needed things:
HDF5 CPPFLAGS: -I/usr/include/hdf5/serial/
HDF5 LDFLAGS: -L/usr/lib/x86_64-linux-gnu/hdf5/serial
HDF5 libraries: -lhdf5
When I try make, I obtain this error:
g++ -E -DHAVE_CONFIG_H -I. -I.. \
-I../liboctave/cruft/misc -I../liboctave/array
-I../liboctave/numeric -I../liboctave/numeric -I../liboctave/operators
-I../liboctave/operators -I../liboctave/system -I../liboctave/util
-I./octave-value -I./operators -Iparse-tree -I./parse-tree -Icorefcn
-I./corefcn -I../libgnu -I../libgnu \
-Wall -W -Wshadow -Wold-style-cast -Wformat -Wpointer-arith
-Wwrite-strings -Wcast-align -Wcast-qual -O3 -pthread \
-DMAKE_BUILTINS octave.cc > octave.df-t
In file included from ./octave-value/ov.h:42:0,
from corefcn/Cell.h:32,
from octave.cc:52:
corefcn/oct-hdf5.h:27:18: fatal error: hdf5.h: No existe el fichero o
el directorio
#include <hdf5.h>
^
compilation terminated.
Makefile:8536: recipe for target 'octave.df' failed
The hdf5.h file is not found, but hdf5.h is located in
/usr/include/hdf5/serial/, which has been selected via
--with-hdf5-includedir in ./configure and detected as was nored in
HDF5 CPPFLAGS: -I/usr/include/hdf5/serial/. But apparently the
-I/usr/include/hdf5/serial/ is not in the compiling order. So I think
there is a bug in the make process when HDF5 is not located in
standard directories
Thanks
>
> --
> mike
--
*****************************************
José Luis García Pallero
address@hidden
(o<
/ / \
V_/_
Use Debian GNU/Linux and enjoy!
*****************************************