LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

VIPM build failing

Solved!
Go to solution

Hello all,

I have yet another issue  with the black box that is vipm.  I am attempting to build a package and I am getting the following complaint from vipm:

LabVIEW:  A LabVIEW file from that path already exists in memory, or exists within a project library already in memory.

with the following error conditions:

Error Conditions:
Private Save
VI Name: "Config Data.lvclass:clear Session Data.vi"
VI Path: "C:\Users\mrichardson\AppData\Local\Temp\vpbtmp\src\LabVIEW\vi.lib\MSR Consulting, LLC\Devices\Configurable Device\clear Session Data.vi"

Method Name: Save:Instrument (Private)

Now, you if you notice, the path to the VI is in AppData\Local under a temp folder - this is where vipm is placing the VI.  I have no idea what it is doing at this point (it also creates a hidden folder temporarily containing all of the code for the package in the top level directory where the code is being built from).  The problem with the above message (beyond the fact that I have no idea why vipm is placing this code in this folder) is that the VI that it is complaining about, the one that already exists, is not part of the package; it is a dependency.  And, it is correct to complain that this file already exists as the object in question is a child of another class and the method is a method that is extended in the current implementation.  But I want to make this clear - the method itself is not part of the package to be compiled!!  Config Data is a dependency of the package (not part of it).

Does anyone know why this happens or how to fix this?

0 Kudos
Message 1 of 6
(3,011 Views)

So, to add a little more information as I have still been unable to resolve this and it is now stopping all work:

  • I am able to mass compile the directory with no errors, bad VIs or anything to indicate that there is something wrong with the VIs in the directory in question
  • I have tried using Destination Type -> Directory rather than Directory (Preserving Hierarchy) to no avail
  • I have been able to build this in the past.  This seems to be a new thing.

I am just baffled; it seems vipm is attempting to dump everything including dependencies into a single directory and attempt to compile them.  What is it that I am now doing wrong??

0 Kudos
Message 2 of 6
(2,935 Views)

And here is a build spec for the last successful build:

 

[Package]
Name="msr_consulting_llc_lib_configurabledevice"
Version="2.0.1.9"
Release=""
ID=8de7262d6e6f8dd6b142ad642ecf0edb
File Format="vip"
Format Version="2017"
Display Name="ConfigurableDevice"


[Description]
Description="Provides a base for basic device functionality that requires configuration.  Makes use of the Config Data session in the General Reuse library."
Summary=""
License=""
Copyright="Copyright (c) 2017, MSR Consulting, LLC"
Distribution=""
Vendor="MSR Consulting, LLC"
URL=""
Packager="Matt Richardson"
Demo="FALSE"
Release Notes="Adding com-session to the Configurable Device object."
System Package="FALSE"
Sub Package="FALSE"
License Agreement="FALSE"


[LabVIEW]
close labview before install="FALSE"
restart labview after install="FALSE"
skip mass compile after install="FALSE"


[Platform]
Exclusive_LabVIEW_Version="LabVIEW>=16.0"
Exclusive_LabVIEW_System="ALL"
Exclusive_OS="ALL"


[Script VIs]
PreInstall=""
PostInstall=""
PreUninstall=""
PostUninstall=""
Verify=""
PreBuild=""
PostBuild=""


[Dependencies]
AutoReqProv=FALSE
Requires="msr_consulting_llc_lib_general_reuse>=1.0.0.1"
Conflicts=""


[Activation]
License File=""
Licensed Library=""


[Files]
Num File Groups="3"
Sub-Packages=""
Namespaces=""


[File Group 0]
Target Dir="<application>"
Replace Mode="Always"
Num Files=34
File 0="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Change Setpoint.vi"
File 1="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Configurable Device.lvclass"
File 2="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Configure Config Session.vi"
File 3="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Configure Device.vi"
File 4="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Configure Log Session.vi"
File 5="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Correct Data.vi"
File 6="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Get Data.vi"
File 7="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Read com-session.vi"
File 8="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Read controller_.vi"
File 9="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Read Device Active_.vi"
File 10="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Read Handle.vi"
File 11="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Read ID.vi"
File 12="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Read Log Session.vi"
File 13="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Stop Device.vi"
File 14="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Write com-session.vi"
File 15="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Write Device Active_.vi"
File 16="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Write Handle.vi"
File 17="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Write ID.vi"
File 18="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Write Log Session.vi"
File 19="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Accessors/Read Addr.vi"
File 20="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Accessors/Read Cal Equation.vi"
File 21="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Accessors/Read Config Section.vi"
File 22="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Accessors/Read Device Type.vi"
File 23="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Accessors/Read label.vi"
File 24="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Accessors/Read Model.vi"
File 25="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Accessors/Read SN.vi"
File 26="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Accessors/Write Addr.vi"
File 27="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Accessors/Write Cal Equation.vi"
File 28="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Accessors/Write Config Section.vi"
File 29="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Accessors/Write controller_.vi"
File 30="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Accessors/Write label.vi"
File 31="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Accessors/Write Model.vi"
File 32="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Accessors/Write SN.vi"
File 33="vi.lib/MSR Consulting, LLC/Devices/Configurable Device/Accessors/Write Write Type.vi"


[File Group 1]
Target Dir="<menus>/Categories/MSR Consulting, LLC"
Replace Mode="Always"
Num Files=1
File 0="functions_MSR_Consulting_LLC_lib_ConfigurableDevice.mnu"


[File Group 2]
Target Dir="<menus>/Categories/MSR Consulting, LLC"
Replace Mode="If Newer"
Num Files=1
File 0="dir.mnu"
0 Kudos
Message 3 of 6
(2,932 Views)
Solution
Accepted by topic author cirrusio

ugh...figured this out. The VIs in the package in question were pointing to the dependencies in the local folder, not the package deployed to vi.lib.

Message 4 of 6
(2,926 Views)

Yup that can happen.  For me when I get those kinds of errors what I usually do is add all the VIs in my source to a temp project, then look at the file view, to see where the files on disk are that are being linked to.  If that looks fine and VIPM still fails to build I will start a binary search, where I basically eliminate half of the VIs from the build moving them to a folder just to see if the build works.  This helps me figure out what VIs are fine, and what ones are triggering the build to fail.

Message 5 of 6
(2,914 Views)

Yup...these are lessons that I am learning slowly with trial by error.  Lots and lots of errors.  There has to be a better way to do this...

0 Kudos
Message 6 of 6
(2,900 Views)