[oe] [meta-java][PATCH 1/3] Don't depend on a hardcoded compiler

Sven Ebenfeld sven.ebenfeld at gmail.com
Wed Aug 19 11:53:27 UTC 2015


This patch creates a circular dependency for me:

ERROR: Unbuildable tasks were found.
These are usually caused by circular dependencies and any circular
dependency chains found will be printed below. Increase the debug
level to see a list of unbuildable tasks.

Identifying dependency loops (this may take a short while)...

ERROR:
Dependency loop #1 found:
  Task 2 (virtual:native:/sources/meta-java/recipes-core/jamvm/jamvm_git.bb,
do_install) (dependent Tasks ['jamvm, do_compile'])
  Task 3 (virtual:native:/sources/meta-java/recipes-core/jamvm/jamvm_git.bb,
do_populate_sysroot) (dependent Tasks ['jamvm, do_install'])
  Task 68 (/sources/meta-java/recipes-core/ecj/ecj-bootstrap-native.bb,
do_configure) (dependent Tasks ['libecj-bootstrap-native,
do_populate_sysroot', 'ecj-bootstrap-native.bb, do_patch', 'jamvm,
do_populate_sysroot'])
  Task 69 (/sources/meta-java/recipes-core/ecj/ecj-bootstrap-native.bb,
do_compile) (dependent Tasks ['ecj-bootstrap-native.bb,
do_configure'])
  Task 65 (/sources/meta-java/recipes-core/ecj/ecj-bootstrap-native.bb,
do_install) (dependent Tasks ['ecj-bootstrap-native.bb, do_compile'])
  Task 66 (/sources/meta-java/recipes-core/ecj/ecj-bootstrap-native.bb,
do_populate_sysroot) (dependent Tasks ['ecj-bootstrap-native.bb,
do_install'])
  Task 5 (virtual:native:/sources/meta-java/recipes-core/jamvm/jamvm_git.bb,
do_configure) (dependent Tasks ['jamvm, do_patch',
'ecj-bootstrap-native.bb, do_populate_sysroot', 'libtool-native,
do_populate_sysroot', 'libffi, do_populate_sysroot', 'gnu-config,
do_populate_sysroot', 'pkgconfig, do_populate_sysroot', 'zlib,
do_populate_sysroot', 'autoconf, do_populate_sysroot',
'classpath-native, do_populate_sysroot', 'automake,
do_populate_sysroot'])
  Task 6 (virtual:native:/sources/meta-java/recipes-core/jamvm/jamvm_git.bb,
do_compile) (dependent Tasks ['jamvm, do_configure'])

Dependency loop #2 found:
  Task 2 (virtual:native:/sources/meta-java/recipes-core/jamvm/jamvm_git.bb,
do_install) (dependent Tasks ['jamvm, do_compile'])
  Task 3 (virtual:native:/sources/meta-java/recipes-core/jamvm/jamvm_git.bb,
do_populate_sysroot) (dependent Tasks ['jamvm, do_install'])
  Task 68 (/sources/meta-java/recipes-core/ecj/ecj-bootstrap-native.bb,
do_configure) (dependent Tasks ['libecj-bootstrap-native,
do_populate_sysroot', 'ecj-bootstrap-native.bb, do_patch', 'jamvm,
do_populate_sysroot'])
  Task 69 (/sources/meta-java/recipes-core/ecj/ecj-bootstrap-native.bb,
do_compile) (dependent Tasks ['ecj-bootstrap-native.bb,
do_configure'])
  Task 65 (/sources/meta-java/recipes-core/ecj/ecj-bootstrap-native.bb,
do_install) (dependent Tasks ['ecj-bootstrap-native.bb, do_compile'])
  Task 66 (/sources/meta-java/recipes-core/ecj/ecj-bootstrap-native.bb,
do_populate_sysroot) (dependent Tasks ['ecj-bootstrap-native.bb,
do_install'])
  Task 61 (/sources/meta-java/recipes-core/classpath/classpath-native_0.99.bb,
do_configure) (dependent Tasks ['ecj-bootstrap-native.bb,
do_populate_sysroot', 'libtool-native, do_populate_sysroot',
'gettext-minimal-native, do_populate_sysroot', 'gnu-config,
do_populate_sysroot', 'zip, do_populate_sysroot', 'fastjar,
do_populate_sysroot', 'autoconf, do_populate_sysroot',
'classpath-native, do_patch', 'automake, do_populate_sysroot'])
  Task 62 (/sources/meta-java/recipes-core/classpath/classpath-native_0.99.bb,
do_compile) (dependent Tasks ['classpath-native, do_configure'])
  Task 58 (/sources/meta-java/recipes-core/classpath/classpath-native_0.99.bb,
do_install) (dependent Tasks ['classpath-native, do_compile'])
  Task 59 (/sources/meta-java/recipes-core/classpath/classpath-native_0.99.bb,
do_populate_sysroot) (dependent Tasks ['classpath-native,
do_install'])
  Task 5 (virtual:native:/sources/meta-java/recipes-core/jamvm/jamvm_git.bb,
do_configure) (dependent Tasks ['jamvm, do_patch',
'ecj-bootstrap-native.bb, do_populate_sysroot', 'libtool-native,
do_populate_sysroot', 'libffi, do_populate_sysroot', 'gnu-config,
do_populate_sysroot', 'pkgconfig, do_populate_sysroot', 'zlib,
do_populate_sysroot', 'autoconf, do_populate_sysroot',
'classpath-native, do_populate_sysroot', 'automake,
do_populate_sysroot'])
  Task 6 (virtual:native:/sources/meta-java/recipes-core/jamvm/jamvm_git.bb,
do_compile) (dependent Tasks ['jamvm, do_configure'])


I have set PREFERRED_PROVIDER_virtual/java-native = "jamvm-native" and
PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native"

The recipe ecj-bootstrap-native now depends on virtual/java-native and
provides virtual/javac-native.
The recipe jamvm depends on virtual/javac-native and provides
java-native. So none of them can be built since this patch.

Shouldn't jamvm depend on javac-initial-native?

Mit freundlichen Grüßen,
Sven Ebenfeld


2015-08-18 22:14 GMT+02:00 Mario Domenech Goulart <mario at ossystems.com.br>:
> The recipes below depended on a hardcoded native compile
> (ecj-initial-native).  Since we may use another native compiler to
> build them, we set the dependency in virtual/javac-native instead.
>
> * cacao
> * classpath-native
> * jamvm
>
> Signed-off-by: Mario Domenech Goulart <mario at ossystems.com.br>
> ---
>  recipes-core/cacao/cacao_1.6.1.bb               | 2 +-
>  recipes-core/classpath/classpath-native_0.99.bb | 2 +-
>  recipes-core/jamvm/jamvm.inc                    | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/recipes-core/cacao/cacao_1.6.1.bb b/recipes-core/cacao/cacao_1.6.1.bb
> index 65aaf93..14ff019 100644
> --- a/recipes-core/cacao/cacao_1.6.1.bb
> +++ b/recipes-core/cacao/cacao_1.6.1.bb
> @@ -4,7 +4,7 @@ LICENSE  = "GPL-2.0"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
>  SECTION  = "interpreters"
>
> -DEPENDS_class-native = "zlib-native libtool-native ecj-initial-native fastjar-native classpath-native bdwgc-native"
> +DEPENDS_class-native = "zlib-native libtool-native virtual/javac-native fastjar-native classpath-native bdwgc-native"
>  PROVIDES_class-native = "virtual/java-native"
>
>  DEPENDS = "zlib libtool classpath virtual/javac-native bdwgc"
> diff --git a/recipes-core/classpath/classpath-native_0.99.bb b/recipes-core/classpath/classpath-native_0.99.bb
> index 02951b9..cf297d9 100644
> --- a/recipes-core/classpath/classpath-native_0.99.bb
> +++ b/recipes-core/classpath/classpath-native_0.99.bb
> @@ -1,7 +1,7 @@
>  require classpath-native.inc
>
>  LIC_FILES_CHKSUM = "file://COPYING;md5=af0004801732bc4b20d90f351cf80510"
> -DEPENDS += "ecj-initial-native"
> +DEPENDS += "virtual/javac-native"
>
>  PR = "${INC_PR}.0"
>
> diff --git a/recipes-core/jamvm/jamvm.inc b/recipes-core/jamvm/jamvm.inc
> index 5893cbc..bed1c5d 100644
> --- a/recipes-core/jamvm/jamvm.inc
> +++ b/recipes-core/jamvm/jamvm.inc
> @@ -4,7 +4,7 @@ LICENSE = "GPL-2.0"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
>
>  DEPENDS = "zlib classpath virtual/javac-native libffi"
> -DEPENDS_virtclass-native = "zlib-native classpath-native ecj-initial-native libffi-native"
> +DEPENDS_virtclass-native = "zlib-native classpath-native virtual/javac-native libffi-native"
>
>  RDEPENDS_${PN} = "classpath"
>  RDEPENDS_${PN}_virtclass-native = ""
> --
> 2.1.4
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel



More information about the Openembedded-devel mailing list