Closed Aneutronic closed 3 years ago
Hi @Aneutronic
Thanks for posting this issue.
Could you please try to update vcpkg to the latest commit via git pull
and run bootstrap-vcpkg.bat
, then rebuild these ports?
I tried that originally, and it didn't fix anything, @NancyLi1013 . I just did that again, and tried the command, and it still didn't work. This time, the library yajl wouldn't build, either.
For boost-signals
, it doesn't exist in vcpkg now. I don't know why you encountered this problem.
Does K:\Bulk_Program_Files\vcpkg\ports\boost-signals
exist on your machine?
Could you please also provide the information after you run git pull
and ./vcpkg install xxx
?
@NancyLi1013 No, the directory K:\Bulk_Program_Files\vcpkg\ports\boost-signals
does not exist on my machine, although I did install the library before it was removed from vcpkg, and that directory does still exist on my machine.
I already provided the vcpkg output from after I ran git pull
and ./vcpkg install xxx
. They are in my original post.
Thanks for your reply. Could you please try to create a new vcpkg repo to rebuild? Or are there any changes on your machine manually?
When I created a new repository on my local machine and tried to rebuild rapidjson from there, I ran into no issues. I have no other manual changes made to my normal vcpkg repo. I feel like this issue is worth exploring, still, instead of just saying, "well, don't use that other repo"/"just uninstall boost-signals, and you are good." boost-signals has nothing to do with the libraries I was trying to install, yet vcpkg checked for it and threw an error anyway. That to me sounds like a bug.
@Aneutronic
Could you please help provide the output after run ./vcpkg install xxx --debug
?
The output after running ./vcpkg install taocpp-json:x64-windows --debug
in the original vcpkg directory is this:
[DEBUG] Feature flag 'binarycaching' unset [DEBUG] Feature flag 'manifests' unset [DEBUG] Feature flag 'compilertracking' unset [DEBUG] Feature flag 'registries' unset [DEBUG] Feature flag 'versions' unset [DEBUG] BuiltinRegistry initialized with: "" [DEBUG] Using vcpkg-root: K:\Bulk_Program_Files\vcpkg [DEBUG] Using installed-root: K:\Bulk_Program_Files\vcpkg\installed [DEBUG] BuiltinRegistry initialized with: "" [DEBUG] Using buildtrees-root: K:\Bulk_Program_Files\vcpkg\buildtrees [DEBUG] Using downloads-root: K:\Bulk_Program_Files\vcpkg\downloads [DEBUG] Using packages-root: K:\Bulk_Program_Files\vcpkg\packages [DEBUG] Using scripts-root: K:\Bulk_Program_Files\vcpkg\scripts [DEBUG] Using ports-root: K:\Bulk_Program_Files\vcpkg\ports [DEBUG] Using versions-root: K:\Bulk_Program_Files\vcpkg\versions [DEBUG] Default binary cache path is: C:\Users\Me\AppData\Local\vcpkg\archives Computing installation plan... Error: while loading boost-signals: The port directory (K:\Bulk_Program_Files\vcpkg\ports\boost-signals) does not exist Error: failed to load port from K:\Bulk_Program_Files\vcpkg\ports\boost-signals Note: Updating vcpkg by rerunning bootstrap-vcpkg may resolve this failure. [DEBUG] C:\A\1\60\s\src\vcpkg\registries.cpp(438) [DEBUG] Exiting after 1546907 us (1546849 us)
Just in case it is useful, here is the result of ./vcpkg list
inside my original, problematic vcpkg repo:
atlmfc:x64-windows 0 a stub package that ensures VS has ATL/MFC insta... blas:x64-windows 1 Metapackage for packages which provide BLAS blosc:x64-windows 1.18.1-1 A blocking, shuffling and loss-less compression ... boost-accumulators:x64-windows 1.74.0 Boost accumulators module boost-algorithm:x64-windows 1.74.0 Boost algorithm module boost-align:x64-windows 1.74.0 Boost align module boost-any:x64-windows 1.74.0 Boost any module boost-array:x64-windows 1.74.0 Boost array module boost-asio:x64-windows 1.74.0 Boost asio module boost-assert:x64-windows 1.74.0 Boost assert module boost-assert:x86-windows 1.74.0 Boost assert module boost-assign:x64-windows 1.74.0 Boost assign module boost-atomic:x64-windows 1.74.0 Boost atomic module boost-beast:x64-windows 1.74.0 Boost beast module boost-bimap:x64-windows 1.74.0 Boost bimap module boost-bind:x64-windows 1.74.0 Boost bind module boost-build:x64-windows 1.74.0 Boost.Build boost-callable-traits:x64-windows 1.74.0 Boost callable_traits module boost-chrono:x64-windows 1.74.0 Boost chrono module boost-circular-buffer:x64-windows 1.74.0 Boost circular_buffer module boost-compatibility:x64-windows 1.74.0 Boost compatibility module boost-compatibility:x86-windows 1.74.0 Boost compatibility module boost-compute:x64-windows 1.74.0 Boost compute module boost-concept-check:x64-windows 1.74.0 Boost concept_check module boost-config:x64-windows 1.74.0 Boost config module boost-config:x86-windows 1.74.0 Boost config module boost-container-hash:x64-windows 1.74.0 Boost container_hash module boost-container:x64-windows 1.74.0 Boost container module boost-context:x64-windows 1.74.0 Boost context module boost-contract:x64-windows 1.74.0 Boost contract module boost-conversion:x64-windows 1.74.0 Boost conversion module boost-convert:x64-windows 1.74.0 Boost convert module boost-core:x64-windows 1.74.0 Boost core module boost-coroutine2:x64-windows 1.74.0 Boost coroutine2 module boost-coroutine:x64-windows 1.74.0 Boost coroutine module boost-crc:x64-windows 1.74.0 Boost crc module boost-date-time:x64-windows 1.74.0 Boost date_time module boost-detail:x64-windows 1.74.0 Boost detail module boost-dll:x64-windows 1.74.0 Boost dll module boost-dynamic-bitset:x64-windows 1.74.0 Boost dynamic_bitset module boost-endian:x64-windows 1.74.0 Boost endian module boost-exception:x64-windows 1.74.0 Boost exception module boost-fiber:x64-windows 1.74.0 Boost fiber module boost-filesystem:x64-windows 1.74.0 Boost filesystem module boost-flyweight:x64-windows 1.74.0 Boost flyweight module boost-foreach:x64-windows 1.74.0 Boost foreach module boost-format:x64-windows 1.74.0 Boost format module boost-function-types:x64-windows 1.74.0 Boost function_types module boost-function:x64-windows 1.74.0 Boost function module boost-functional:x64-windows 1.74.0 Boost functional module boost-fusion:x64-windows 1.74.0 Boost fusion module boost-geometry:x64-windows 1.74.0 Boost geometry module boost-gil:x64-windows 1.74.0 Boost gil module boost-graph-parallel:x64-windows 1.74.0 Boost graph_parallel module boost-graph:x64-windows 1.74.0 Boost graph module boost-hana:x64-windows 1.74.0 Boost hana module boost-heap:x64-windows 1.74.0 Boost heap module boost-histogram:x64-windows 1.74.0 Boost histogram module boost-hof:x64-windows 1.74.0 Boost hof module boost-icl:x64-windows 1.74.0 Boost icl module boost-integer:x64-windows 1.74.0 Boost integer module boost-interprocess:x64-windows 1.74.0 Boost interprocess module boost-interval:x64-windows 1.74.0 Boost interval module boost-intrusive:x64-windows 1.74.0 Boost intrusive module boost-io:x64-windows 1.74.0 Boost io module boost-iostreams:x64-windows 1.74.0 Boost iostreams module boost-iterator:x64-windows 1.74.0 Boost iterator module boost-lambda:x64-windows 1.74.0 Boost lambda module boost-lexical-cast:x64-windows 1.74.0 Boost lexical_cast module boost-local-function:x64-windows 1.74.0 Boost local_function module boost-locale:x64-windows 1.74.0#3 Boost locale module boost-lockfree:x64-windows 1.74.0 Boost lockfree module boost-log:x64-windows 1.74.0 Boost log module boost-logic:x64-windows 1.74.0 Boost logic module boost-math:x64-windows 1.74.0 Boost math module boost-metaparse:x64-windows 1.74.0 Boost metaparse module boost-modular-build-helper:x64-windows 1.74.0#2 boost-move:x64-windows 1.74.0 Boost move module boost-mp11:x64-windows 1.74.0 Boost mp11 module boost-mpl:x64-windows 1.74.0 Boost mpl module boost-msm:x64-windows 1.74.0 Boost msm module boost-multi-array:x64-windows 1.74.0 Boost multi_array module boost-multi-index:x64-windows 1.74.0 Boost multi_index module boost-multiprecision:x64-windows 1.74.0 Boost multiprecision module boost-nowide:x64-windows 1.74.0 Boost nowide module boost-numeric-conversion:x64-windows 1.74.0 Boost numeric_conversion module boost-odeint:x64-windows 1.74.0 Boost odeint module boost-optional:x64-windows 1.74.0 Boost optional module boost-outcome:x64-windows 1.74.0 Boost outcome module boost-parameter-python:x64-windows 1.74.0 Boost parameter_python module boost-parameter:x64-windows 1.74.0 Boost parameter module boost-phoenix:x64-windows 1.74.0 Boost phoenix module boost-poly-collection:x64-windows 1.74.0 Boost poly_collection module boost-polygon:x64-windows 1.74.0 Boost polygon module boost-pool:x64-windows 1.74.0 Boost pool module boost-predef:x64-windows 1.74.0 Boost predef module boost-preprocessor:x64-windows 1.74.0 Boost preprocessor module boost-process:x64-windows 1.74.0 Boost process module boost-program-options:x64-windows 1.74.0 Boost program_options module boost-property-map:x64-windows 1.74.0 Boost property_map module boost-property-tree:x64-windows 1.74.0 Boost property_tree module boost-proto:x64-windows 1.74.0 Boost proto module boost-ptr-container:x64-windows 1.74.0 Boost ptr_container module boost-python:x64-windows 1.74.0 Boost python module boost-qvm:x64-windows 1.74.0 Boost qvm module boost-random:x64-windows 1.74.0 Boost random module boost-range:x64-windows 1.74.0 Boost range module boost-ratio:x64-windows 1.74.0 Boost ratio module boost-rational:x64-windows 1.74.0 Boost rational module boost-regex:x64-windows 1.74.0 Boost regex module boost-safe-numerics:x64-windows 1.74.0 Boost safe_numerics module boost-scope-exit:x64-windows 1.74.0 Boost scope_exit module boost-serialization:x64-windows 1.74.0 Boost serialization module boost-signals2:x64-windows 1.74.0 Boost signals2 module boost-signals:x64-windows 1.68.0-1 Boost signals module boost-smart-ptr:x64-windows 1.74.0 Boost smart_ptr module boost-sort:x64-windows 1.74.0 Boost sort module boost-spirit:x64-windows 1.74.0 Boost spirit module boost-stacktrace:x64-windows 1.74.0 Boost stacktrace module boost-statechart:x64-windows 1.74.0 Boost statechart module boost-static-assert:x64-windows 1.74.0 Boost static_assert module boost-static-string:x64-windows 1.74.0 Boost static_string module boost-stl-interfaces:x64-windows 1.74.0 Boost stl_interfaces module boost-system:x64-windows 1.74.0 Boost system module boost-test:x64-windows 1.74.0 Boost test module boost-thread:x64-windows 1.74.0 Boost thread module boost-throw-exception:x64-windows 1.74.0 Boost throw_exception module boost-timer:x64-windows 1.74.0 Boost timer module boost-tokenizer:x64-windows 1.74.0 Boost tokenizer module boost-tti:x64-windows 1.74.0 Boost tti module boost-tuple:x64-windows 1.74.0 Boost tuple module boost-type-erasure:x64-windows 1.74.0 Boost type_erasure module boost-type-index:x64-windows 1.74.0 Boost type_index module boost-type-traits:x64-windows 1.74.0 Boost type_traits module boost-typeof:x64-windows 1.74.0 Boost typeof module boost-ublas:x64-windows 1.74.0 Boost ublas module boost-uninstall:x64-windows 1.74.0 boost uninstall port boost-uninstall:x64-windows-static 1.74.0 boost uninstall port boost-uninstall:x86-windows 1.74.0 boost uninstall port boost-units:x64-windows 1.74.0 Boost units module boost-unordered:x64-windows 1.74.0 Boost unordered module boost-utility:x64-windows 1.74.0 Boost utility module boost-uuid:x64-windows 1.74.0 Boost uuid module boost-variant2:x64-windows 1.74.0 Boost variant2 module boost-variant:x64-windows 1.74.0 Boost variant module boost-vcpkg-helpers:x64-windows 7#2 a set of vcpkg-internal scripts used to modulari... boost-vcpkg-helpers:x64-windows-static 7#2 a set of vcpkg-internal scripts used to modulari... boost-vcpkg-helpers:x86-windows 7#2 a set of vcpkg-internal scripts used to modulari... boost-vmd:x64-windows 1.74.0 Boost vmd module boost-wave:x64-windows 1.74.0 Boost wave module boost-winapi:x64-windows 1.74.0 Boost winapi module boost-xpressive:x64-windows 1.74.0 Boost xpressive module boost-yap:x64-windows 1.74.0 Boost yap module boost:x64-windows 1.74.0 Peer-reviewed portable C++ source libraries brotli:x64-windows 1.0.9 a generic-purpose lossless compression algorithm... bzip2:x64-windows 1.0.8#1 bzip2 is a freely available, patent free, high-q... clapack:x64-windows 3.2.1#16 CLAPACK (f2c'ed version of LAPACK) constexpr:x64-windows 1.0-1 Small MIT License Library of general stdlib func... date:x64-windows 3.0.0#1 A date and time library based on the C++17 <chro... eabase:x64-windows 2.09.12-1 Electronic Arts Base. EABase is a small set of h... eastl:x64-windows 3.17.03 Electronic Arts Standard Template Library. It is... egl-registry:x64-windows 2020-02-20 the EGL API and Extension Registry expat:x64-windows 2020-08-18 XML parser library written in C fastlz:x64-windows 1.0-3 A lightning-fast lossless compression library fftw3:x64-windows 3.3.8-7 FFTW is a C subroutine library for computing the... fmt:x64-windows 7.1.3 Formatting library for C++. It can be used as a ... geographiclib:x64-windows 1.51 GeographicLib, a C++ library for performing geog... glew:x64-windows 2.1.0#9 The OpenGL Extension Wrangler Library (GLEW) is ... glslang:x64-windows 2019-03-05-1 Khronos reference front-end for GLSL and ESSL, a... hpx:x64-windows 1.5.1#1 The C++ Standards Library for Concurrency and Pa... hwloc:x64-windows 2.2.0 Portable Hardware Locality (hwloc) libffi:x64-windows 3.3#6 Portable, high level programming interface to va... libjpeg-turbo:x64-windows 2.0.5#1 libjpeg-turbo is a JPEG image codec that uses SI... liblzma:x64-windows 5.2.5#2 Compression library with an API similar to that ... libmad:x64-windows 0.15.1-8 high-quality MPEG audio decoder libogg:x64-windows 1.3.4#3 Ogg is a multimedia container format, and the na... libpng:x64-windows 1.6.37#14 libpng is a library implementing an interface fo... libtheora:x64-windows 1.2.0alpha1-2... Theora is a free and open video compression form... lz4:x64-windows 1.9.2-2 Lossless compression algorithm, providing compre... lzo:x64-windows 2.10-5 Lossless data compression library mpg123:x64-windows 1.26.3 mpg123 is a real time MPEG 1.0/2.0/2.5 audio pla... ms-gsl:x64-windows 3.1.0 Microsoft implementation of the Guidelines Suppo... openal-soft:x64-windows 1.20.1#5 OpenAL Soft is an LGPL-licensed, cross-platform,... openblas:x64-windows 0.3.10 OpenBLAS is an optimized BLAS library based on G... opengl-registry:x64-windows 2020-03-25 the API and Extension registries for the OpenGL ... opengl:x64-windows 0.0#8 Open Graphics Library (OpenGL)[3][4][5] is a cro... openssl-windows:x64-windows 1.1.1h#1 Deprecated OpenSSL port openssl:x64-windows 1.1.1h#4 OpenSSL is an open source project that provides ... opus:x64-windows 1.3.1#5 Totally open, royalty-free, highly versatile aud... pngpp:x64-windows 0.2.10 A C++ wrapper for libpng library. pthreads:x64-windows 3.0.0-6 pthreads for windows python3:x64-windows 3.9.0#1 The Python programming language sdl2-gfx:x64-windows 1.0.4#7 Graphics primitives (line, circle, rectangle etc... sdl2-image:x64-windows 2.0.5#1 SDL_image is an image file loading library. It l... sdl2-image[libjpeg-turbo]:x64-windows Support for JPEG image format sdl2:x64-windows 2.0.12#8 Simple DirectMedia Layer is a cross-platform dev... sdl2[vulkan]:x64-windows Vulkan functionality for SDL snappy:x64-windows 1.1.8 A fast compressor/decompressor. speex:x64-windows 1.2.0#7 Speex is an Open Source/Free Software patent-fre... sqlite3:x64-windows 3.33.0 SQLite is a software library that implements a s... tinyxml2:x64-windows-static 8.0.0-1 A simple, small, efficient, C++ XML parser tinyxml:x64-windows 2.6.2-7 A simple, small, minimal, C++ XML parser that ca... tinyxml:x64-windows-static 2.6.2-7 A simple, small, minimal, C++ XML parser that ca... vulkan:x64-windows 1.1.82.1-1 A graphics and compute API that provides high-ef... xxhash:x64-windows 0.8.0#1 Extremely fast hash algorithm yasm-tool-helper:x64-windows 2020-10-12 This port provides helper functions for ports ne... yasm-tool:x86-windows 2020-10-12 A modular assembler. This port is intended to bu... zlib:x64-windows 1.2.11#9 A compression library zstd:x64-windows 1.4.5#1 Zstandard - Fast real-time compression algorithm
Seems you installed boost-signals
on your machine before this.
boost-signals:x64-windows 1.68.0-1 Boost signals module
Could you please try to run ./vcpkg remove boost-signals
and then rerun ./vcpkg install taocpp-json:x64-windows --debug
?
I don't want to uninstall boost-signals until I know why it is preventing the installation of a completely unrelated package. I have inspected the other ports I tried to install. I know they do not use boost-signals. The presence of the boost-signals library should not prevent other libraries from being installed. I know I could work around the issue by simply uninstalling boost-signals. If my goal was to simply install taocpp-json, I would have done that. I am not trying to install a library; I am trying to help fix a subtle bug in the vcpkg code that is affecting my use of the software.
I am willing to dive into the actual vcpkg source code to try and diagnose this bug myself, if you are not willing to or would like me to. I am simply unfamiliar with the code, and it will take me a while to familiarize myself with it enough to be able to figure out why vcpkg is checking for the presence of unrelated libraries when trying to install new ones.
Host Environment
To Reproduce
./vcpkg install rapidjson:x64-windows
or./vcpkg install taocpp-json:x64-windows
or./vcpkg install boost-json:x64-windows
or./vcpkg install boost-signals2:x64-windows
Failure logs The failure message for all of the ports above are exactly the same:
Additional context I believe the issue is rooted in the removal of the boost-signals library, (as opposed to the boost-signals2 library, which still exists in vcpkg.)
Checking out the tagged commit "2020.11-1", then rerunning the command
./vcpkg install rapidjson:x64-windows
changes the error message to the following: