Symbol not found for PortMidi
pstoica opened this issue · 10 comments
Hey, I'm not really familiar with Haskell, but I tried installing this and then using it in tidal-atom.
GHCi, version 7.10.1: http://www.haskell.org/ghc/ :? for help
Prelude> tidal> tidal> Prelude Sound.Tidal.Context| Prelude Sound.Tidal.Context| tidal> Prelude Sound.Tidal.Context Sound.Tidal.MIDI.Output| Prelude Sound.Tidal.Context Sound.Tidal.MIDI.Output| tidal> Prelude Sound.Tidal.Context Sound.Tidal.MIDI.Output Sound.Tidal.SimpleSynth| Prelude Sound.Tidal.Context Sound.Tidal.MIDI.Output Sound.Tidal.SimpleSynth| can't load .so/.DLL for: /Users/pstoica/.cabal/lib/x86_64-osx-ghc-7.10.1/PortM_JXzdJFqSCV6AdsRy1MFgS0/libHSPortMidi-0.1.4-JXzdJFqSCV6AdsRy1MFgS0-ghc7.10.1.dylib (dlopen(/Users/pstoica/.cabal/lib/x86_64-osx-ghc-7.10.1/PortM_JXzdJFqSCV6AdsRy1MFgS0/libHSPortMidi-0.1.4-JXzdJFqSCV6AdsRy1MFgS0-ghc7.10.1.dylib, 5): Symbol not found: _kMIDIPropertyConnectionUniqueID
Referenced from: /Users/pstoica/.cabal/lib/x86_64-osx-ghc-7.10.1/PortM_JXzdJFqSCV6AdsRy1MFgS0/libHSPortMidi-0.1.4-JXzdJFqSCV6AdsRy1MFgS0-ghc7.10.1.dylib
Expected in: flat namespace in /Users/pstoica/.cabal/lib/x86_64-osx-ghc-7.10.1/PortM_JXzdJFqSCV6AdsRy1MFgS0/libHSPortMidi-0.1.4-JXzdJFqSCV6AdsRy1MFgS0-ghc7.10.1.dylib)
tidal>
Seems like it can't use PortMidi? I haven't found useful solutions yet, so any ideas are appreciated :)
@pstoica could please you provide more details about your operating system?
I am assuming OS X since _kMIDIPropertyConnectionUniqueID
seem to refer to the CoreMIDI Symbol. However not finding these symbols somehow let's me think this error may not be directly related to tidal-midi.
Just guessing, but can you try explicitly reinstalling the haskell PortMIDI library and the lower level portmidi c-bindings?
regards
Hey! Yes, I'm using OS X (Yosemite), and I know this probably isn't related to tidal-midi, sorry about that. I really want to use it though!
Explicitly installing PortMIDI (cabal install portmidi
) didn't help. Do I need to do anything special for the C-bindings?
Thanks for your help!
Hmm, would installing portmidi through brew be enough? I'll try that when I get home.
Hmm, I've tried brew install portmidi
, manually building haskell PortMidi and replacing the files from cabal install portmidi
, and constantly reinstalling everything (haskell, etc). But nothing resolved the CoreMidi issues yet :( Might try another computer or just using a Linux VM as a last resort.
What does lib/PortMidi-0.1.4
look like for you?
EDIT: Didn't work on another Yosemite computer either.
Phew, I think it's an issue with GHC 7.8.10.x after skimming through this: https://ghc.haskell.org/trac/ghc/ticket/10568
Seems to be properly linking now. Sorry for the noise.
Hi @pstoica could you say a bit more about how you resolved this? We're seeing the same problem here
Ah this seems to be the answer:
cabal install portmidi --ghc-options="-optl-Wl,-framework,CoreMIDI" --reinstall --jobs=1
No still doesn't work.. Failing at something to do with _audiogetcurrenthosttime ..
Ah, followed the instructions in the README and it's happier!
7.8.4 is broken on El Capitan and that part of the README wasn't there last time. Good timing!