jbclements / portaudio

Racket Bindings for PortAudio
Other
9 stars 7 forks source link

Raco exe does not work. #9

Closed Hallicopter closed 4 years ago

Hallicopter commented 4 years ago

How to reproduce: Create a test.rkt with contents

#lang racket
(require portaudio)

(displayln "This will fail")

Run raco exe test.rkt

Try running ./test

Output

collection-file-path: collection not found
  collection: "portaudio/lib"
  in collection directories:
  context...:
   /Applications/Racket v7.7/collects/racket/private/collect.rkt:26:58: fail
   '#%embedded:portaudio/portaudio:: [running body]
   temp35_0
   for-loop
   run-module-instance!
   for-loop
   [repeats 1 more time]
   run-module-instance!
   for-loop
   [repeats 1 more time]
   run-module-instance!
   for-loop
   [repeats 1 more time]
   run-module-instance!
   for-loop
   [repeats 1 more time]

Because of this I am unable to create any executable files that depend on rsound, what could be the issue?

Thanks for the lib!

PS, I had opened an issue in Rsound, this is the root cause. Put it there for others' reference if they face the same issue.

jbclements commented 4 years ago

It looks to me as though as of today, the following works, at least on Mac OS X: 1) use exe as you've described. 2) copy the two libraries "callbacks.dylib" and "libportaudio.2.dylib" from the portaudio-x86_64-macosx/portaudio/lib directory to the directory containing the exe. 3) running the generated executable file.

Now: it's entirely possible that (a) I just fixed this as part of recent commits, or (b) it's still broken on some platforms. What platform are you using, and does this solve your problem?

Hallicopter commented 4 years ago

I am on Mac OS X. Will retry and get back to you on this.

Hallicopter commented 4 years ago

This works