Max gen~ builds broken binaries

I just received my dwarf and am trying to get some Max gen~ plugins running. Unfortunately I get the following error with the compiled binary.

lilv_lib_open(): error: Failed to open library /root/.lv2/dm-Osc.lv2/dm-Osc_dsp.so (/root/.lv2/dm-Osc.lv2/dm-Osc_dsp.so: wrong ELF class: ELFCLASS32)
can’t get lilv instance
resp -102

I followed this guide to build the plugin: Max gen~ - MOD Wiki.

Maybe the build pipeline is building 32bit binaries, where it should be compiling to 64bit…?

1 Like

I guess this is building for modduo instead of moddwarf.
The build scripts likely need some updating.

3 Likes

huh… does anybody know the status of building for DuoX? i did some test builds with my Duo, which worked, but haven’t tried with the X, and don’t yet have my Dwarf…

I know it is supposed to work, we verified it to be the case at some point.

@acunha is something offline by mistake?

1 Like

Yes, maxgen build is broken and it’s in my to-do list. I’ll get back to you soon (but might take a couple days because I’m moving to a new place).

6 Likes

Maxgen build is working now. Please let me know if you’re still seeing issues.

2 Likes

I still see the same error.

lilv_lib_open(): error: Failed to open library /root/.lv2/dm-Erbeverb.lv2/dm-Erbeverb_dsp.so (/root/.lv2/dm-Erbeverb.lv2/dm-Erbeverb_dsp.so: wrong ELF class: ELFCLASS32)
can’t get lilv instance
resp -102

When I build the plugin following this guide (Max gen~ - MOD Wiki) the build result is <plugin-name>.lv2-duo.tar.gz. Is this supposed to work for all platforms? Shouldn’t the plugin for the Dwarf be a different compiled binary?

You’re running the max gen build manually. So it’s only meant for developers which are looking to use the tools and have control over the process. For typical users it’s much easier than that. Here’s a video showing the integration between Max Gen and a Duo (it will work seamlessly with any device).

3 Likes

I can confirm it works using the MODwatcher in Max itself. So thanks for that!

Are you planning on updating the manual build process so it will compile for Dwarf too? I am one of those persons that wants a little more control. For the reasons written in the Wiki: add units, knob behavior, a description or even a GUI. (I know I could copy files, edit and copy them back into the MOD as a solution). And also because on occasion I want to edit the exported c++ code, which is only possible when building manually.

3 Likes

Ok. Apologies for not recognizing your hacker intentions :smiley:
I thought somehow you had landed in the wrong wiki page and was trying to do it the hard way.

There’s an easy tweak you can make to download the correct (dwarf) binaries. Under resources/ open file publish.py. Line 83 you have to replace ‘duo’ with the correct binary architecture. So:

r = urlopen('{0}bundles/{1}/aarch64-a35/'.format(release_process_url, bundle_name))

Let me know how that goes.

I’ll look into changing this package to make the device binary an option to be picked from the command line. For now this should get the hacking going…

In case somebody with a duox lands here, the value to use would be: aarch64-a53

4 Likes

tyvm!!

Thanks a lot! This was exactly what I was looking for.

1 Like

I gave this a try and came up with this. I added a prompt to select the preferred target (duo,duox,dwarf or all). I made “all” the default.

I also had some issues with the urlopen function calls in the publish.py file. It started asking for ssl certificates. So I found a way to bypass that. You can find that in the linked github repository aswell.

It’s just some small tweaks. Hopefully you don’t mind me serving these scripts on Github. I thought this might be helpful to others.

2 Likes