Vcpkg: should vcpkg have interoperability with other pkg managers?

Created on 23 Feb 2020  路  3Comments  路  Source: microsoft/vcpkg

external dependency to "install" boost (boost-python) required: numpy, failed

I have just look around a little in some other issues, 1 here for eg:
https://github.com/microsoft/vcpkg/issues/78

nothing about to clarify my "user" thought about vcpkg:

Should not vcpkg, doing some other "meta-pacakage" management too? for eg, like in this case, numpy lib is required to install boost-python, should not just install numpy too?


to reproduce this issue, was simply (almost) clean fedora31 install "for development", and just have tried out ./vcpkg install boost and failed with:

Starting package 123/146: boost-python:x64-linux
Building package boost-python[core]:x64-linux...
-- Downloading https://github.com/boostorg/python/archive/boost-1.72.0.tar.gz...
-- Extracting source /home/raffa/vcpkg/downloads/boostorg-python-boost-1.72.0.tar.gz
-- Using source at /home/raffa/vcpkg/buildtrees/boost-python/src/ost-1.72.0-c6a2496f74
-- Configuring x64-linux-dbg
-- Configuring x64-linux-rel
-- Building x64-linux-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:136 (message):
    Command failed: /home/raffa/vcpkg/downloads/tools/cmake-3.14.0-linux/cmake-3.14.0-Linux-x86_64/bin/cmake --build . --config Debug --target install -- -v
    Working Directory: /home/raffa/vcpkg/buildtrees/boost-python/x64-linux-dbg
    See logs for more information:
      /home/raffa/vcpkg/buildtrees/boost-python/install-x64-linux-dbg-out.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_build_cmake.cmake:91 (vcpkg_execute_build_process)
  scripts/cmake/vcpkg_install_cmake.cmake:24 (vcpkg_build_cmake)
  installed/x64-linux/share/boost-build/boost-modular-build.cmake:90 (vcpkg_install_cmake)
  ports/boost-python/portfile.cmake:19 (boost_modular_build)
  scripts/ports.cmake:90 (include)


Error: Building package boost-python:x64-linux failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: boost-python:x64-linux
  Vcpkg version: 2020.02.04-unknownhash

Additionally, attach any relevant sections from the log files above.

etc...

looking at the log mentioned:

ModuleNotFoundError: No module named 'numpy'

so refining my question: is the goal of vcpkg simplify dep.mang. and make them just work, as well taking care of these "external-dependencies"?
(trigger the installation of those with some interoperability with other package management too?, in this case with "pip" i guess?)

question

All 3 comments

We have up till now not opened this can of worms because many of the package managers one might expect to provide these external dependencies (a) make system-wide edits, and/or (b) require elevated permissions (e.g. sudo) in order to do anything.

The error message could certainly be made clearer. I tagged requires:discussion so that we discuss whether a more concrete feature needs to be added here but I suspect the right answer is merely to improve the error message when we run into such cases. (That's the precedent we've been following elsewhere anyway: we value 'perfect automation'; that is, never prompting the user and waiting for input, over being able to resolve everything)

Just confirming what I described above: the way we handle binary dependencies like this is to direct the user to install the right thing on their system:

image

Are you reporting a specific bug with the boost-python port not including a similar message?

We hope your question was answered to your satisfaction; if it wasn't, you can reopen with more info.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

PhilLab picture PhilLab  路  3Comments

husseinalihazime picture husseinalihazime  路  3Comments

pakdel picture pakdel  路  3Comments

ThinkalVB picture ThinkalVB  路  3Comments

invy picture invy  路  3Comments