Skip to content

Skip rarely needed maintainer tools when not available#17406

Closed
dg0yt wants to merge 1 commit intomicrosoft:masterfrom
dg0yt:skip-some-autotools
Closed

Skip rarely needed maintainer tools when not available#17406
dg0yt wants to merge 1 commit intomicrosoft:masterfrom
dg0yt:skip-some-autotools

Conversation

@dg0yt
Copy link
Copy Markdown
Contributor

@dg0yt dg0yt commented Apr 21, 2021

This is a third alternative (after #17227/#17278 (CI provisioning) and #17317 (lightweight feature)) to solve the problem of missing maintainer tools autopoint, gtkdocize.
This is the fastest solution for vcpkg ports which don't really need to update to these parts of the build systems. It solves the issue both for CI and for vcpkg users.
The tools are still used when provided by environment variables (set by the portfile or toolchain file), found in the host system, or of found in matching vcpkg tools directories.


@JackBoosY JackBoosY requested a review from strega-nil April 21, 2021 09:48
@JackBoosY JackBoosY added category:tool-update The issue is with build tool or build script, which requires update or should be executed correctly requires:discussion labels Apr 21, 2021
@JackBoosY
Copy link
Copy Markdown
Contributor

cc @Neumann-A for review this PR.

@dg0yt
Copy link
Copy Markdown
Contributor Author

dg0yt commented Apr 22, 2021

  • atk:x64-windows: Download error, unrelated

  • libmicrohttpd:x64-osx: Linker error, unrelated, except that both this PR and the error are related to the gettext port.

    Undefined symbols for architecture x86_64:
     "_CFArrayGetCount", referenced from:
         _add_system_trust in libgnutls.a(certs.o)
         __nl_language_preferences_default in libintl.a(langprefs.o)
    

    I assume that the missing symbol is in some CoreF... library, and a dependency is not properly carried. From config.log, the dependency exists in /Users/vagrant/Data/installed/x64-osx/lib/libintl.a, i.e. in the library created from vcpkg's gettext port.

  • fontconfig: Hard dependency on autopoint. This indicates an issue in this PR, because it worked before, so the new code should have found an existing autopoint program.

Maybe this PR is too invasive or too naive because it effectively pretends that these tools are available. It might be safer to touch those environment variables only in the ports which actually do not need to run these tools. OTOH, it seems to uncover hard dependencies.

@dg0yt
Copy link
Copy Markdown
Contributor Author

dg0yt commented Apr 22, 2021

  • fontconfig: Hard dependency on autopoint. This indicates an issue in this PR, because it worked before, so the new code should have found an existing autopoint program.

Actually, this was broken before. However, it is clear now that autopoint is a hard requirement for building fontconfig.

@dg0yt
Copy link
Copy Markdown
Contributor Author

dg0yt commented Apr 24, 2021

It might be safer to touch those environment variables only in the ports which actually do not need to run these tools.

This was picked up in #17419 (libidn2, waiting for merge) and #17420 (libtasn1, merged).
I'm closing this draft PR now. (But it gave useful insight.)

@dg0yt dg0yt closed this Apr 25, 2021
@dg0yt dg0yt deleted the skip-some-autotools branch December 12, 2021 09:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category:tool-update The issue is with build tool or build script, which requires update or should be executed correctly

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[libidn2] build failure on osx pipeline

2 participants