Debian's libhdf5-8 and Octave 3.8.2

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Debian's libhdf5-8 and Octave 3.8.2

José Luis García Pallero
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?

Thanks

--
*****************************************
José Luis García Pallero
[hidden email]
(o<
/ / \
V_/_
Use Debian GNU/Linux and enjoy!
*****************************************

Reply | Threaded
Open this post in threaded view
|

Re: Debian's libhdf5-8 and Octave 3.8.2

Mike Miller
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

--
mike

Reply | Threaded
Open this post in threaded view
|

Re: Debian's libhdf5-8 and Octave 3.8.2

José Luis García Pallero
2014-09-04 16:55 GMT+02:00 Mike Miller <[hidden email]>:

> 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
[hidden email]
(o<
/ / \
V_/_
Use Debian GNU/Linux and enjoy!
*****************************************

Reply | Threaded
Open this post in threaded view
|

Re: Debian's libhdf5-8 and Octave 3.8.2

Mike Miller
On Thu, Sep 4, 2014 at 19:02:47 +0200, José Luis García Pallero wrote:
> I'll try to explain the problem in detail.
[...]
> 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

Yes, you have effectively summarized bug #38928.

If you configure with CPPFLAGS=-I/usr/include/hdf5/serial and
LDFLAGS=-L/usr/lib/x86_64-linux-gnu/hdf5/serial rather than using the
--with-hdf5* options, you should have more success (I do). Please try
that and let me know if that does not work for you.

HTH,

--
mike

Reply | Threaded
Open this post in threaded view
|

Re: Debian's libhdf5-8 and Octave 3.8.2

José Luis García Pallero
2014-09-04 19:07 GMT+02:00 Mike Miller <[hidden email]>:

> On Thu, Sep 4, 2014 at 19:02:47 +0200, José Luis García Pallero wrote:
>> I'll try to explain the problem in detail.
> [...]
>> 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
>
> Yes, you have effectively summarized bug #38928.
>
> If you configure with CPPFLAGS=-I/usr/include/hdf5/serial and
> LDFLAGS=-L/usr/lib/x86_64-linux-gnu/hdf5/serial rather than using the
> --with-hdf5* options, you should have more success (I do). Please try
> that and let me know if that does not work for you.

It works fine. Thanks!

>
> HTH,
>
> --
> mike



--
*****************************************
José Luis García Pallero
[hidden email]
(o<
/ / \
V_/_
Use Debian GNU/Linux and enjoy!
*****************************************