[chuck-users] adsr

Jukka Akkanen jakkanen at mac.com
Mon Sep 11 19:20:38 EDT 2006


On Sep 11, 2006, at 5:06 PM, Ge Wang wrote:

> Hi Eduard!
>
>> When building chuck from cvs in macintel got the following:
>>
>> gcc -D__MACOSX_CORE__ -O3 -c chuck_instr.cpp
>> /usr/include/sys/types.h:86: error: declaration does not declare
>> anything
>
> This is quite strange.  We don't have a macintel around, so we'll try
> to debug remotely.  I checked in a slight change to the offending  
> file,
> please update and try compiling again?
>
> Also:
> 1. what gcc version on macintel?
> 2. does the release 1.2.0.6 compile or do you get the same error?
>
> Anyone else encounter the same problem?

I am seeing this, too. First, a disclaimer. I've barely gotten into  
using ChucK and hadn't looked at source until I heard about this  
problem. Somehow it wasn't very easy for me to find information about  
how to check out the source from CVS, but I found it in the chuck-dev  
mailing list archive, eventually. Maybe it's time I subscribe there,  
too.

The problem is that chuck_instr.h has this:

     #define uint unsigned long

and sys/types.h has:

     #ifndef _POSIX_C_SOURCE
     ...
     typedef unsigned int            uint;           /* Sys V  
compatibility */
     #endif

which results in a:

     typedef unsigned int unsigned long;

Fixing this is not the only hurdle, later on you'll see things like:

     /var/tmp//ccAPkhiP.s:20471:no such 386 instruction: `fctiw'
     /var/tmp//ccAPkhiP.s:20472:no such 386 instruction: `stfd'

which is caused by inline assembly for the wrong architecure getting  
picked up from util_sndfile.h (looks like OS X does have lrint() and  
lrintf() so there should be no need for asm at all).

An Intel Mac shouldn't be necessary to debug these kinds of issues.  
All you need is recent developer tools with universal libraries and  
you'll be able to specify "-arch i386" in compiler and linker flags  
to produce Intel binaries on a PPC machine.

-Jukka


More information about the chuck-users mailing list