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
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
On Fri, 2021-01-29 at 11:21 +0100, Christof Ressi wrote:
$ 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
Thanks for the pointer. If I read correctly, Alex had troubles using a newer version of soundtouch. So there is definitely some more work required for making it release-ready.
Alex reported his build of [soundtouch~] works for macOS 64-bit. I'm curious: According to the bug description, the problem is related to pointers having a different size on 64-bit archs, so pointer arithmetic has to take that into account. So, isn't it surprising that it works for him, but not on Linux amd64?
Roman
Hmmm... now that I've had a closer look, the thread I've posted is actually about a completely different issue (wrong usage of 'long' on 64-bit Windows). Sorry for the noise!
I don't know what triggers the assertion in your case, but it's probably also fixed in the latest version of soundtouch ;-)
Christof
On 29.01.2021 11:41, Roman Haefeli wrote:
On Fri, 2021-01-29 at 11:21 +0100, Christof Ressi wrote:
$ 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
Thanks for the pointer. If I read correctly, Alex had troubles using a newer version of soundtouch. So there is definitely some more work required for making it release-ready.
Alex reported his build of [soundtouch~] works for macOS 64-bit. I'm curious: According to the bug description, the problem is related to pointers having a different size on 64-bit archs, so pointer arithmetic has to take that into account. So, isn't it surprising that it works for him, but not on Linux amd64?
Roman
Pd-dev mailing list Pd-dev@lists.iem.at https://lists.puredata.info/listinfo/pd-dev
Em sex., 29 de jan. de 2021 às 07:42, Roman Haefeli reduzent@gmail.com escreveu:
Alex reported his build of [soundtouch~] works for macOS 64-bit.
yes, it does!
If I read correctly, Alex had troubles using a newer version of soundtouch.
yeah, I got the new source code and tried to build it, I got some "missing symbols" when loading the external. But then, again, this was a very quick and lazy attempt. Not really sure if there's a huge problem in the way of using the new version. Maybe there is, maybe there is not. I may not be the one to say...
I guess I did all I could for this now. I'm hoping we could have all binaries for this version and hopefully update this too to the new soundtouch version, but I needed help :)
cheers
On Tue, 2021-02-02 at 13:03 -0300, Alexandre Torres Porres wrote:
I'm hoping we could have all binaries for this version and hopefully update this too to the new soundtouch version, but I needed help :)
Yeah, I see.
I guess my help is limited to providing binaries for missing archs once the build works. However, I'm not capable time-wise and knowledge-wise to make the build work for the missing archs.
Roman
On 2/2/21, Alexandre Torres Porres porres@gmail.com wrote:
[...] I got the new source code and tried to build it, I got some "missing symbols" when loading the external. But then, again, this was a very quick and lazy attempt. Not really sure if there's a huge problem in the way of using the new version. [...]
I guess the way to go is first update the build system to work for "all" platforms (see https://github.com/porres/pd-soundtouch/issues/1), then update the SoundTouch code.