Bug 43443 - Build broken on Linux
Summary: Build broken on Linux
Status: RESOLVED INVALID
Alias: None
Product: Android
Classification: Xamarin
Component: Pre-release ()
Version: unspecified
Hardware: PC Linux
: --- normal
Target Milestone: ---
Assignee: Jonathan Pryor
URL: https://github.com/xamarin/xamarin-an...
Depends on:
Blocks:
 
Reported: 2016-08-17 00:22 UTC by akihiko.odaki.4i
Modified: 2016-08-18 02:17 UTC (History)
1 user (show)

Tags:
Is this bug a regression?: Yes
Last known good build: f22f2f23964bf6cdcee52a6797fb9374aa71499b

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED INVALID

Description akihiko.odaki.4i 2016-08-17 00:22:31 UTC
Commit 2956811709c5481af73a864044270fac0cefc141 (pull request #162) breaks build on Linux.
It is caused by the absence of build bundle for Linux.
Comment 1 Jonathan Pryor 2016-08-17 01:19:16 UTC
1. Linux does not yet reliably build, in that the Jenkins+Linux bot doesn't actually build xamarin-android. (It fails when trying to build the cross-compilers because of issues with CppSharp.)

2. How *precisely* does this break the build? What is the error? What is the diagnostic build output?

The bundle is intended to be *optional*, because every time we bump mono, there won't be a pre-existing bundle, so it will *always* "fail," at which point it *should* "fall back" and rebuild all of mono. (The bundle would be *created* in that instance, then uploaded via Jenkins, and the *following* build would get the bundle.)
Comment 2 akihiko.odaki.4i 2016-08-17 02:31:10 UTC
1. For your information, it is reliable as my first build on openSUSE (even not Ubuntu) was sucessful just with a libzip error. I suspect your building environment is broken somehow.

2. Sorry but I have not kept the log. But I remember that it tries to download https://xamjenkinsartifact.blob.core.windows.net/xamarin-android/xamarin-android/bin/Debug/bundle-v2-Debug-Linux-libzip=1d8b1ac,llvm=8b1520c,mono=2c13a95.zip and gets a XML file:

<?xml version="1.0" encoding="utf-8"?><Error><Code>BlobNotFound</Code><Message>The specified blob does not exist.</Message></Error>

The SystemUnzip task in _ExtractBundle tries to extract and fails without giving any details.

I'll build the latest one again later (Now I'm building f22f2f23964bf6cdcee52a6797fb9374aa71499b, which doesn't have the bug, so it takes while.)
Comment 3 Jonathan Pryor 2016-08-17 13:58:40 UTC
> it tries to download

That is correct.

> gets a XML file:

That is expected.

> The SystemUnzip task in _ExtractBundle tries to extract and fails

How does it fail? The <SystemUnzip/> task *ignores all errors*:

https://github.com/xamarin/xamarin-android/blob/2956811/build-tools/xa-prep-tasks/Xamarin.Android.BuildTools.PrepTasks/SystemUnzip.cs#L101-L107

Note that the Process.ExitCode value is not used.

Without additional log output, I can't reason about how something that can't possibly fail is failing.
Comment 4 akihiko.odaki.4i 2016-08-18 02:17:09 UTC
Found that my `unzip` binary and fixed by altering it.
Sorry for having bothered. I'll close this issue.
Comment 5 akihiko.odaki.4i 2016-08-18 02:17:42 UTC
I mean my unzip was broken.