Skip to content

Conversation

@jonpryor
Copy link
Contributor

@atsushieno is unable to build from a clean state on Linux,
because when src/Mono.Posix is built class-parse.exe can't be
found:

error XA0020: Could not find mandroid!

(Yes, the error says mandroid, but it's the $prefix/lib/mandroid
directory it's complaining about, which contains class-parse.exe.)

This doesn't immediately make sense, because
Xamarin.Android.Build.Tasks.csproj has a @(ProjectReference) on
the class-parse.csproj project, and thus class-parse.exe should
exist...unless Xamarin.Andorid.Build.Tasks.csproj hasn't been built!

Indeed, Mono.Posix.csproj does not contain a @(ProjectReference)
on Xamarin.Android.Build.Tasks.csproj, and thus there is no
requirement known by MSBuild that Xamarin.Android.Build.Tasks be
built before Mono.Posix. This could explain why class-parse.exe
can't be found.

(Though this itself seems a tad odd, because if
Xamarin.Android.Build.Tasks.csproj wasn't built at all, then I'd
expect the <Import/> within Mono.Posix.csproj for
$(OutputPath)\..\..\..\xbuild\Xamarin\Android\Xamarin.Android.CSharp.targets
to fail first, but that's not the reported error...)

Fix the Mono.Posix.csproj and Mono.Data.Sqlite.csproj projects so
that they depend upon Xamarin.Android.Build.Tasks.csproj, to ensure
that build dependencies are roperly expressed.

[@atsushieno is unable to build from a clean state on Linux][0],
because when `src/Mono.Posix` is built `class-parse.exe` can't be
found:

	error XA0020: Could not find mandroid!

(Yes, the error says `mandroid`, but it's the `$prefix/lib/mandroid`
directory it's complaining about, which contains `class-parse.exe`.)

This doesn't immediately make sense, because
`Xamarin.Android.Build.Tasks.csproj` has a `@(ProjectReference)` on
the `class-parse.csproj` project, and thus `class-parse.exe` *should*
exist...unless `Xamarin.Andorid.Build.Tasks.csproj` hasn't been built!

Indeed, `Mono.Posix.csproj` does *not* contain a `@(ProjectReference)`
on `Xamarin.Android.Build.Tasks.csproj`, and thus there is no
requirement known by MSBuild that `Xamarin.Android.Build.Tasks` be
built before `Mono.Posix`. This could explain why `class-parse.exe`
can't be found.

(Though this itself seems a tad odd, because if
`Xamarin.Android.Build.Tasks.csproj` wasn't built at all, then I'd
expect the `<Import/>` within `Mono.Posix.csproj` for
`$(OutputPath)\..\..\..\xbuild\Xamarin\Android\Xamarin.Android.CSharp.targets`
to fail *first*, but that's not the reported error...)

Fix the `Mono.Posix.csproj` and `Mono.Data.Sqlite.csproj` projects so
that they depend upon `Xamarin.Android.Build.Tasks.csproj`, to ensure
that build dependencies are roperly expressed.

[0]: https://gitter.im/xamarin/xamarin-android?at=575e94fa064b9e7266f204c3
@atsushieno atsushieno merged commit 8972bdb into dotnet:master Jun 13, 2016
radical pushed a commit that referenced this pull request May 8, 2018
Mono 4.8 has migrated to Mono.Cecil/master, based on 0.10.0, which is
API-incompatible with the previous Mono.Cecil 0.9.6.

In particular, `TypeDefinition.Interfaces` now returns a
`Collection<InterfaceImplementation>` instead of the previous
`Collection<TypeReference>`, which causes all manner of breakage.

Since the next version of Xamarin.Android will be based on Mono 4.8,
and Xamarin.Android needs Java.Interop, bump Java.Interop to use the
Mono.Cecil 0.10.x preview package, and fix the corresponding breakage.
jonpryor pushed a commit that referenced this pull request Feb 18, 2021
Changes: dotnet/android-libzipsharp@1.0.20...1.0.22

  * dotnet/android-libzipsharp@9f563dd: Add a test which changes the CompressionMethod of an item (#78)
  * dotnet/android-libzipsharp@3b610c9: Try actually running the tests under .net core (#77)
  * dotnet/android-libzipsharp@03cd66b: Archive the SignList.xml
  * dotnet/android-libzipsharp@8afe791: Add the signListPath parameter
  * dotnet/android-libzipsharp@ed5585c: Add SignList.xml for signing
  * dotnet/android-libzipsharp@2ab6943: Add a build_windows.bat file to make it easier to build on windows (#75)
  * …
  * dotnet/android-libzipsharp@9dca4fb: Initial commit of localisation
  * dotnet/android-libzipsharp@668babc: Add Unit Test for setting file permissions on extraction.
  * dotnet/android-libzipsharp@8f2053c: Build on Windows again (#71)
@github-actions github-actions bot locked and limited conversation to collaborators Feb 2, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants