@zoebreed
assuming you are running PD on linux and not doing something with libpd like the bela (although the bela forum has a great thread about compiling externals)..
so because cyclone is a compiled external (opposed to a vanilla external that is an abstraction made up of objects just using pd vanilla) it will only work on the correct OS and CPU
for the OS
mac is darwin .d_
windows is msw .m_
linux is .l_
haiku is?
bsd is?
CPU/ARCH is
_fat = a mac thing - both types of mac (now adays the M1,2,3 and Intel, historically it was for PPC and Intel or 32bit and 64bit intel)
_amd64 = intel/amd/ (regular desktop or laptops)
_arm
_arm64 _aarch64
_riscv someday haha
but ARM is confusing because the raspi3 and earlier were 32bit only but raspi4 can be 32 or 64bit - so 32 or 64 depends on the OS and version of Pure Data..
- (assuming) Linux and ARM which can be called aarch64 / arm7 / arm64 / or arm for 32bit
you can cover your bases tho and stick them all together - compiled externals (if named correctly as we will see) can be together in the same folder so it will run on a mac, or windows, or linux laptop and then on a rasberry pi or jetson nano - pure data does a really good job of looking for the right one
but another tricky thing is where to put them - the easiest way to approach this is to put the compiled externals and their help in the same folder as your patch. you should also be able to put them in a named folder inside the patch /cyclone and call the externals with that folder first [cyclone/>~]
if you download the .dek file at the bottom here - its actually a zip ..
https://deken.puredata.info/info?url=http%3A%2F%2Fpuredata.info%2FMembers%2Fporres%2Fsoftware%2Fcyclone%2F0.7-0%2Fcyclone[v0.7-0](Darwin-amd64-32)(Darwin-arm64-32)(Linux-amd64-32)(Linux-arm64-32)(Linux-armv6-32)(Windows-amd64-32).dek
![externalsCompiled.PNG](/uploads/files/1718133828121-externalscompiled.png)
the easiest thing would be to put all these in the same folder as your patch or just put the ones for the OS and CPU/ARCH you are using
ps if you are just using the [>~ ] signal comparason objects you can use heavylib [>~] = [gt~] .. vanilla abstractions are objectsNamed.pd you call [objectsNamed] and have the same deal with foldering - easiest to keep them in the root of your patch. https://github.com/Wasted-Audio/heavylib