-
Notifications
You must be signed in to change notification settings - Fork 528
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
[README] Document "autopoint
in $PATH" requirement
#606
Conversation
We [recently discovered][0] that a mono bump was failing to build because: 1. The Jenkins machine building the PR has Homebrew 1.2.1 installed. 2. The Jenkins machine attempting to build the PR has never built MXE before, as MXE is only required for *full* builds in which the mono runtime has changed. 3. The MXE build failed, because `autopoint` wasn't in `$PATH`: Executing: make MXE_TARGETS="i686-w64-mingw32.static" gcc cmake zlib pthreads dlfcn-win32 mman-win32 PREFIX="/Users/builder/android-toolchain /mxe" Missing requirement: autopoint The result is a very sad panda. We (hopefully) fixed this issue by force-linking `gettext`: $ brew link --force gettext Document this new requirement so that we don't forget about it. [0]: https://jenkins.mono-project.com/job/xamarin-android-pr-builder/966
c897465
to
8c0906d
Compare
After private discussion, @grendello would prefer that we not merge this PR, as -- admittedly -- requiring that the developer place To fix this, however, we'd have to update the
If we ensure that (A problem which can't easily be replicated anymore, as I force-linked the bots it was happening on...) |
Context: https://devdiv.visualstudio.com/DevDiv/Default/_build/index?buildId=1138882&_a=summary Context: dotnet#606 (comment) We [discovered 6 months ago][0] that a mono bump was failing to build because: [0]: https://jenkins.mono-project.com/job/xamarin-android-pr-builder/966 1. The Jenkins machine building the PR has Homebrew 1.2.1 installed. 2. The Jenkins machine attempting to build the PR has never built MXE before, as MXE is only required for *full* builds in which the mono runtime has changed. 3. The MXE build failed, because `autopoint` wasn't in `$PATH`: Executing: make MXE_TARGETS="i686-w64-mingw32.static" gcc cmake zlib pthreads dlfcn-win32 mman-win32 PREFIX="/Users/builder/android-toolchain /mxe" Missing requirement: autopoint The result is a very sad panda. This *could* be fixed by force-linking the `gettext` package: $ brew link --force gettext However, this is considered to be overkill, as there may be multiple other `autopoint`s in `$PATH`. (Presumably there's *some* reason why Brew 1.2 doesn't install `autopoint` into `$PATH`...) This same issue also reappeared while attempting to build xamarin-android within VSTS, as the VSTS bots similarly haven't run `brew link --force gettext` either. Fix this issue by overriding `$PATH` when building MXE so that it contains the path to `autopoint`, as returned by: dirname $(brew list gettext | grep autopoint$)
Superseded by PR #1026. |
Context: https://devdiv.visualstudio.com/DevDiv/Default/_build/index?buildId=1138882&_a=summary Context: dotnet#606 (comment) We [discovered 6 months ago][0] that a mono bump was failing to build because: [0]: https://jenkins.mono-project.com/job/xamarin-android-pr-builder/966 1. The Jenkins machine building the PR has Homebrew 1.2.1 installed. 2. The Jenkins machine attempting to build the PR has never built MXE before, as MXE is only required for *full* builds in which the mono runtime has changed. 3. The MXE build failed, because `autopoint` wasn't in `$PATH`: Executing: make MXE_TARGETS="i686-w64-mingw32.static" gcc cmake zlib pthreads dlfcn-win32 mman-win32 PREFIX="/Users/builder/android-toolchain /mxe" Missing requirement: autopoint The result is a very sad panda. This *could* be fixed by force-linking the `gettext` package: $ brew link --force gettext However, this is considered to be overkill, as there may be multiple other `autopoint`s in `$PATH`. (Presumably there's *some* reason why Brew 1.2 doesn't install `autopoint` into `$PATH`...) This same issue also reappeared while attempting to build xamarin-android within VSTS, as the VSTS bots similarly haven't run `brew link --force gettext` either. Fix this issue by overriding `$PATH` when building MXE so that it contains the path to `autopoint`, as returned by: dirname $(brew list gettext | grep autopoint$)
Context: https://devdiv.visualstudio.com/DevDiv/Default/_build/index?buildId=1138882&_a=summary Context: #606 (comment) We [discovered 6 months ago][0] that a mono bump was failing to build because: [0]: https://jenkins.mono-project.com/job/xamarin-android-pr-builder/966 1. The Jenkins machine building the PR has Homebrew 1.2.1 installed. 2. The Jenkins machine attempting to build the PR has never built MXE before, as MXE is only required for *full* builds in which the mono runtime has changed. 3. The MXE build failed, because `autopoint` wasn't in `$PATH`: Executing: make MXE_TARGETS="i686-w64-mingw32.static" gcc cmake zlib pthreads dlfcn-win32 mman-win32 PREFIX="/Users/builder/android-toolchain /mxe" Missing requirement: autopoint The result is a very sad panda. This *could* be fixed by force-linking the `gettext` package: $ brew link --force gettext However, this is considered to be overkill, as there may be multiple other `autopoint`s in `$PATH`. (Presumably there's *some* reason why Brew 1.2 doesn't install `autopoint` into `$PATH`...) This same issue also reappeared while attempting to build xamarin-android within VSTS, as the VSTS bots similarly haven't run `brew link --force gettext` either. Fix this issue by overriding `$PATH` when building MXE so that it contains the path to `autopoint`, as returned by: dirname $(brew list gettext | grep autopoint$)
Changes: dotnet/java-interop@cedf4d0...f7ea4ed * dotnet/java-interop@f7ea4ed: [Xamarin.Android.Tools.Bytecode-Tests] Remove obsolete files (dotnet#603) * dotnet/java-interop@e070ce3: [build] Remove <Imports/> now covered by Directory.Build.props (dotnet#607) * dotnet/java-interop@e7c5f54: [generator] Add netcoreapp3.1 support (dotnet#606) * dotnet/java-interop@95f698b: [build] Build additional `$(TargetFramework)` values. (dotnet#605)
Changes: dotnet/java-interop@cedf4d0...1a086ff * dotnet/java-interop@1a086ff: [Java.Interop.Tools.JavaCallableWrappers] Fix IsValidIdentifier() (dotnet#610) * dotnet/java-interop@f7ea4ed: [Xamarin.Android.Tools.Bytecode-Tests] Remove obsolete files (dotnet#603) * dotnet/java-interop@e070ce3: [build] Remove <Imports/> now covered by Directory.Build.props (dotnet#607) * dotnet/java-interop@e7c5f54: [generator] Add netcoreapp3.1 support (dotnet#606) * dotnet/java-interop@95f698b: [build] Build additional `$(TargetFramework)` values. (dotnet#605)
Changes: dotnet/java-interop@cedf4d0...1a086ff * dotnet/java-interop@1a086ff: [Java.Interop.Tools.JavaCallableWrappers] Fix IsValidIdentifier() (#610) * dotnet/java-interop@f7ea4ed: [Xamarin.Android.Tools.Bytecode-Tests] Remove obsolete files (#603) * dotnet/java-interop@e070ce3: [build] Remove <Imports/> now covered by Directory.Build.props (#607) * dotnet/java-interop@e7c5f54: [generator] Add netcoreapp3.1 support (#606) * dotnet/java-interop@95f698b: [build] Build additional `$(TargetFramework)` values. (#605)
We recently discovered that a mono bump was failing to build
because:
The Jenkins machine building the PR has Homebrew 1.2.1 installed.
The Jenkins machine attempting to build the PR has never built
MXE before, as MXE is only required for full builds in which the
mono runtime has changed.
The MXE build failed, because
autopoint
wasn't in$PATH
:The result is a very sad panda.
We (hopefully) fixed this issue by force-linking
gettext
:Document this new requirement so that we don't forget about it.