-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How do I handle build tools artifacts? #13649
Comments
is the autoconf script using pkg-config? If so the pkg-config file needs correction. Otherwise patch the *.ac file |
@Neumann-A I traced the libassuan's Yes, I can patch the EDIT: I think I ended up fixing it via right combination of ./configure switches, but still think it would be preferential if build tools went into |
Was this issue resolved? |
Well, for the most part I did workaround my issues. However, the current solution where Why is there a need for |
@wrobelda As you might guess, we use tools/port/bin to avoid binary conflicts. |
@JackBoosY I still think it creates more problems than it solves. You already have guidelines for maintainers on handling any Moreover, would any tools in the ports currently in the repo even have any conflicts? It wouldn't be hard to test it. EDIT: just to add to my argument on conflicts: a typical Linux distribution comes with orders of magnitude more packages and still successfully allows to install them all into |
Replied by @ras0219-msft in #17607 (comment):
|
There's absolutely no trace of any documentation on how are binary artifacts supposed to be handled by the maintainers and to what extent vcpkg does that automatically.
For example, I am working on a cmake-less port for GPG libraries that use autoconf. The library in speech, libgpg-error builds a bunch of build tools that are in turn required by libassuan. Now:
vcpkg_installed/x64-osx/tools/libgpg-error/bin
. But since they're being copied automatically, what's the purpose ofvcpkg_copy_tools()
andvcpkg_copy_tool_dependencies()
?find_program
, eg. Qt infind_program(QMAKE_COMMAND NAMES qmake PATHS ${VCPKG_QT_HOST_TOOLS_ROOT_DIR}/bin ${_triplet_hostbindir} NO_DEFAULT_PATH)
--with-libgpg-error-prefix=${CURRENT_INSTALLED_DIR}
makes autoconf correctly pick upvcpkg_installed
root, but it still fails because it expects to find the tool atbin/gpg-error-config
, while it's intools\bin/gpg-error-config
--with-libgpg-error-prefix=${MY_TOOL_LOCATION)
?--with-prefix=${CURRENT_INSTALLED_DIR}/tools
option, which would imply that executables are meant to be copied totools\bin
. So why does vcpkg copy them automatically totools\portname\bin
?$PATH
(via CMAKE_PROGRAM_PATH)?It's been previously requested that some additional documentation was added.
It is extremely frustrating that one has to spend 2-4 hours only grepping through the port files, commits history and other issues and still no be able to understand something that is fundamentally at core of this project and should be a part of the guidelines.
EDIT: also touched/discussed/requested here, here, and here, and likely many others. Some of them are 2 y/o, some are getting closed without resolution.
The text was updated successfully, but these errors were encountered: