Hi there, I am attempting to build and run the ngspice circuit simulator under emscripten. I posted previously under a more specific thread topic "linker problem" but after resolving that I am hitting other issues I was hoping you could help with, so I decided to start a new thread.
I'm using clang (and llvm) 3.2 with emscripten 1.7.8 on OSX 10.9.1.
My current problem is that "sigsetjmp" and a few other symbols are unresolved, even though they appear to exist in the configure step.
...
checking whether isnan is declared... yes
checking for sigsetjmp... yes
checking libiberty.h usability... no
...
So it appears that sigsetjmp is discovered by the configure process. After 'emmake make' succeeds, I copy the binary file 'ngspice' to 'ngspice.o' (not sure if that's the right thing to do), and run the emcc compiler on ngspice.o. This reports:
Sams-MacBook-Air:src samreid$ emcc ngspice.o -o ngspice.js
warning: unresolved symbol: sigsetjmp
warning: unresolved symbol: llvm_dbg_value
warning: unresolved symbol: siglongjmp
warning: unresolved symbol: logb
warning: Casting a function pointer type to a potentially incompatible one (use -s VERBOSE=1 to see more)
warning: Casting a function pointer type to a potentially incompatible one (use -s VERBOSE=1 to see more)
sourcemapper: Unable to find original file for ../../../../src/spicelib/devices/dev.c at /Users/samreid/src/spicelib/devices/dev.c
Note it said a few symbols are unresolved, though it does create a 30+MB js file. After manually fixing TOTAL_MEMORY (by doubling it in the js file), when I run under node, it fails with that error:
Sams-MacBook-Air:src samreid$ node ngspice.js
exception thrown: ReferenceError: _sigsetjmp is not defined,ReferenceError: _sigsetjmp is not defined
at _baseaddr (/Users/samreid/Downloads/ngspice-25/release/src/ngspice.js:43834:2)
at _init_rlimits (/Users/samreid/Downloads/ngspice-25/release/src/ngspice.js:43798:9)
at Object._main (/Users/samreid/Downloads/ngspice-25/release/src/ngspice.js:7086:2)
at Object.callMain (/Users/samreid/Downloads/ngspice-25/release/src/ngspice.js:941255:30)
at doRun (/Users/samreid/Downloads/ngspice-25/release/src/ngspice.js:941295:25)
at run (/Users/samreid/Downloads/ngspice-25/release/src/ngspice.js:941308:5)
at Object.<anonymous> (/Users/samreid/Downloads/ngspice-25/release/src/ngspice.js:941351:1)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
/Users/samreid/Downloads/ngspice-25/release/src/ngspice.js:941272
throw e;
^
Any ideas? I’m a bit stuck!
Thanks!
Sam