Menu

#89 Failure to Build CDK on Linux (Boca)

Next snapshot
closed
None
1
2015-11-20
2014-12-23
Anonymous
No

After trying to build the freac cdk, both from the tarball on the website and from CVS HEAD (the boca module) it failed to build in part due to case sensitivity between directory names on my opensuse box and where gcc was searching. The Other problem A change was made from lower case to upper case in revision 1.7 from 1.6 in two files. A third had the same modification between revisions 1.3 and 1.4.

cvs diff -u -r 1.6 -r 1.7 components/encoder/flac/dllinterface.h components/decoder/flac/dllinterface.h
Index: components/encoder/flac/dllinterface.h
===================================================================
RCS file: /cvsroot/bonkenc/boca/components/encoder/flac/dllinterface.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- components/encoder/flac/dllinterface.h      5 Oct 2014 11:27:45 -0000       1.6
+++ components/encoder/flac/dllinterface.h      5 Oct 2014 21:29:27 -0000       1.7
@@ -11,7 +11,7 @@
 #include <smooth.h>

 #include <ogg/ogg.h>
-#include <flac/stream_encoder.h>
+#include <FLAC/stream_encoder.h>

 using namespace smooth;
 using namespace smooth::System;
Index: components/decoder/flac/dllinterface.h
===================================================================
RCS file: /cvsroot/bonkenc/boca/components/decoder/flac/dllinterface.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- components/decoder/flac/dllinterface.h      5 Oct 2014 14:07:08 -0000       1.6
+++ components/decoder/flac/dllinterface.h      5 Oct 2014 21:29:27 -0000       1.7
@@ -11,10 +11,10 @@
 #include <smooth.h>

 #include <ogg/ogg.h>
-#include <flac/stream_encoder.h>
+#include <FLAC/stream_encoder.h>

 #undef callbacks
-#include <flac/metadata.h>
+#include <FLAC/metadata.h>

 using namespace smooth;
 using namespace smooth::System;

The third file's diff is below

~~~~~~~~~~~~~~~~
cvs diff -u -r 1.3 -r 1.4 components/tagger/flac/dllinterface.h
Index: components/tagger/flac/dllinterface.h
===================================================================
RCS file: /cvsroot/bonkenc/boca/components/tagger/flac/dllinterface.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- components/tagger/flac/dllinterface.h 5 Oct 2014 14:07:08 -0000 1.3
+++ components/tagger/flac/dllinterface.h 5 Oct 2014 21:29:27 -0000 1.4
@@ -11,7 +11,7 @@
#include <smooth.h>

#undef callbacks
-#include <flac metadata.h="">
+#include <FLAC metadata.h="">

using namespace smooth;
using namespace smooth::System;
~~~~~~~~~~~~~~~

The other issue was related to search paths for the same header files. On my rig i had to swap the greater than and less than signs for double quotation marks for gcc to find the header files correctly. Finally here's the output from stderr before my patch, the other files have similar errors.

~~~~~~~~~~~~~~~~~~~~~~~
In file included from dllinterface.cpp:12:0:
dllinterface.h:14:33: fatal error: FLAC/stream_encoder.h: No such file or directory
#include <FLAC stream_encoder.h="">
^
compilation terminated.
In file included from flac.h:12:0,
from flac.cpp:16:
dllinterface.h:14:33: fatal error: FLAC/stream_encoder.h: No such file or directory
#include <FLAC stream_encoder.h="">
^
compilation terminated.
make[3]: [dllinterface.o] Error 1
make[3]:
Waiting for unfinished jobs....
make[3]: [flac.o] Error 1
make[2]:
[all] Error 2
make[1]: [all] Error 2
make:
[all] Error 2
~~~~~~~~~~~~~~~~~~~~~~

I've included diffs from the boca directory for use with patch. i.e. from cvsroot/bonkenc/boca/ run patch xxxx.diff, sorry if that isn't the standard directory for you.

3 Attachments

Discussion

  • Robert Kausch

    Robert Kausch - 2014-12-31

    Thank you for your interest in fre:ac!

    The BoCA components are meant to be compiled with FLAC headers available on your system. They are usually located in /usr/include/FLAC (upper case) when the libflac-dev package is installed. That's why I changed the include directives to upper case a few months ago.

    The FLAC headers included in the CDK package are provided for convenience when building on Windows systems. Directories are case insensitive there and the Makefiles add the -I. flag to allow finding the headers even with the <> brackets.

    You should be able to build the CDK without you patches after installing the libflac-dev package.

     
  • Robert Kausch

    Robert Kausch - 2014-12-31
    • status: open --> pending
     
  • Robert Kausch

    Robert Kausch - 2015-03-04
    • status: pending --> closed
     

Anonymous
Anonymous

Add attachments
Cancel