Package: libmatio0 Version: 1.3.3-5 Severity: normal octave can't read compressed files written by libmatio. I'm not sure if this is a problem in libmatio or in octave, so feel free to reassign as necessary.
The following program uses libmatio to write a simple data structure to a compressed mat file: #include <stdio.h> #include <string.h> #include <errno.h> #include <matio.h> #define NRSIGNALS 2 #define NRSAMPLES 100 int write_matfile( const char *fname ) { mat_t *mat = NULL; matvar_t **matchannels = NULL; mat = Mat_Open( fname, 0 ); if ( mat==NULL ) { fprintf( stderr, "Can't open file `%s' for output\n", fname ); return 0; } /* allocate memory for the channels */ matchannels = malloc( NRSIGNALS * sizeof(*matchannels) ); /* create a structure for each channel */ for ( int i = 0; i < NRSIGNALS; i++ ) { int dims[2] = {1,1}; matvar_t ** matdata = malloc( 2 * sizeof(*matdata) ); matdata[0] = Mat_VarCreate( "channel", MAT_C_INT16, MAT_T_INT16, 2, dims, &i, 0 ); matdata[1] = NULL; matchannels[i] = Mat_VarCreate( "", MAT_C_STRUCT, MAT_T_STRUCT, 2, dims, matdata, 0 ); } /* the structures for the channels are combined into a single cell array */ int dims[2] = {1,NRSIGNALS}; matvar_t * matvar_cell = Mat_VarCreate("data",MAT_C_CELL,MAT_T_CELL,2,dims,matchannels,0); /* write the file to disk */ Mat_VarWrite( mat, matvar_cell, COMPRESSION_ZLIB ); //Mat_VarWrite( mat, matvar_cell, 0 ); Mat_Close( mat ); return 1; } int main() { write_matfile( "/tmp/foo.mat" ); return(0); } Observe: [...@basbak2]/tmp> gcc edf2mat.c -std=c99 -lmatio && ./a.out [...@basbak2]/tmp> ls -la foo.mat -rw-r--r-- 1 bas bas 215 nov 17 13:47 foo.mat [...@basbak2]/tmp> file foo.mat foo.mat: Matlab v5 mat-file (little endian) version 0x0100 [...@basbak2]/tmp> octave3.2 -q octave3.2:1> load('foo.mat') error: load: error uncompressing data element The file loads fine in matlab. If the file is written without compression, it also loads fine in octave. -- System Information: Debian Release: 5.0.3 APT prefers stable APT policy: (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.26-2-amd64 (SMP w/1 CPU core) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org