libsndfile compilation errors

Hi

I’m trying to build 1.3.14-beta using Vis Studio 2008 all projects except libsndfile build fine but I get 101 errors with libsndfile.

Build log was saved at “file://c:audacity-src-1.3.14-betawinProjectslibsndfileUnicode ReleaseBuildLog.htm”
libsndfile - 101 error(s), 101 warning(s)

Sample errors include…

c:audacity-src-1.3.14-betalib-srclibsndfilesrcsndfile.h(316) : warning C4005: ‘SF_COUNT_MAX’ : macro redefinition
c:audacity-src-1.3.14-betalib-srclibsndfilesrcconfig.h(216) : see previous definition of ‘SF_COUNT_MAX’
c:audacity-src-1.3.14-betalib-srclibsndfilesrcsfendian.h(44) : fatal error C1083: Cannot open include file: ‘byteswap.h’: No such file or directory
Compiling…

c:audacity-src-1.3.14-betalib-srclibsndfilesrcsndfile.h(316) : warning C4005: ‘SF_COUNT_MAX’ : macro redefinition
c:audacity-src-1.3.14-betalib-srclibsndfilesrcconfig.h(216) : see previous definition of ‘SF_COUNT_MAX’
…lib-srclibsndfilesrcima_oki_adpcm.c(95) : error C2059: syntax error : ‘{’
…lib-srclibsndfilesrcima_oki_adpcm.c(95) : warning C4013: ‘typeof’ undefined; assuming extern returning int
…lib-srclibsndfilesrcima_oki_adpcm.c(95) : error C2146: syntax error : missing ‘;’ before identifier ‘sf_max_y1’
…lib-srclibsndfilesrcima_oki_adpcm.c(95) : error C2065: ‘sf_max_y1’ : undeclared identifier
…lib-srclibsndfilesrcima_oki_adpcm.c(95) : error C2065: ‘sf_max_x1’ : undeclared identifier
…lib-srclibsndfilesrcima_oki_adpcm.c(95) : error C2065: ‘sf_max_y1’ : undeclared identifier
…lib-srclibsndfilesrcima_oki_adpcm.c(95) : error C2065: ‘sf_max_x1’ : undeclared identifier
…lib-srclibsndfilesrcima_oki_adpcm.c(95) : error C2065: ‘sf_max_y1’ : undeclared identifier
…lib-srclibsndfilesrcima_oki_adpcm.c(95) : error C2065: ‘sf_max_x1’ : undeclared identifier
…lib-srclibsndfilesrcima_oki_adpcm.c(95) : error C2065: ‘sf_max_y1’ : undeclared identifier
…lib-srclibsndfilesrcima_oki_adpcm.c(95) : error C2059: syntax error : ‘)’
…lib-srclibsndfilesrcima_oki_adpcm.c(95) : error C2059: syntax error : ‘)’
…lib-srclibsndfilesrcima_oki_adpcm.c(95) : error C2059: syntax error : ‘{’
…lib-srclibsndfilesrcima_oki_adpcm.c(95) : error C2059: syntax error : ‘)’
…lib-srclibsndfilesrcima_oki_adpcm.c(95) : error C2059: syntax error : ‘)’

loads of others too…

I have not modified any source and am using the full source tar ball

Cheers

Mark
BuildLog - Copy.txt (75.8 KB)

Hi Mark!

“source tar ball”? Use SVN to grab HEAD; for excruciatingly complete details on compiling wxWidgets (a prerequisite) and Audacity see:
http://www.hometownband.org/Audacity/CompilingAudacity.html

BTW, 1.3.14 is a bit behind the curve, the current SVN HEAD is frozen as 2.0rc3 (26Feb12) and is highly likely to be the 1Mar12 2.0 release.

If you still have problems building, try to build everything, then try to build just libsndfile; this will put just the libsndfile build errors in the output window. Right-click in the output window and select Copy (or drag select the entire contents and right-click copy). Paste the result into notepad (or your favorite plain-text editor), save the file as a TXT file and attach it to a reply here (look below the 3 buttons (Save Draft, Preview & Submit) for the tab “Upload Attachment”).

[edit 28Feb12–moved the link so changed the URL]

Hi

I have attached the build log for libsndfile in the attached file. Since my original posting I downloaded the libsndfile project from it’s website and replaced what was included in the Audacity source tar file that I downloaded. It now compiles and seems to work. My reasons for building Audacity myself was that I wanted ASIO support. I am now getting very low latency when recording from my bass via a behringer mixer and audio interface. Can I do the same for 2.0rc3?

Cheers

Mark

I’m going to go out on a limb here and possibly display my ignorance!

“source tar” balls are for Linux, AFAIK, there is no “official” Audacity source code tar ball for MS VC++. If you found a tar ball it was probably designed for Linux not Windows’ VC++ and maybe hacked up to include a MS VC++ solution.

To get the authentic, authorized Audacity MS VC++ solution you will need to do an SVN Checkout of HEAD (or any appropriate revision). As of today (and for a few days more) this is 2.0rc3 (on or shortly after 1Mar12 it will be the golden 2.0, not a Release Candidate). As for compiling 2.0rc3 with ASIO, it should work just as it does now–change the #define and recompile.

A while back (maybe during 1.3.14 ?) there might have been some errors with external library compiling for a few days, if the tar ball you obtained came from a day when it was broken you would experience such problems. That is why it is critical to SVN Checkout a known good source tree. You should never use code from any of the external libraries websites with Audacity (unless on an experimental basis) as Audacity does not always remain compatible with newer external library versions. The Programmers do try to keep up with these changes but it is often very time consuming and difficult so sometimes Audacity remains behind the curve!

Hi Edgar

I followed the instructions here…

http://wiki.audacityteam.org/index.php?title=ASIO_Audio_Interface

To get the source I followed the link contained in (towards bottom of page)…

  1. Download the Audacity Beta source code from either the release tarball or latest SVN development code.

that took me here…

http://audacityteam.org/download/beta_source#recdown

I did this on Saturday (25 Feb).

There was something obvious broken in the libsndfile package in the download I obtained. I tried the substituting the external library as a long shot as I failed to find any reference to the compilation errors that I experienced elsewhere on the web. I was luck as it worked. I have no intention of distributing the executable that I have built because of the licencing issues with the ASIO SDK. It is purely for my own use. Are the links I used wrong?

I have learnt a lot from building Audacity and would like to build later releases of the source as they become available.

Regards

Mark

PS…

Where can I get the “SVN Checkout of HEAD”? Please excuse my ignorance.

Regards

Mark

See here: Missing features - Audacity Support

I’m not sure how up to date the instructions are, but the SVN checkout part works.

The directions are very comprehensive on the page to which I previously referred you:
http://www.hometownband.org/Audacity/CompilingAudacity.html#TortoiseSVN

[edit 28Feb12–moved the link and added a reference to the specific SVN section so changed the URL]

Hi mjl-cdf,
I’m a beginner compiling programs like audacity…I’m trying to compile audacity but I fail !!! Finding support, I have seen your post and I’ve realised that you had the same compiling errors like me.
I have download the source code of audacity :audacity-fullsrc-1.3.14-beta and widgets:wxMSW-2.8.12-Setup.exe.
As it wasn’t compiling following the instructions, I followed your instructions and I downloaded the project of libsndfile-1.0.25 from it’s web. then I copied the files in the folder “src” of this project, into the audacity project folder: E:audacitywinProjectslibsndfile.
I have compiled the solution (Unicode release version), but I continue with the same errors. It doesn’t find byteswap.h, in fact in the project of libsnd I have download it doesn’t appear that dll. Did you do something different?

thanks in advance,
june.