When attempting to build a VI package with an lvlib or lvlcass that declares a friend that is not preseent on disk in the expected location, thee build will fail with an Error 7 stating that there is a missing VI.
VIPM API_vipm_api.lvlib:Parse Build Return Message_vipm_api.vi<ERR>
Code:: 7
Source:: 7882C6B20F4F1734FAE5DD4402F323AA<ERR>
The following source VIs or Libraries are missing.
Please correct this problem before rebuilding.
SSL.vi
The following source VIs or Libraries are the callers of missing files
Lonely.lvlib
A dialog is shown stating that there is a missing dependency. The missing Friend VI.
Building with VIPM API
An Error 7 occurs stating that there is a missing VI.
Root Issue
The issue is that the VI Package source includes an lvlib or lvclass that declares a friend that does not actually exist on disk. This does not cause problems for the lvlib, since it's more of a rule that applies to allowing the friend to call community-scoped members of the lvlib that declares the friend. However, VIPM is considering this friend a dependency, when it should not.
Possible Workaround
Prior to building the VI package, put a dummy VI (blank VI) in the location on disk where the Friend VI is expected to be found. This can be done programmatically using using pre-build and post-build custom actions (before and after the package build) in the VI Package Build spec.
Overview
When attempting to build a VI package with an lvlib or lvlcass that declares a friend that is not preseent on disk in the expected location, thee build will fail with an Error 7 stating that there is a missing VI.
VIPM Versions Affected: 2021, 2022
OS'es Affected: All
Status: Not yet fixed
Test Case: tests/Issue_000009_build_package_with_missing_friend
Workaround: See below
Error Symptoms
Building with VI Package Builder UI
A dialog is shown stating that there is a missing dependency. The missing Friend VI.
Building with VIPM API
An Error 7 occurs stating that there is a missing VI.
Root Issue
The issue is that the VI Package source includes an lvlib or lvclass that declares a friend that does not actually exist on disk. This does not cause problems for the lvlib, since it's more of a rule that applies to allowing the friend to call community-scoped members of the lvlib that declares the friend. However, VIPM is considering this friend a dependency, when it should not.
Possible Workaround
Prior to building the VI package, put a dummy VI (blank VI) in the location on disk where the Friend VI is expected to be found. This can be done programmatically using using pre-build and post-build custom actions (before and after the package build) in the VI Package Build spec.