Neumann-A / my-vcpkg-triplets

my collection of vcpkg triplets
MIT License
70 stars 12 forks source link

x64-win-llvm-release Boost-Thread failure (manifest mode only) #15

Closed nickanthony-dgl closed 4 months ago

nickanthony-dgl commented 4 months ago

If I directly install Boost-Thread on the commandline (vcpkg.exe install boost-thread:x64-win-llvm-release --overlay-triplets=custom-triplets) then it works perfectly. However, I have a manifest that I am trying to install which has Boost-Thread as a transitive dependency and it fails.

install-x64-win-llvm-release-rel-out.log

Neumann-A commented 4 months ago

Do you have a baseline specified? The logs indicate that it is using the b2 build of boost and not the newly added cmake build. The triplets only support the cmake build. (b2 would require the overlay I deleted after the cmake build was merged.)

nickanthony-dgl commented 4 months ago

Yes, updating the baseline to a more recent version fixed it. Thanks for the help. Now I am running into an issue with configuring opencv4 with default-features disabled.

It looks like it is trying to find "flatbuffers", which isn't installed since it isn't a dependency when you don't use the default features. When I run the same manifest using a default triplet it doesn't ever try to find flatbuffers, so I'm not sure what is causing it to do it for this triplet.

config-x64-win-llvm-release-out.log

Neumann-A commented 4 months ago

You won't be able to compile opencv with clang 17 and clang 18 due to a bug in LLVM.

I couldn't see any error in the attached config log and no hint to flatbuffers.

nickanthony-dgl commented 4 months ago

My apologies, that was a log from building with default features. Here is without: config-x64-win-llvm-release-out.log

After finding ZLIB, it then looks for flatbuffers, which aren't installed since they shouldn't be needed.

Actually, I just removed the version that I had installed with the default triplet and tried reinstalling. The same issue happens, so I guess this is a problem with the port and not with the triplet. I will open an issue on the main vcpkg repository.

nickanthony-dgl commented 4 months ago

You won't be able to compile opencv with clang 17 and clang 18 due to a bug in LLVM.

In this case should I add "opencv4" to the list here?: https://github.com/Neumann-A/my-vcpkg-triplets/blob/e5f3f2d06430fa475feccbb34a5d61023807b854/x64-win-llvm/port_specialization.cmake#L10

Neumann-A commented 4 months ago

You can do that to temporarily switch to MSVC cl if you want. I am not going to do it since 16 and 19 will work fine.