Replies: 8 comments
-
Simply copying should work |
Beta Was this translation helpful? Give feedback.
-
According to our docs, you have 2 ways: |
Beta Was this translation helpful? Give feedback.
-
Thanks @JackBoosY I hadn't realised the files were stable to simply copy around the way hashing was performed. That seems easy though a small shame you cannot AFAIK 'regenerate' your cache in a new location. e.g. I've been using the default file location, then changed it after half the ports were built so I have some things in each location. I will simply rationalise them to a single location. Maybe when everything is tested I'll wipe vcpkg and rebuild totally from scratch overnight :) |
Beta Was this translation helpful? Give feedback.
-
Well that didn't work. I copied everything over to my local machine, but when I passed this path to
My thought was the hashing must be different for some reason. In the docs (https://vcpkg.readthedocs.io/en/stable/users/binarycaching/#implementation-notes-internal-details-subject-to-change-without-notice) it says how hashes are generated. I let the first project build (abseil) and compared the file "vcpkg_abi_info.txt" between the two locations. They are identical except for: triplet_abi 4469e2d62e620868b79d43cf03f77b457f92f26a9a98a023681335b3d118e902-b569c9954a47274946415ff01b1a344c8549f3fc19cb931d50bc09d1e5630c1d-78c2c298802bb1bd9f53cf1ccebfe314ca591206 edit: see next comment |
Beta Was this translation helpful? Give feedback.
-
I tried to search for "triplet_abi" and couldn't find it in code, but did find a similar discussion in #16615 about a different part of this field.
I have VS2019 installed on both machines so how can I check what compiler info it is hashing? |
Beta Was this translation helpful? Give feedback.
-
@jdx-john Maybe the two vcpkg are different. |
Beta Was this translation helpful? Give feedback.
-
I checked that. I updated both machines to have the newest VS and it was resolved but it doesn't answer the question where and how the check is done. So the question is, does it consider the full VS version or does it allow any variance? This discussion was had in #16615 too about minor differences in CMake/PWSH version but I don't know the resolution. Is this worth splitting off as a separate issue since my main query is now resolved @JackBoosY ? |
Beta Was this translation helpful? Give feedback.
-
I prefer @ras0219-msft to answer this part. |
Beta Was this translation helpful? Give feedback.
-
Thanks to help here, I have now successfully enabled binary-caching (#19380) and it looks great.
However, I had already built most of my ports without it. When I re-ran
vcpkg install
for every port/triplet we use and passed--binarysource=files,c:\vcpkg_cache,readwrite
only the ones which got built appear there. All those which were already built did not. We have ~250 of these in total and it takes about 4 hours to do a clean build, so I'm hoping there is some way to avoid that?I do have all the default caching in
%LOCALAPPDATA%\vcpkg\archives
is there maybe a command to migrate them, or could I even copy these archives over?Beta Was this translation helpful? Give feedback.
All reactions