/Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/libusb-1.0.so: is not an object file
-
Externals in Purr-Data
-
@didipiman Hm.
Try:
install_name_tool -id /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/libusb-1.0.so /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/libusb-1.0.so
-
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: input file: /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/libusb-1.0.so is not a Mach-O file
-
file /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/libusb-1.0.so
-
/Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/libusb-1.0.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6d6066fc49fc9c4a1dd5db75d614ea958f61ae67, stripped
-
@didipiman Oops, try this:
otool -D /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/libusb-1.0.0.dylib
-
/Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/libusb-1.0.0.dylib:
@rpath/libusb-1.0.0.dylib -
@didipiman I don't really understand Macos' toolset. Give this a try and see if you can instantiate the object afterward:
install_name_tool -id /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/libusb-1.0.0.dylib /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/pd_helios/libusb-1.0.0.dylib
-
tried instantiating it as [helios], as [pd_helios] to no avail. unless i should try with other paths as the object class...
-
@didipiman For some reason the library isn't finding that libusb-1.0.0.dylib dependency. You'll need to fish around the OSX docs about install_name_tool to figure out how to ensure it's in the correct search path.
-
THANK YOU SO MUCH, @jancsika
will try and report back if i succeed -
@didipiman Sounds good.
One thing you can do is use otool to inspect the paths for a pre-existing external library that has a dependency. Try
fluid~
:- Make sure
fluid~
will instantiate properly on a canvas. - Find the
fluid~
lib in your Purr Data app bundle. Useotool -L
to inspect its dependencies. It should have a dependency on a fluidsynth library which I ship with Purr Data. - Go to the directory in the app bundle where that fluidsynth lib lives.
- Use otool to figure out its install name
Once you get that info, put your libusb dylib library in the exact same directory inside the app bundle as the fluidsynth library. Then use install_name_tool/otool to set the same path relationship helios and libusb binaries that you saw with fluid~ and fluidsynth
I'll try to do the same the next time I get access to a mac machine.
- Make sure
-
@didipiman Note: you can also use the script purr-data/packages/darwin_app/embed_MacOSX_dependencies.sh from the repo as a reference for how this works.. IIRC it only looks for deps that have homebrew path, so I'm not sure that it will properly pick up that libusb dylib. But you can at least have a look at the script to see how it works.
-
thanks. i did that and then i tried something that was in the helios documentation, even though it was supposedly for El Capitan, which is not my OS.
installed homebrew from https://brew.sh/
then on a terminal i ran:brew install libusb
and that was it. pd now loads helios. (hooray).
however, i still get thousands of errors printed on the post window upon startup. my startup preferences are obviously wrong. is there a template for a neatly organised startup preferences file i can check out to make sure mine looks as similar as that? or at least, what’s the general idea? i mean if there is a search path to /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra
do i still need to specify other paths for individual libraries such as:/Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/ggee /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/zexy /Applications/Pd-l2ork.app/Contents/Resources/app.nw/extra/cyclone
and so on?
many many thanks!!!
-
Oh-- remove the "-verbose" flag we used to debug the issue.
Also note-- you're version of helios is probably finding the libusb dylib in the homebrew lib directory. So if you use your same patch on a machine where you didn't install homebrew, helios will no longer work.
Nevertheless-- glad to hear you've got it running!
-
ye, i already removed the "-verbose" flag, but it's still printing a ton of errors including (but not limited to)
pd_helios: can't load library
...confusingly enough
-
Hey there,
i am also trying to get this lib working on an old ios 10.14.6.
https://github.com/timredfern/pd_helios
I followed all the steps described in the readme including "brew install libusb".
however i am getting an fatal error when I try to: make PDINCLUDEDIR=../pure-data/src/my terminal says:
ls: ../pure-data/src//m_pd.h: No such file or directory
++++ info: using Makefile.pdlibbuilder version 0.5.1
src/pd-lib-builder/Makefile.pdlibbuilder:759: Where is Pd API m_pd.h? Do 'make help' for info.
++++ info: making target all in lib helios
++++ info: evaluating implicit prerequisites in lib helios.....
src/helios.cpp:12:10: fatal error: 'm_pd.h' file not found
#include "m_pd.h"
^~~~~~~~
1 error generated.
src/pd-lib-builder/Makefile.pdlibbuilder:974: *** missing separator. Stop.it seams like there is a m_pd.h missing.
do you guys know what this error means? am i doing something wrong?i downloaded the package and copied it to my /Documents/pd/externals folder. is that correct?
i am a max user and never really used pd + not to versed in using the terminal.thanks
Jakob -
hi, just to clear one thing out. Now purr data does not install anymore as 'pd-l2ork', right? It's quite similar, but pd-l2ork is actually different and not purr data, huh?
-
@jakobschauer Maybe you should PDINCLUDEDIR=../pure-data/src ..... without the forward slash at the end, as it is looking for ../pure-data/src//m_pd.h ..... which presumably doesn't work with the double slash.
I am pretty certain that m_pd.h is in that directory.
David. -
Hey @whale-av,
thanks so much for the answer, sounds pretty legit. however I tried and i am still getting the same answer without the double slash:pd_helios-master % make PDINCLUDEDIR=../pure-data/src
ls: ../pure-data/src/m_pd.h: No such file or directory
++++ info: using Makefile.pdlibbuilder version 0.5.1
src/pd-lib-builder/Makefile.pdlibbuilder:759: Where is Pd API m_pd.h? Do 'make help' for info.
++++ info: making target all in lib helios
++++ info: evaluating implicit prerequisites in lib helios.....
src/helios.cpp:12:10: fatal error: 'm_pd.h' file not found
#include "m_pd.h"
^~~~~~~~
1 error generated.
src/pd-lib-builder/Makefile.pdlibbuilder:974: *** missing separator. Stop.i also do not find the m_pd.h file in my finder (if thats even poissible)
i first do:
cd /Users/jakobschauer/Documents/Pd/externals/pd_helios-master
then:
PDINCLUDEDIR=../pure-data/src
right? 🤔i also tried on another machine IOS 12.0.1. same same