Hi,
I'm currently working on an external with the FAUST just-in-time (JIT) compiler embedded that allows to load, compile and play FAUST. I managed to compile a 64 bits version for Mac, Windows (yeah!) and Linux but on Linux I got a problem:
The external has unresolved symbols: __cxa_pure_virtual.
Here is the result of ldd:
ldd ../external/faust~.pd_linux
linux-vdso.so.1 => (0x00007ffcbf6d9000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fdeb864a000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fdeb8341000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fdeb8124000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fdeb7f0e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdeb7b44000)
/lib64/ld-linux-x86-64.so.2 (0x00007fdebae31000)
And when I link the external with stdc++ to solve this problem, Pd crashes directly when I call class_new() - it's my 1st attempt with gdb so I didn't go very far. I only found that Pd crashes when the "setup" function is called. If I only use a "dummy" class_new() method -
t_class* c = class_new(gensym("faust~"), (t_newmethod)NULL, (t_method)NULL, sizeof(t_faust_tilde), CLASS_DEFAULT, A_GIMME, 0);
- it also crashes.
Here is the result of ldd:
ldd ../external/faust~.pd_linux
linux-vdso.so.1 => (0x00007ffe5d9e1000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f50e5c5f000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f50e5a42000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f50e56c0000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f50e53b7000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f50e51a1000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f50e4dd7000)
/lib64/ld-linux-x86-64.so.2 (0x00007f50e8446000)
Any help would be greatly appreciated!
Thanks,