Labjackusb.h not found

Hi Chris,

This is Shuyang from Duke again. I downloaded the latest version of MWorks (Version 0.11.dev) and I’m having trouble building the bundle. The error is:
‘labjackusb.h’ not found (see the attached screen shot). I tried the sudo commands in the terminal but it’s still having the error. Restarting the Mac doesn’t seem to help either. Do you know what’s causing this issue?

Thank you very much!
Shuyang

Hi Shuyang,

It sounds like you need to install the Exodriver package.

FYI, I’ll be on vacation for the next two weeks. If you need assistance with building the plugin during that time, I recommend getting in touch with Lindsey Glickfeld or someone from her lab.

Cheers,
Chris

Hi Chris,

I hope you had a great vacation! I installed the exodriver, and now I’m getting the 2 errors attached. Lindsey is actually setting up MWorks on a new Mac and she got the exact same thing. Do you have any idea what’s causing the errors?

Best,
Shuyang

Attachment: Screen_Shot_2021-08-16_at_5.50.16_PM.png (32.2 KB)

Hi Shuyang & Lindsey,

Apologies for the delay in replying. I’m still catching up on my post-vacation backlog.

I’m getting the 2 errors attached. Lindsey is actually setting up MWorks on a new Mac and she got the exact same thing. Do you have any idea what’s causing the errors?

Sorry about that. The latest Xcode changed the definition of “standard 64-bit architectures” to include arm64 (aka Apple Silicon), which the LabJack libraries don’t support.

The basic fix is to tell Xcode to build only for x86_64. This is done in the build settings for the LabJackU6Plugin target (see the attached image). However, there might be other issues, depending on what version of MWorks you’re building against. Are you using a numbered release or a nightly build?

I’ll try to clean things up so that the plugin builds against both MWorks 0.10 (which is Intel only) and the current nightly build (which supports both Intel and Apple Silicon). Lindsey, I’ll also reconcile these changes with the other changes I made recently.

Cheers,
Chris

Attachment: target_settings.jpeg (292 KB)

Hi Chris,
Thanks for your response- that makes sense.
We’re trying to install the nightly build.
We’ll try and set it up for the x86_64 build- and keep an eye out for your
pull request.
Thanks,
Lindsey.

Hi Chris,

I changed the build settings to x86_64, and now I’m getting these errors (see attached).

Best,
Shuyang


Attachment: Screen_Shot_2021-09-01_at_2.52.57_PM.png (58.9 KB)

We’re trying to install the nightly build.

OK, then you want the version that also supports Apple Silicon. FYI, I simplified this a bit and submitted a new pull request. If you want to try it, download my embedded_exodriver_2 branch.

I changed the build settings to x86_64, and now I’m getting these errors (see attached).

Yes, that’s one of the “other issues” to which I alluded. The embedded_exodriver_2 code includes a fix for it.

If you run in to any other problems, please let me know!

Chris

Hi Chris,
Thanks- the build now works.
However, it fails to find the labjack when loading an experiment (power and status lights are on).
Lindsey.


Attachment: Screen_Shot_2021-09-01_at_6.21.36_PM.png (82.3 KB)

Hi Lindsey,

That error message indicates that MWorks didn’t load the plugin, not that it didn’t find the device. Are you sure you installed it? In Xcode, you need to build the Install or Everything target to both compile and install the plugin (see attached image).

Chris

Attachment: Everything_Target.png (156 KB)

In Xcode, you need to build the Install or Everything target to both compile and install the plugin (see attached image).

Never mind. That will just fail with permissions errors with a nightly build. I guess just install the plugin manually, however you normally do that.

Chris

Hi Chris,
Sorry- I’m not sure what you mean by “install”- usually we just compile in
Xcode and that is sufficient.
Lindsey.

The plugin bundle (LabJackU6Plugin.bundle) has to be copied to the folder /Library/Application Support/MWorks/Plugins/Core in order for MWServer to find and load it. You had to be installing it somehow, otherwise you’d always see the “No factory type for object” error.

Chris

Oh shoot- you’re totally right, I skipped that step. Should be all good
then.
Lindsey.