« Return to Thread: Building Sclang Executable on OS X (leopard or other) AND New Interpreter/Editor

Re: Building Sclang Executable on OS X (leopard or other) AND New Interpreter/Editor

by scacinto :: Rate this Message:

Reply to Author | View in Thread

I just tried to build sclang following the directions on the wiki.  The directions seem to be seriously outdated and flawed in several respects, including calling for the editing of several files which no longer seem to exist.  I'll post the output of my attempt to run the executable at the end of this post.  

So I've tried two different methods described on the wiki, using scons and using XCode, both of which failed.  This seems like a bit of a problem, especially if someone new (without the commitment of a long-time user) would like to get sclang running on OS X.  

Could someone post clear instructions on how to compile SC with sclang using scons or XCode if they have managed to do so?  Also, please post the version of XCode you are using (My failed attempt used 2.4.1) the OS (ex. 10.4.11) and whether you are using a PPC or Intel mac.

It seems that getting a reliable and simple method of compiling with the sclang executable available for peruzal on the wiki, in the how-to page of the sourceforge page or even, perhaps preferably, in the OS X README, is a must as more and more people I talk to seem a little dissatisfied with the current Interpreter.  

Thoughts?

Thanks,

-S



Waz:/Applications/Audio_Applications/SuperCollider3/build scott$ ./sclang
init_OSC
compiling class library..
        NumPrimitives = 551
        compiling dir: '/Applications/Audio_Applications/SuperCollider3/build/SCClassLibrary'
        compiling dir: '/Library/Application Support/SuperCollider/Extensions'
        compiling dir: '/Users/scott/Library/Application Support/SuperCollider/Extensions'
        pass 1 done
        Extension overwriting SimpleNumber:asTimeString
                in file '/Library/Application Support/SuperCollider/Extensions/ljpclasses/classes/LJP Classes/Extensions/SimpleNumber-asTimeString.sc'.
                Original method in file '/Common/Math/SimpleNumber.sc'.
WARNING: FunctionDef contains variable declarations and so will not be inlined.
   in file '/Users/scott/Library/Application Support/SuperCollider/Extensions/quarks/NonRT/batchNRT/batchNRT.sc'
   line 93 char 14:
                                        var psfr;? // Please ignore SC's warning about not inlining this function.
                                        psfr = SoundFile.new;
-----------------------------------
numentries = 1124454 / 18350124 = 0.061
        Method Table Size 9205632 bytes
        Number of Method Selectors 5738
        Number of Classes 3198
        big table size 73400496
        Number of Symbols 14287
        Byte Code Size 500140
        compiled 565 files in 4.92 seconds
compile done
// History.logFolder: /Users/scott/Library/Application Support/SuperCollider/HistoryLogs
Class tree inited in 0.18 seconds
ERROR: A primitive was not bound. 0 550
Instance of Method {    (0175CDF0, gc=01, fmt=00, flg=11, set=04)
  instance variables [15]
    raw1 : Float 3.885846e-318   00000000 000C0048
    raw2 : Float 5.56268497783366e-309   00040000 04000304
    code : instance of Int8Array (0175CF30, size=4, set=1)
    selectors : nil
    constants : nil
    prototypeFrame : instance of Array (0175CEE0, size=4, set=2)
    context : nil
    argNames : instance of SymbolArray (0175CEA0, size=4, set=1)
    varNames : nil
    sourceCode : nil
    ownerClass : class SCView (01713D70)
    name : Symbol 'prInit'
    primitiveName : Symbol '_SCView_New'
    filenameSymbol : Symbol '/Applications/Audio_Applications/SuperCollider3/build/SCClassLibrary/Common/GUI/Base/SCView.sc'
    charPos : Integer 6387
}
ERROR: Primitive 'none' failed.
Failed.
RECEIVER:
   nil
CALL STACK:
        MethodError:reportError   0166AE30
                arg this = <instance of PrimitiveFailedError>
        Nil:handleError   0166AEF0
                arg this = nil
                arg error = <instance of PrimitiveFailedError>
        Thread:handleError   0166AE90
                arg this = <instance of Thread>
                arg error = <instance of PrimitiveFailedError>
        Object:throw   0166ADD0
                arg this = <instance of PrimitiveFailedError>
        Object:primitiveFailed   0166AD70
                arg this = nil
        SCView:init   0166AD10
                arg this = <instance of SCTopView>
                arg argParent = nil
                arg argBounds = <instance of Rect>
        SCContainerView:init   0166ACB0
                arg this = <instance of SCTopView>
                arg argParent = nil
                arg argBounds = <instance of Rect>
        SCWindow:initSCWindow   016AA430
                arg this = <instance of SCWindow>
                arg argName = "internal server"
                arg argBounds = <instance of Rect>
                arg resizable = false
                arg border = true
                arg scroll = false
        Server:makeGui   01621CB0
                arg this = <instance of Server>
                arg w = nil
                var active = nil
                var booter = nil
                var killer = nil
                var makeDefault = nil
                var running = nil
                var booting = nil
                var stopped = nil
                var bundling = nil
                var recorder = nil
                var scoper = nil
                var countsViews = nil
                var ctlr = nil
                var dumping = false
                var label = "internal server"
                var gui = class CocoaGUI
                var font = <instance of Font>
                var volumeNum = nil
        Server:makeWindow   0166AA70
                arg this = <instance of Server>
                arg w = nil
        OSXPlatform:startup   01716400
                arg this = <instance of OSXPlatform>
        Main:startup   017163A0
                arg this = <instance of Main>
ERROR: A primitive was not bound. 0 550
Instance of Method {    (02095980, gc=01, fmt=00, flg=11, set=04)
  instance variables [15]
    raw1 : Float 3.885727e-318   00000000 000C0030
    raw2 : Float 1.390671244457466e-309   00010000 01000001
    code : instance of Int8Array (02095A30, size=1, set=1)
    selectors : nil
    constants : nil
    prototypeFrame : instance of Array (013A6FC0, size=1, set=1)
    context : nil
    argNames : instance of SymbolArray (013A7000, size=1, set=1)
    varNames : nil
    sourceCode : nil
    ownerClass : class Meta_CocoaDocument (02091B70)
    name : Symbol 'prGetIndexOfListener'
    primitiveName : Symbol '_TextWindow_GetIndexOfListener'
    filenameSymbol : Symbol '/Applications/Audio_Applications/SuperCollider3/build/SCClassLibrary/Platform/osx/CocoaDocument.sc'
    charPos : Integer 3010
}
ERROR: Primitive '_BasicAt' failed.
Index not an Integer
RECEIVER:
Instance of Array {    (016AAC90, gc=20, fmt=01, flg=00, set=00)
  indexed slots [0]
}
CALL STACK:
        MethodError:reportError   013CAC50
                arg this = <instance of PrimitiveFailedError>
        Nil:handleError   013CABF0
                arg this = nil
                arg error = <instance of PrimitiveFailedError>
        Thread:handleError   013CAB90
                arg this = <instance of Thread>
                arg error = <instance of PrimitiveFailedError>
        Thread:handleError   013CAB30
                arg this = <instance of Routine>
                arg error = <instance of PrimitiveFailedError>
        Object:throw   013CAAD0
                arg this = <instance of PrimitiveFailedError>
        Object:primitiveFailed   013CAA70
                arg this = [*0]
        < FunctionDef in Method Meta_CocoaDocument:startup >  (no arguments or variables)
        Routine:prStart   0166AAD0
                arg this = <instance of Routine>
                arg inval = 4.991427843





scacinto wrote:
Hi all,

I've recently become dissatisfied with the supercollider interpreter (for a number of reasons including no line numbers, no auto syntax highlighting, open windows all over causing headaches, etc.) and would like to be able to work with the sclang executable instead via another text editor.  I've attempted to build the executable from the source using scons but get a host of errors.  Has anyone had success building the executable from source on a MacIntel with Leopard?  The error (if you care) is as follows.

...Source/lang/LangPrimSource/PyrSched.cpp: In function 'void syncOSCOffsetWithTimeOfDay()':
Source/lang/LangPrimSource/PyrSched.cpp:290: error: 'gettimeofday' was not declared in this scope
scons: *** [Source/lang/LangPrimSource/PyrSched.os] Error 1
scons: building terminated because of errors.

If I edit out this section and try again, other files pop up with errors.  

I know there are instructions on the wiki for ways to build from source using XCode, and other means, but the instructions are rather cryptic, and some didn't work for me at all.  Is there an easy (practical) way to do this that doesn't require hours of reading/editing?

Another question.  Has anyone tried the text-editor Smultron?  It has a number of nice features, from auto syntax highlighting to auto line numbering, in-window (quicklook) document opening so all docs are contained within a single window, one need only click one to access it.  It has multiple view support and some other niceties.  It can execute scripts, inline posts, etc.  It seems like one could easily script this program to work like SCVim and get some of the features missing in the interpreter.

I would love to hear what people are thinking about the current UI Interpreter and their workarounds for working with the sclang executable with other programs.

Thanks,

- Scott
______________________________

Scott Petersen
Assistant Director, YalMusT
Music Technology Specialist
Department of Music
Yale University, New Haven, CT 06511
United States

 « Return to Thread: Building Sclang Executable on OS X (leopard or other) AND New Interpreter/Editor