crucialfelix/supercolliderjs

ERROR: Superclass 'Object' of class 'SuperColliderJS' is not defined in any file.

cannc4 opened this issue · 5 comments

Hi @crucialfelix, very much appreciate all the effort to put this package together.

I've just given the SC another spin with Supercolliderjs within the electron context. I am hitting the error below with the following config:

 const options = {
    debug: true,
    echo: true,
    sclang: vendor('SuperCollider/MacOS/sclang'),
    sclang_conf: null
  }

Any thoughts?

debug  :    Found 850 primitives.
[1]             Compiling directory '/Users/canince/Documents/Git/skr-ch-test-2/vendor/mac/SuperCollider/MacOS/SCClassLibrary'
[1]             Compiling directory '/Users/canince/Library/Application Support/SuperCollider/Extensions'
[1]             Compiling directory '/Users/canince/Documents/Git/skr-ch-test-2/node_modules/@supercollider/lang/lib/supercollider-js'
[1]         ERROR: Superclass 'Object' of class 'SuperColliderJS' is not defined in any file.
[1]         /Users/canince/Documents/Git/skr-ch-test-2/node_modules/@supercollider/lang/lib/supercollider-js/SuperColliderJS.sc
[1]         ERROR: Class extension for nonexistent class 'Exception'
[1]              In file:'../../../../../node_modules/@supercollider/lang/lib/supercollider-js/SystemOverwrites/plusError.sc'
[1]         ERROR: Class extension for nonexistent class 'MethodError'
[1]              In file:'../../../../../node_modules/@supercollider/lang/lib/supercollider-js/SystemOverwrites/plusError.sc'
[1]         ERROR: Class extension for nonexistent class 'PrimitiveFailedError'
[1]              In file:'../../../../../node_modules/@supercollider/lang/lib/supercollider-js/SystemOverwrites/plusError.sc'
[1]         ERROR: Class extension for nonexistent class 'SubclassResponsibilityError'
[1]              In file:'../../../../../node_modules/@supercollider/lang/lib/supercollider-js/SystemOverwrites/plusError.sc'
[1]         ERROR: Class extension for nonexistent class 'ShouldNotImplementError'
[1]              In file:'../../../../../node_modules/@supercollider/lang/lib/supercollider-js/SystemOverwrites/plusError.sc'
[1]         ERROR: Class extension for nonexistent class 'DoesNotUnderstandError'
[1]              In file:'../../../../../node_modules/@supercollider/lang/lib/supercollider-js/SystemOverwrites/plusError.sc'
[1]         ERROR: Class extension for nonexistent class 'OutOfContextReturnError'
[1]              In file:'../../../../../node_modules/@supercollider/lang/lib/supercollider-js/SystemOverwrites/plusError.sc'
[1]         ERROR: Class extension for nonexistent class 'ImmutableError'
[1]              In file:'../../../../../node_modules/@supercollider/lang/lib/supercollider-js/SystemOverwrites/plusError.sc'
[1]         ERROR: Class extension for nonexistent class 'DeprecatedError'
[1]              In file:'../../../../../node_modules/@supercollider/lang/lib/supercollider-js/SystemOverwrites/plusError.sc'
[1]         ERROR: Class extension for nonexistent class 'Quarks'
[1]              In file:'../../../../../node_modules/@supercollider/lang/lib/supercollider-js/SystemOverwrites/plusQuarks.sc'
[1]         ERROR: Class extension for nonexistent class 'SynthDesc'
[1]              In file:'../../../../../node_modules/@supercollider/lang/lib/supercollider-js/SystemOverwrites/plusSynthDesc.sc'
[1]         ERROR: Class extension for nonexistent class 'ControlName'
[1]              In file:'../../../../../node_modules/@supercollider/lang/lib/supercollider-js/SystemOverwrites/plusSynthDesc.sc'
[1]         ERROR: Class extension for nonexistent class 'IODesc'
[1]              In file:'../../../../../node_modules/@supercollider/lang/lib/supercollider-js/SystemOverwrites/plusSynthDesc.sc'
[1]         ERROR: Class extension for nonexistent class 'Spec'
[1]              In file:'../../../../../node_modules/@supercollider/lang/lib/supercollider-js/SystemOverwrites/plusSynthDesc.sc'
[1]         ERROR: Class extension for nonexistent class 'ControlSpec'
[1]              In file:'../../../../../node_modules/@supercollider/lang/lib/supercollider-js/SystemOverwrites/plusSynthDesc.sc'
[1]         ERROR: There is a discrepancy.
[1]         numClassDeps 1   gNumClasses 82

Note that this error only occurs when I try to boot the SCLang via the added binary. If I don't specify the sclang in the options it boots up just fine.

Hi

This means that sclang is trying to compile the SuperColliderJs class, but it hasn't found the files for main library.

So even Object (the class from which all other classes inherit) does not exist.

Look in here:
/Users/canince/Documents/Git/skr-ch-test-2/vendor/mac/SuperCollider/MacOS/SCClassLibrary

is that empty?

What instructions did you follow to install a copy of SuperCollider?

It does say "850 primitives" so it found something. Maybe that is "Compiling directory '/Users/canince/Library/Application Support/SuperCollider/Extensions'"

Those extensions would also have to go inside of the Electron build. There are security rules for electron.

Thanks for the reply @crucialfelix.
I got it to work by adding SCClassLibrary to the MacOS as you mentioned. thanks!

Now I am trying to set up a pipeline with electron and need to notarise the SC binary. Hitting the following error when I do that:

  {
      "severity": "error",
      "code": null,
      "path": "SND.zip/SND.app/Contents/Resources/app.asar.unpacked/vendor/mac/SuperCollider/Resources/plugins/UIUGens.scx",
      "message": "The binary is not signed.",
      "docUrl": null,
      "architecture": "x86_64"
    },
    {
      "severity": "error",
      "code": null,
      "path": "SND.zip/SND.app/Contents/Resources/app.asar.unpacked/vendor/mac/SuperCollider/Resources/plugins/UIUGens.scx",
      "message": "The signature does not include a secure timestamp.",
      "docUrl": null,
      "architecture": "x86_64"
    }

I know that it's not related with SCJS package but still curious to know if there are any workarounds for that

Closing this as this is related with SC itself so will dig in that way.
Thank you very much for your help!

I never ran into signing problems, but it's been about 4 years.

Drop a note when you release something. I'd love to see what you build