For it to compile on amd64, I had to add '-fPIC' to LINUXCFLAGS.
'-fPIC' should be set for all Linux targets and also macOS. Generally, you hardly ever want to build a shared library without position independent code. Windows doesn't have an equivalent flag because DLLs are always position independent, albeit using a completely different approach than ELF shared libraries.

~~~
$ pd -open soundtouch~-help.pd 
pd: AAFilter.cpp:107: void soundtouch::AAFilter::calculateCoeffs(): Assertion `length >= 2' failed.
Pd: signal
~~~

https://bugs.launchpad.net/mixxx/+bug/1402219

According to the issue thread, this has already been fixed in recent versions of soundtouch

Christof

On 29.01.2021 09:40, Roman Haefeli wrote:
I took liberty of moving this to pd-dev.

On Wed, 2021-01-27 at 22:59 -0300, Alexandre Torres Porres wrote:
It's only missing binaries for windows64 bits, linux64 bits and
raspberry pi versions. Hopefully other people can build and upload
them.

For compiling it on any of the Linux archs amd64, i386, and armv7, I
had to replace '--export-dynamic' by '-export-dynamic'. It seems my
version of g++ (9.3.0) doesn't accept double-dash flags (anymore?).

For it to compile on amd64, I had to add '-fPIC' to LINUXCFLAGS. It
compiles without error then, but loading the binary crashes Pd:

~~~
$ pd -open soundtouch~-help.pd 
pd: AAFilter.cpp:107: void soundtouch::AAFilter::calculateCoeffs(): Assertion `length >= 2' failed.
Pd: signal
~~~

On armv7, I had to remove '-msse' from LINUXCFLAGS for it to compile.
The resulting binary loads fine in Pd, but I hadn't a chance to really
test it, because I don't have sound on that machine. 


Roman

_______________________________________________
Pd-dev mailing list
Pd-dev@lists.iem.at
https://lists.puredata.info/listinfo/pd-dev