LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

NI Package Manager can't install package dependency

Solved!
Go to solution

Hi all,

I have built a package using LabVIEW 2016 and the 'NI Package Building Support'  package. The package contains an executable and a dependency to the runtime engine:package.PNG

 

 

I then added this package to a custom feed using NIPM Feed Manager GUI for LabVIEW. When I register my custom feed in NI Package Manager (on the same machine as the package was built) it installs without problems. When I try to install the same package on a clean machine (only NI Package Manager installed) it fails to install the dependency:nipm error.PNG

 

I was expecting NIPM to install my dependency automatically (as defined in the package itself). I assume this has something to do with missing registered feeds on my 'clean machine'. Do I need System Link to handle the feeds registered on my client machine, or how is this supposed to work?

 

0 Kudos
Message 1 of 4
(4,606 Views)

Hi patric.j,

 

I suspect this has to do with some packaging error with the NIPM Feed Manager GUI application, but I haven't dug into the source to see if there are obvious issues.  Since it's provided open-source, your best avenue for support is probably to post an issue to the Github repo.  I'd create an issue there and see if the creator of the package is able to reproduce the behavior you're seeing and put a workaround in place.  

 

Regarding the different behavior on the two machines, my guess is that neither install is actually installing the RTE; since it's already on your development PC, you don't get any dependency errors.  

 

If there's a pressing timeline here and posting an issue to the Github page isn't viable, let us know and we'll do additional digging into how to work around this.  

 

Matt | NI Systems Engineering
0 Kudos
Message 2 of 4
(4,531 Views)
Solution
Accepted by topic author patric.j

Hi Patric,

 

The the reason this is happening is because the LV 2016 RTE package (ni-labview-2016-runtime-engine-x86) is not available in a feed registered on the clean machine you are trying to install on. It doesn't necessarily have to be in the same feed as your other package, but it does need to be in a feed that is registered on that machine. Most likely, your development machine already has a feed registered that has this package, so you are not seeing the error there.

 

When you build a package in LabVIEW and declare a dependency on another package, the LV 2016 RTE in this case, it does not pull that package into the package you are building or combine them in any way, it only sets the relationship metadata on the package you're building such that the package won't install unless its dependency is already installed or available in a registered feed.

 

If you want to include the LV 2016 RTE package (ni-labview-2016-runtime-engine-x86) as part of your feed, you will need to download the package (and its dependencies) and add those packages to your feed. Another option is to download the package (and its dependencies) and create a separate feed, however, your end user would need to register both your feed and this other feed. The following tutorial has some good information on how to do the second option: http://www.ni.com/tutorial/53918/en/. if you want to just add the packages to your feed, just ignore the parts about creating a new feed.

 

NOTE: The tutorial has you create the feed through the command line (via the feed-create command), but you can still use the NIPM Feed Manager GUI for LabVIEW that you were using as well. 

 

I hope this helps. Please let us know if you have any further questions.

 

Aaron Peña

Product Owner, Package Management and Licensing

Message 3 of 4
(4,501 Views)

Hi Aaron,

Thanks for your explanations.

In this case, creating a package with dependencies requires more effort than I am used to when creating a package using VI Package Manager (admittedly, it serves a slightly different purpose).

In the end, I'd have to register multiple additional feeds on the clients, so all my dependency-feeds are available on the clients.

As for now, it looks like System Link is the tool one needs to manage all the required feeds on the clients.

Best regards,
Patric

0 Kudos
Message 4 of 4
(4,482 Views)