s3g / protodrom

examples using libPd for Processing
19 stars 1 forks source link

Tutorial Examples having issues finding native libraries on OSX #1

Closed bnferguson closed 11 years ago

bnferguson commented 11 years ago

After getting everything into the libraries dir, running any of the examples gives me this:

Exception in thread "Animation Thread" org.puredata.core.NativeLoader$NativeLibraryLoadError: Couldn't find libpdnative.jnilib for this platform mac/x86 at org.puredata.core.NativeLoader.loadLibraryFromJar(NativeLoader.java:111) at org.puredata.core.NativeLoader.loadLibrary(NativeLoader.java:99) at org.puredata.core.PdBase.(PdBase.java:74) at org.puredata.processing.PureData.(Unknown Source) at protoDrom_tutorial2.setup(protoDrom_tutorial2.java:62) at processing.core.PApplet.handleDraw(PApplet.java:2103) at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:190) at processing.core.PApplet.run(PApplet.java:2006) at java.lang.Thread.run(Thread.java:680)

There's a macosx folder in the library folder which has the jnlib, but it isn't able to load it. I'm able to use other jnlib based libraries such as OpenNI. Any clue?

Would love to use some of this for a lecture I'm giving in a week or so to some music technology students.

Thanks!

s3g commented 11 years ago

It may be that you've downloaded the entire libPd for Processing source code and are trying to use that. You only should use the pdp5.zip which you can find at the top level at https://github.com/libpd/puredatap5 --- only unpack that zip into your Processing libraries folder. That's my guess anyway, hope it's a help. libPd for Processing is still in beta so there could be some glitches which I haven't encountered on my system.

s3g commented 11 years ago

Another thought if that's not the solution. Double-check the version of Processing. Latest beta of Processing 2 recommended.

clembie commented 11 years ago

I have the same problem. Processing 2.0b3.

I'm on a mac running 10.7.4 on an i7 chip. Should we try to compile it on our system?

s3g commented 11 years ago

Have you ruled out the earlier recommendation to check that you are using the correct library which is contained in pdp5.zip? If so, I may be stumped. I am running on Mac OS 10.8.1 - so can't confirm for 10.7.4. Sorry if that's no help.

Spiroz commented 11 years ago

Either you compile it or not the problem remains. I 've tried to run the example both in processing 1.5 & 2 on a Mac OS 10.6.8 and the thread was the same..

clembie commented 11 years ago

Exception in thread "Animation Thread" org.puredata.core.NativeLoader$NativeLibraryLoadError: Couldn't find libpdnative.jnilib for this platform mac/x86

It's unclear whether it can't find it because it's looking in the wrong place or it can't find it because the file is not what it thinks it needs. But if you're on 10.8.x, my guess is that might have something to do with it. The only count against that theory is that Spiroz seems to have tried compiling locally to no avail. I haven't tried that on my system, so I'm going to shrug here.

shrug

FWIW, there is another lib linked from this blog post that does work on my system: http://robertesler.com/libpd-with-processing/

It requires JACK (which I happen to use anyway) instead of portaudio. I can't find this particular project on github, which makes me worry that it's not being updated.

I'll try to compile everything in your package this weekend and see what happens for me, s3g.

s3g commented 11 years ago

I see the issue has been reported by Spiroz at https://github.com/libpd/puredatap5/issues which I was going to recommend since I'm not one of the developers for the pdp5 library, just fortunate enough to get it running on my machine. As soon as I can, I'll try on an OS before 10.8 and see if I get the same errors. best

clembie commented 11 years ago

facepalm

Oh, of course, sorry about that.

s3g commented 11 years ago

Did manage to check on an earlier Mac OS (10.7.5), and confirmed that the pdp5 library doesn't seem to be working. Looks like 10.8 is required at the moment to use pdp5.