Yak file difficulties - Rhino version not specified

Hi all,

I’ve been trying for a few days, but I’m having trouble figuring out what I’m doing wrong. I have pushed a few packages to the test server, and I’ve attempted to install them on multiple machines. They all give the ‘Rhino version not specified’ error.

It would be a big help if someone knowledgeable would try installing, and maybe take a look at my file and manifest, see if anything jumps out at them.

The package is titled ‘pachyderm_acoustic_simulation’.

Some odd things I noticed - the yak build command seems to want to use my graphing library as the plugin… Which is odd. I’ve been modifying the manifest so that it is more accurate… So plenty that I could have done wrong I imagine…

Another odd thing, I can’t get it to use my icon, and it seems to always want to use the green puzzle piece, even if there is no grasshopper library present.

Are there any other known causes for this error?

Thanks in advance!

Arthur

Hey Arthur, can you share the commands you’re using, the manifest you’re using and the directory structure of the project?

Hi Callum,

Thanks for writing.

Commands I have used:
yak Login
yak spec (Just for the first one. Then I started making my own from the result.)
yak build (usually does weird things… so I either build my archive myself, or modify it what comes out of build…)
yak push

And again, if you add the test server to your search paths, you can find the files I pushed (at least until midnight tonight).

This forum won’t let me upload my manifest as a file, so here is the text:

---
name: pachyderm_acoustic_simulation
version: 2.6.0.11
authors:
- Open Research in Acoustical Science and Education, Inc.
description: Foundational Algorithms in Acoustical Simulation for Rhinoceros and Grasshopper. A world with clear, articulate and aesthetically rich soundscapes is a world where understanding abounds, and  is accessible to all. [Important - this package includes the Pachdyerm for RHino plugin only. The grasshoper component is provided in a separate package.] 
url: https://www.orase.org/
keywords:
- acoustics
- simulation
- sound
- audio
- guid:fefc90ab-b92d-47fb-88fc-90bf6569ee11

icon_url: https://github.com/PachydermAcoustic/PachydermAcoustic_Rhinoceros/blob/9759e41af310812696d6edc8f526131a163ba1c8/Resources/Icon1.png

File structure:

yak Build seems to think ScottPlot is my plugin… so another issue I’m not sure how to set straight…

For good measure, here is the misc folder:
image

Let me know what you can gleen from this… Much appreciated.

Arthur

Of note, it’s worth using yak --help and yak <command> --help if you get stuck.

What sorts of weird things does yak build do? If build is causing issues, let’s resolve those.Can you show the exact usage of yak build you’re using including all of the arguments?

Are you building for Rhino 7 or Rhino 8?

The Yak Package Manifest Guide does say icon_url is obsolete and it’s best to use a local png link.

I wonder if the []'s in this might cause issues with yaml. That might be part of the yak build issues

This looks good. Yak should pick the .gha and .rhp up.

Build is identifying ScottPlot.dll as my plugin. That’s the weird thing it does… I can’t show it right now… but this evening I’ll get back on this horse and show you some things.

I’m building for Rhino 8.

I will try without the brackets. Maybe that will make a change.

Arthur

Alright. Back in the saddle…

Here is what I get when I simply run yak build, no additional arguments:

Found manifest.yml for package: pachyderm_acoustic_simulation (2.6.0.11)
Inspecting content: Pachyderm_Acoustic.rhp
WARNING: Content version doesn't match manifest: '5.0.10-beta+766fea8fb3b85c2bdf499edc7fc2967701b22e98' != '2.6.0.11'
WARNING: Content name doesn't match manifest: 'ScottPlot' != 'pachyderm_acoustic_simulation'

So maybe it isn’t that it thinks ScottPlot is the plugin… but something odd is happening there… for example, it doesn’t react to the versions on any other library… I can’t imagine why I need a warning about that… Any insight?

Will try without the brackets next.

Arthur

Just tried pushing 2.6.0.12 (without the bracketed clause in the description…), and then tried installing on another machine with Rhino 8 SR9. No dice. Same error.

Any other ideas?

Arthur

Hi Arthur,
I put this on our bug list for @will to take a look at
https://mcneel.myjetbrains.com/youtrack/issue/RH-83241/Yak-spec-getting-incorrect-DLL

Hi @stevebaer,
You can take that off. I figured it out at least in part. It was a copy error on my part. I have code copying my files to a directory so that they can be combined into the Yak file. One of the copy instructions was renaming ScottPlot to my plugin name. My poor eyesight can make it difficult to find things like that.

So I no longer have a Rhino version error, but now I have ‘initialization failed.’ Not really sure why yet. I don’t know if it is a Rhino issue, but I’ll let you guys know if I have more questions that I need you to answer about this.

The issue with initialization has been following this project around, though. It works if you install it manually (copy all files to a folder and drag the rhp to the rhino window) but it does not work with windows deployment or yak so far…

Arthur

Is this happening in Rhino?

Since your project is open source, it’s pretty easy for us to test theses issues, and help fix. But it would be really handy (and save us some time) if you updated the README with some build instructions :slight_smile:

Hi @CallumSykes,

I appreciate the thought. In the past, I’ve had difficulty getting people to successfully build it. It probably doesn’t help that most of these volunteers don’t have much experience coding, though.

Really, you just need a solution in visual studio with the projects Hare, Pachyderm Acoustic, and Pachyderm Acoustic Universal, (and PachydermGH, if you like). Then my own personal solution also has a customized version of ScottPlot, and my CLF reader, which I can’t share the code for… but those libraries are part of my normal distribution, so you could just take the dll’s from the yak file I published to the test server and use them as dependencies.

I think nuget should do the rest, and unless I’m mistaken, the nuget parts are stored with the project files in visual studio… but if not, I can help out with that as well.

Don’t feel obligated, but I’ll support if you’d like to try.

Arthur

Ok. I have it loading. Some things still don’t work. I’m pretty sure it is my issue, so I’ll figure it out.

Last thing that is weird… the icon still isn’t being used by Yak. I tried initially by including the icon file in the yak file, and adding it to the manifest, but that didn’t work. So I went the URL route, which I read about on the forum, but that also didn’t work.

This is obviously a minor issue, but it would be nice if it would show our icon in the package manager.

Thanks for your help, @CallumSykes and @stevebaer.

Arthur

@CallumSykes @stevebaer

Oh my goodness… finally figured it all out… I didn’t know about:

HostUtils.SendDebugToCommandLine = true;

Extremely useful in figuring out what I did wrong here.

Thanks for responding - sorry for the trouble. It works now. I even got the icon to load.

Arthur

Neither did I haha, very handy :stuck_out_tongue:

It would be great to post the solution here (if possible) for future readers :slight_smile:

I’m not sure if it would be helpful. My software saves a few text files for user data, and in the past using Windows deployment, I would just deposit those files in a special folder in roaming app data. With yak, there is no such way to do that, so I was working on having Pachyderm do it on initialization.

Well, I was naming the file inconsistently, and I couldn’t detect the issue on my development machine because the infrastructure was already there. So the issue wouldn’t crop up in debug sessions, but it would in computers receiving a fresh install.

The reason the hostutil property was helpful was because it spit out a precise description of the problem, and pointed out exactly which file it couldn’t find.

So the solution was unique to my project (and it was my stupidity), but the rhino property at least helped me find it.

Arthur

1 Like

Gotcha, always a joy moving from debug to production! Glad your issue is fixed :slight_smile: .
Any more issues, let us know, always happy to help (even if I am only a duck :duck:). Your project looks cool and it’s always exciting to see people do cool things with Rhino and Grasshopper.

1 Like