[PD-dev] Compiling an external with stdc++ on Linux

Pierre Guillot guillotpierre6 at gmail.com
Wed Jun 20 12:39:49 CEST 2018


I found the solution! I was linking the external with stdc++ but in fact I
must link the FAUST library with stdc++. Now, there are 2 more "implicit"
dependencies libz.so and libtinfo.so (and libstdc++.so) that seem to fix
the problem and  it works!  I will publish the new version v0.0.2 (with the
Linux fix) on Deken today (there is already the version 0.0.1 that works on
Mac & Windows 64bits on Deken). I'll keep you informed when the version
will be available on the pd-announce list .
Cheers,

Pierre

Le mar. 19 juin 2018 à 16:39, Pierre Guillot <guillotpierre6 at gmail.com> a
écrit :

> 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, s**izeof(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)
>
>
> Here is the Github repository: https://github.com/pierreguillot/faust-pd
>
> Any help would be greatly appreciated!
> Thanks,
>
> Pierre
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20180620/4b3f82c3/attachment.html>


More information about the Pd-dev mailing list