LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

visarc problem in source distribution

Solved!
Go to solution

I am trying to build a source distribution out of a project in LabVIEW 8.6.1.  I need to build the source distribution so that I can password protect all VI's in the project (about 1200).  When I try to build the source distribution I get the following error message.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 As you can see the source file does not exist because the path: C:\Documents and Settings\Program Files\National Instruments...  does not exist.  So I created that path and put the visarc file where LabVIEW thinks it should be.  When I try to build the source distribution with the fake path I get the following error message:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Once again the following path does not exist:  Program Files:\Nationa lnstruments\LabVIEW 8.6...

 

I dont know how to create this fake path because it seems to be treating Program Files as its own Hard Drive.  

 

The next thing I did was reinstall DAQmx 8.9 as it is the name of the file is visarc, I dont know that it is connected to DAQmx but the visarc makes me think it could be.  Reinstalling DAQmx does not solve this error.  

 

I should also add that I was able to build a source distribution just fine three weeks ago.  In the last three weeks the code has been worked on by myself and two other developers.  I had seen problems with the other developers linking dll's from their desktop to vi's in the library and when I pulled it back on to my machine I was unable to build a source distribution because their dll's were at a different file path.  I resolved that issue by relinking each subVI to the dll in the correct path.  Could this be a similar problem where one of the other developers has visarc stored at C:\Documents and Settins\Program Files... and I just need to relink the visarc file?  I don't think so because I don't think "relink the visarc file" makes since.  I am open to any and all feedback.

 

Thanks!

 

 

Message Edited by jmcbee on 04-15-2009 08:47 AM
Download All
0 Kudos
Message 1 of 6
(6,112 Views)
Solution
Accepted by topic author jon_mcbee

Here is a solution provided by an AE:

 

Hi Jon,

Here is the information that should help you solve the error you are seeing

LabVIEW VIs point to rc files that are not located in the vi.lib.  This means that if you move the VI on disk (up a folder, down a folder, some other drive) then the path it stored to the rc file (relative path) is no longer correct.  The application builder will recognize that the rc file will have two different paths (one that is correct, and one that is not).
Once two different paths are recognized the source distributions will not build successfully.  To correct this behavior follow these steps:
1.    If you have any previous LabVIEW versions installed temporarily
rename their resource folders.  The resource directories can be in the labview\resource directory.
2.    Add massCompAll=True in the LabVIEW.ini file of the LabVIEW version
being used.  The file can be found in labview\LabVIEW.ini.  LabVIEW should be closed when editing the LabVIEW.ini file.
3.    Launch LabVIEW, and mass compile the project, then try the build.
4.    Exit LabVIEW, and fix any renamed resource folders back to their
original names.
5.    Remove the massCompAll=True token from the LabVIEW.ini file once the
mass compile has finished.
Note: The renaming of the resource folders of older LabVIEW versions is critical as the token set otherwise has a chance of causing the vi.lib's of different versions of LabVIEW to be cross-linked

Meghan
Applications Engineer
National Instruments
 

Message 2 of 6
(6,106 Views)

Hi,

 

I am getting a very similar problem. I'm trying to do a source distribution of a project that contains some lvlib's. One of these lvlib's contains visa vi's for serial communication. 

 

When I attempt to perform a source build, I get exactly the same problem except that before the failure about not being able to find visarc in the bogus path, I get warning about...

 

"LabVIEW prevented a file name collision during the build. Duplicate file names cannot be copied to the same destination. You can rename files as part of the build process to avoid name conflicts.

The following files were moved to a unique location:

C:\my_perforce_workspace\Program Files\National Instruments\LabVIEW 8.6\resource\visarc
C:\Program Files\National Instruments\LabVIEW 8.6\resource\visarc"

 

 

I tried to fix this with the mass-compile trick above, but it doesn't work for me (I have 6.1, 7.1 and 8.6.1 installed). 

 

Can someone help me find the cause and solution here? I only get this error when I include vi's that call visa vi's and even if I include the containing lvlib with no vi's. I don't recall _ever_ moving any visa vi's out of their usual path. 

 

 

0 Kudos
Message 3 of 6
(5,786 Views)

Ok,

 

I did find another thing to fix this:

 

I installed ni-visa full from scratch. I upgraded to ni-visa 4.5, but I think it might have also worked if I had reinstalled ni-visa 4.4.1.

 

Hope this helps anyone that comes across this problem. Anybody know how this happens?

0 Kudos
Message 4 of 6
(5,778 Views)

I have exactly the same problem, do not have a solution but maybe the following helps.

 

The daqmc.rc file is being referenced using a relative path using "../" references to get from where the VI was generated to the correct location.  If you move your source distribution one folder upwards within the filesystem hierarchy then you should find it builds OK (because the stored relative pathwould then be OK).

 

In my case, there is also another (strange) workaround.  If I open one of the VIs in the project then the daqmx.rc file magically appears in the Dependencies section of the project explorer.  Doing the build with that file open is successful, closing it again makes the build fail.  This is either an intentional feature of LabVIEW or simply a bug.

 

Hope that helps,

... Gary

0 Kudos
Message 5 of 6
(5,196 Views)
I think you will find this KB helpful: Name Collision Occurs When Building My LabVIEW Executable
Jeff | LabVIEW Software Engineer
0 Kudos
Message 6 of 6
(5,167 Views)