
On Mon, Sep 29, 2008 at 9:21 AM, Will Maier
Hello-
I'm an OpenBSD ports[0] developer and I'd like to add ChucK to our ports tree. I've made a little progress this morning, but I've run into a few compilation errors that I hoped you could help debug (assuming this is the appropriate list for such inquiries).
First, I'm using GCC 3.3.5 on OpenBSD -current/i386 to build ChucK version 1.2.1.2. For us, it seems to make the most sense to build ChucK using OSS (since Jack seems to require ALSA -- which we do not provide, though we have Jack in our tree -- in the end). When building, then, with src/makefile.oss, I get:
[...] g++ -D__LINUX_OSS__ -c -I/usr/local/include -D__CK_SNDFILE_NATIVE__ chuck_compile.cpp In file included from chuck_compile.cpp:41: ugen_stk.h:174: error: syntax error before `__extension__' ugen_stk.h:174: error: syntax error before `?' token ugen_stk.h:174: error: syntax error before `)' token ugen_stk.h:174: error: syntax error before `:' token ugen_stk.h:174: error: ISO C++ forbids declaration of `__swap16md_x' with no type ugen_stk.h:174: error: syntax error before `}' token In file included from chuck_compile.cpp:41: ugen_stk.h:71:1: unterminated #if ugen_stk.h:36:1: unterminated #ifndef gmake: *** [chuck_compile.o] Error 1
C++ isn't my strong suit, but the referenced lines in src/ugen_stk.h seem entirely innocuous to me. Can you suggest any further steps to debug this issue?
The error is on the declaration of the Stk::swap16 function. Is it possible this word swap16 is a macro somewhere in the BSD headers? It seems to be perhaps replacing the word swap16 with __swap16md_x, but I have no idea why. What do you see with "grep -r swap16 /usr/include" ? The unterminated #if errors don't make much sense to me. Steve