01-27-2025 08:48 AM - edited 01-27-2025 08:55 AM
If I had enough hair to pull, I would have been doing so over the past 8 working hours over this seemingly new error. Has anyone ever seen this before?
So we have a packed library project that contains a bunch of functions for transactions with our database. We add this .lvlibp to any machine project that needs database functionality. We've been using the same project for years through several LabVIEW versions (2015, 2018, 2020, and 2024) with minor changes here and there and no issues ever. Apparently, the entire time, the .lvproj project file and the .lvlibp built library file had slightly different names: CVGdbFunctions.lvproj and CVGDBFunctions.lvlibp. Notice the different cases of "DB". Never seemed to matter before...until now.
I had to make minor tweak which involved upgrading it from 2020 to 2024, and the simple act of building it (even without any changes at all to any VI) broke everything. When the .lvlibp was copied to the machine project, it created a conflict because instead of looking for the member VI's inside the packed library in the machine project's directory (usually something like "repositories\Machine\source\lib\CVGDBFunctions.lvlibp"), it was looking for the VI's in the original build file in the CVGdbFunctions project directory ("repositories\CVGdbFunctions\builds\CVGdbFunctions.lvlibp" (capitalization of the build it's looking for unclear)). Simply renaming the project the same as the build's target filename or vice versa so that they agree made everything work again.
This took forever to realize because all LV was giving me was irresolvable conflicts and inexplicable references to the original library build directory instead of the copy of the library included in the machine's project directory. I guess the moral of the story is if you're banging your head about sudden inexplicable conflicts, check the names very closely! Though that doesn't even really make sense, because why would there be a "Target filename" field at all if it has to be the same as the project, which actually, it doesn't? Is it just a problem if they have the exact same names except for capitalization? Ok, I thought I had this figured out, but I'm still confused.