[chuck-dev] Porting ChucK to OpenBSD

Stephen Sinclair radarsat1 at gmail.com
Mon Sep 29 09:50:26 EDT 2008


On Mon, Sep 29, 2008 at 9:21 AM, Will Maier <willmaier at ml1.net> wrote:
> 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


More information about the chuck-dev mailing list