nariakiiwatani/ofxNDI

dyld: Library not loaded: @rpath/libndi.4.dylib

Closed this issue · 11 comments

Hello, I'm trying to compile in XCODE 10 on macOs 10.13 and I got this error.

dyld: Library not loaded: @rpath/libndi.4.dylib
Referenced from: /Users/demmaone/Desktop/of_v0.11.0_osx_release/apps/myApps/kinect_ndi3/bin/kinect_ndi3Debug.app/Contents/MacOS/kinect_ndi3Debug
Reason: image not found

I've tryed adding the libndi.4.dylib file into Embebed Binaries and Linked Frameworks and Librarie but got no results.
I had no problem with the addon from thomasgeissl but I want to use yours becase it's newer and with a lot of great capabilities.
Sorry for the noob question. Cheers.

Hi! Thank you for trying this addon!

I'm not sure of the issue, but this previous issue may help you.
#14

Thanks a lot, at first I copied manually to the debug app after getting the error. After that it seems that it hold there for futher compilations. I applied the method you suggested for the realease version and seems to work perfect. I xcode 10 you only need to add the lib to Copy files.
Thanks again!

I'm grad to know yours works!
And great thank you for the detailed report!

Hello @nariakiiwatani !

I'm also trying to build (the receiver) on OS X and am getting this error.
I found libndi.4.dylib bundled with the AddOn in this path:
ofxNDI/libs/NDI/lib/osx/x64/libndi.4.dylib

...and I added it to the build settings > copy files as indicated in the other issue.

I'm able to build the app now, but I see a black screen and no video; I tried pressing 1-9 for difference sources but no go.
My source is from the NDI HX app on android...

Hi, @batchku !

To see the issue clearer, I'd like you to check below

  • Receive a source from the same host (OSX which runs receiver app)
  • Receive a source which is not an HX source
  • (If you can) try ofxNDI for NDI version 5 https://github.com/nariakiiwatani/ofxNDI/tree/NDI5
    It's WIP so you still may have to do some additional things like you did as in this thread.
    and you have to get advanced version of NDI SDK 5 from NewTek official site.

Thank you for your response @nariakiiwatani .

I did a few tests:

  • I'm testing with two OS X machines; both macbook pros; one intel and one M1
  • I'm testing from the Android NDI HX app; the app let's me choose the resolution; i'm testing with 1280 x 720
  • I'm using Millumin on both machines to assure that I can receive the video stream; on both machines, i'm able to see the video stream in Millumin

The latest result is:

  • With sdk 4, i'm able to build the test receiver app but see only black screen
  • With sdk 5 (on the NDI5 branch), I did the following:
    • I installed the Advanced SDK, found the dylib (in /Library/NDI\ Advanced\ SDK\ for\ Apple/lib/macOS/libndi_advanced.dylib) and added it to the "Copy Files" part of "Build Phases",
    • I updated the linker flags to point to this dylyb, replacing the reference to the sdk 4 version
    • I'm getting these errors when trying to build:
ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks//QTKit.framework/QTKit.tbd, missing required architecture arm64 in file /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks//QTKit.framework/QTKit.tbd
Undefined symbols for architecture arm64:
  "ofApp::audioOut(ofSoundBuffer&)", referenced from:
      vtable for ofApp in ofApp.o
  "non-virtual thunk to ofApp::audioOut(ofSoundBuffer&)", referenced from:
      vtable for ofApp in ofApp.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Undefined symbol: ofApp::audioOut(ofSoundBuffer&)
Undefined symbol: non-virtual thunk to ofApp::audioOut(ofSoundBuffer&)

ah sorry, please delete this line in ofApp.h which is not used;
void audioOut(ofSoundBuffer &buffer);

Thank you @nariakiiwatani ; I should have caught that, my apologies.

I did comment out that line and now I am able to build, but I still only see a black screen.
Here is a screen capture of Millumin receiving the video feed, and the OF app not receiving it.
Note that this one is with SDK 5...

2021-10-19_06-52-24

@batchku Thank you for the reporting.
uhh that is strange.
I can receive videos using my Intel macbookpro using whichever NDI4 or 5.

What happens with longer wait time for searching sources?
please edit this line. now 5000, maybe 10000 or 20000?
https://github.com/nariakiiwatani/ofxNDI/blob/master/src/ofxNDIFinder.cpp#L29

I tried 20000 and rebuilt; tested with Millumin also running to assure that the stream is good.
I tested on my M1 mac, with the advanced SDK installed, with v5.

Still see a black screen:
image

Not sure what I'm supposed to see?
A list of available streams?
The video itself?

You would see a list of available sources and after hitting 1-9 the video itself could be seen.
スクリーンショット 2021-10-20 22 47 31