[oe] icedtea6-native: task compile fails with `unzip: cannot find zipfile directory in one of /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/bin/unzip or …`

Paul Menzel paulepanter at users.sourceforge.net
Wed May 25 11:08:32 UTC 2011


Dear Robert,


On Mi, 2011-05-25 at 11:35 +0200, Robert Schuster wrote:

> >         Importing binaries from component CORBA_DIST
> >         ( cd  /oe/build-angstrom-next/angstrom-dev/work/i686-linux/icedtea6-native-1.7.10-r4.0/icedtea6-1.7.10/openjdk-ecj/build/linux-x86 && /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/bin/unzip -o /oe/build-angstrom-next/angstrom-dev/work/i686-linux/icedtea6-native-1.7.10-r4.0/icedtea6-1.7.10/openjdk-ecj/build/linux-x86/corba/dist/lib/bin.zip )
> >         Archive:  /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/bin/unzip
> >           End-of-central-directory signature not found.  Either this file is not
> >           a zipfile, or it constitutes one disk of a multi-part archive.  In the
> >           latter case the central directory and zipfile comment will be found on
> >           the last disk(s) of this archive.
> >         note:  /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/bin/unzip may be a plain executable, not an archive
> >         unzip:  cannot find zipfile directory in one of /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/bin/unzip or /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/bin/unzip.zip, and cannot find /oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/bin/unzip.ZIP, period.
> >         make[4]: *** [/oe/build-angstrom-next/angstrom-dev/work/i686-linux/icedtea6-native-1.7.10-r4.0/icedtea6-1.7.10/openjdk-ecj/build/linux-x86/tmp/java/components_imported] Error 9
> Did you notice that somehow the makefile tries to unpack the file
> '/oe/build-angstrom-next/angstrom-dev/sysroots/i686-linux/usr/bin/unzip'.

It looks strange. But I thought that is some behavior of `unzip` to look
into some default paths.

> I smell some shell-quoting problem or similar.

I found the following parts but do not know how this can fail.

        /oe/build-minimal-eglibc/minimal-dev/work/i686-linux/icedtea6-native-1.7.10-r4.0$ grep -Ri "Importing binaries" *
        icedtea6-1.7.10/openjdk/jdk/make/common/internal/ImportComponents.gmk:  $(ECHO) "Importing binaries from component $1"; \
        icedtea6-1.7.10/openjdk-ecj/jdk/make/common/internal/ImportComponents.gmk:  $(ECHO) "Importing binaries from component $1"; \
        openjdk-src-dir/jdk/make/common/internal/ImportComponents.gmk:  $(ECHO) "Importing binaries from component $1"; \
        temp/log.do_compile:Importing binaries from component CORBA_DIST
        temp/log.do_compile.22501:Importing binaries from component CORBA_DIST

looking at there is

        # Importing optional component bin files (for install image)
        define import-one-binaries
        @if [ "$($1)" != "" -a -f $($1)/$(BIN_ZIP_FILE) ] ; then \
          $(ECHO) "Importing binaries from component $1"; \
          $(call Unzipper,$2,$($1)/$(BIN_ZIP_FILE)); \
        fi
        endef

and the function/method `Unzipper` is defined as follows.

        # Unzip zip file $2 into directory $1 (if $2 exists)
        #   Warning: $2 must be absolute path not relative
        define Unzipper
        ( \
          $(MKDIR) -p $1; \
          $(ECHO) "( $(CD) $1 && $(UNZIP) -o $2 )"; \
          ( $(CD) $1 && $(UNZIP) -o $2 ) \
        )
        endef

I do not see where this fails. By the way, to use the native `unzip` I have the following in my recipe (as send to the list [2]).

        EXTRA_OEMAKE = ' \
                        ZIPEXE="${STAGING_BINDIR_NATIVE}/zip" \
                        UNZIP="${STAGING_BINDIR_NATIVE}/unzip" \
                       '

Thanks,

Paul


[1] icedtea6-1.7.10/openjdk/jdk/make/common/internal/ImportComponents.gmk
[2] http://patches.openembedded.org/patch/4621/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20110525/3534bd15/attachment-0002.sig>


More information about the Openembedded-devel mailing list