Closed Ant1r closed 3 years ago
@nettoyeurny Any clues on that? I just don't know where to search...
I tried to replace AblLinkWrapper's members (link, timeline and time_filter) with pointer versions, and to dynamically create them in constructor, and the error clearly happens at "link" creation, e.g, changing:
link = new ableton::Link(bpm);
to
link = NULL;
clears the error.
Any updates on this issue? Same thing appears to be happening on my Raspbian system.
Sorry, @Ant1r, this issue totally slipped through the cracks, until I went back to abl_link~ to update it for Link 3.0.
What you're posting here suggests that the Link constructor attempts to call a pure virtual method. As far as I can tell, the only pure virtual methods (outside of tests) are in the asio-standalone submodule. This suggests that asio isn't being built correctly on Raspberry Pi. The fact that LinkHut works shows that asio can be built on Raspberry Pi.
So, here's a wild guess: Chances are that asio uses conditional compilation a lot, and that the Makefile of abl_link~ fails to set some flag, resulting in a pure virtual method remaining unimplemented. I would have cmake dump all its compiler invocations with all their options, then see which of them are wrong or missing when building abl_link~.
Thanks @nettoyeurny for answer. I will try your suggestion as soon as possible (i currently don't have a pi).
BTW : do you know why asio is needed for abl_link? Isn't it related to sound card drivers?
Yes, the presence of Asio confused me, too. Turns out that this isn't ASIO, the sound card driver protocol, but Asio, the network library: https://think-async.com/Asio
OK, much more understandable now, thx!
Is this still an issue? We just updated to Link 3.0.3, so perhaps it's something fixed in upstream?
build (on Raspbian) is successful; running "pd -lib abl_link~" is OK (and prints "setting up abl_link~" to Pd console), while creating [abl_link~] terminates Pd and prints to stderr:
However LinkHut works normally (excepting build needs removing "std::defaultfloat" manipulator which is unsupported by g++4.9).