C Bindings help? Trying to port sunvox library

I do not use this feature of crystal much so I imagine other people will be able to help more.

I noticed in your example you are using gcc. Have you tried compiling with llvm?
I don’t think that should make that big of a difference but it might.

Also, As of 0.28.0 there is an enviroment varible you can set called CRYSTAL_LIBRARY_PATH that you can use to point to the .so files. Crystal will still try to find .so files but will use this env variable first. I would look into it if you are having trouble with crystal finding libraries.
Here is a link to the RFC