|
From: John M. <kd...@ya...> - 2007-10-29 15:49:54
|
I've been using SoX successfully for quite a number of years, but version 14 brings with it problems never seen before. I'm running several different Slackware Linux machines -- some with the default gcc 3 compiler, while others have gcc 4 that I've compiled and installed myself. On all machines, compilation fails with: vorbis.c:105: error: 'ftello' undeclared (first use in this function) The suggestion found on www.nabble.com regarding the change from: (long (*)(void *)) ftello to: (long (*)(void *)) ftell cures the problem. However, once compiled, SoX cannot read or play .wav files. The program exits with a "Could not find data chunk" error. I tried commenting out the data chunk "if" check on or about line 816 in src/wav.c. This allowed SoX to read the file and display data size information, but the program quickly exits after this without reading the file any further. So, the error trap appears to be working properly, but the "len" or the "dwDataLength" variables might be incorrectly computed. Compilation produces a number of disturbing warnings, such as: filter.c:233: warning: format '%d' expects type 'int', but argument 2 has type ' long int' polyphas.c:268: warning: format '%p' expects type 'void *', but argument 2 has t ype 'float *' avr.c:211: warning: passing argument 2 of 'sox_writew' with different width due to prototype It has been my experience that GCC warnings, other than messages about unused variables, are indicators that the resulting executable may not function as expected. Perhaps the difficulty in handling .wav files is related to GCC's interpretation of SoX's code. John Visit John on the Web at: http://kd2bd.ham.org/ . . . . __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |