[yocto] Exception in bitbake during build of openjdk-8 using meta-linaro

Khem Raj raj.khem at gmail.com
Thu Jan 26 18:07:23 PST 2017



On 1/26/17 5:54 AM, SMITH Peter T wrote:
> Hi, I am trying to build openjdk-8 from the meta-linaro layer (I’m
> specifically interested in building for aarch64), everything proceeds
> well with gathering and building the dependencies until poky/bitbake
> attempts to fetch sources using hg when I see the error below. Anyone
> seen this before or can offer a pointer to what might be wrong?
> 
>  

if you could nail it down the particular recipe which is using hg
fetcher then it would be easy to proceed further. Secondly, also include
your build configuration that bitbake spits at very beginning of build,
that also helps.

> 
>  
> 
> DEBUG: Executing python function do_fetch
> 
> DEBUG: Executing python function base_do_fetch
> 
> ERROR: Error executing a python function in exec_python_func()
> autogenerated:
> 
>  
> 
> The stack trace of python calls that resulted in this exception/failure was:
> 
> File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
> 
>      0001:
> 
> *** 0002:base_do_fetch(d)
> 
>      0003:
> 
> File: '/sdd/peter/Yocto/TEST/sources/poky/meta/classes/base.bbclass',
> lineno: 134, function: base_do_fetch
> 
>      0130:    if len(src_uri) == 0:
> 
>      0131:        return
> 
>      0132:
> 
>      0133:    try:
> 
> *** 0134:        fetcher = bb.fetch2.Fetch(src_uri, d)
> 
>      0135:        fetcher.download()
> 
>      0136:    except bb.fetch2.BBFetchException as e:
> 
>      0137:        bb.fatal(str(e))
> 
>      0138:}
> 
> File:
> '/sdd/peter/Yocto/TEST/sources/poky/bitbake/lib/bb/fetch2/__init__.py',
> lineno: 1535, function: __init__
> 
>      1531:
> 
>      1532:        for url in urls:
> 
>      1533:            if url not in self.ud:
> 
>      1534:                try:
> 
> *** 1535:                    self.ud[url] = FetchData(url, d, localonly)
> 
>      1536:                except NonLocalMethod:
> 
>      1537:                    if localonly:
> 
>      1538:                        self.ud[url] = None
> 
>      1539:                        pass
> 
> File:
> '/sdd/peter/Yocto/TEST/sources/poky/bitbake/lib/bb/fetch2/__init__.py',
> lineno: 1214, function: __init__
> 
>      1210:            logger.warning('Consider updating %s recipe to use
> "protocol" not "proto" in SRC_URI.', d.getVar('PN'))
> 
>      1211:            self.parm["protocol"] = self.parm.get("proto", None)
> 
>      1212:
> 
>      1213:        if hasattr(self.method, "urldata_init"):
> 
> *** 1214:            self.method.urldata_init(self, d)
> 
>      1215:
> 
>      1216:        if "localpath" in self.parm:
> 
>      1217:            # if user sets localpath for file, use it instead.
> 
>      1218:            self.localpath = self.parm["localpath"]
> 
> File: '/sdd/peter/Yocto/TEST/sources/poky/bitbake/lib/bb/fetch2/hg.py',
> lineno: 70, function: urldata_init
> 
>      0066:            ud.proto = 'file'
> 
>      0067:        else:
> 
>      0068:            ud.proto = "hg"
> 
>      0069:
> 
> *** 0070:        ud.setup_revisons(d)
> 
>      0071:
> 
>      0072:        if 'rev' in ud.parm:
> 
>      0073:            ud.revision = ud.parm['rev']
> 
>      0074:        elif not ud.revision:
> 
> File:
> '/sdd/peter/Yocto/TEST/sources/poky/bitbake/lib/bb/fetch2/__init__.py',
> lineno: 1244, function: setup_revisons
> 
>      1240:
> 
>      1241:    def setup_revisons(self, d):
> 
>      1242:        self.revisions = {}
> 
>      1243:        for name in self.names:
> 
> *** 1244:            self.revisions[name] = srcrev_internal_helper(self,
> d, name)
> 
>      1245:
> 
>      1246:        # add compatibility code for non name specified case
> 
>      1247:        if len(self.names) == 1:
> 
>      1248:            self.revision = self.revisions[self.names[0]]
> 
> File:
> '/sdd/peter/Yocto/TEST/sources/poky/bitbake/lib/bb/fetch2/__init__.py',
> lineno: 1109, function: srcrev_internal_helper
> 
>      1105:
> 
>      1106:    if srcrev == "INVALID" or not srcrev:
> 
>      1107:        raise FetchError("Please set a valid SRCREV for url %s
> (possible key names are %s, or use a ;rev=X URL parameter)" %
> (str(attempts), ud.url), ud.url)
> 
>      1108:    if srcrev == "AUTOINC":
> 
> *** 1109:        srcrev = ud.method.latest_revision(ud, d, name)
> 
>      1110:
> 
>      1111:    return srcrev
> 
>      1112:
> 
>      1113:def get_checksum_file_list(d):
> 
> File:
> '/sdd/peter/Yocto/TEST/sources/poky/bitbake/lib/bb/fetch2/__init__.py',
> lineno: 1500, function: latest_revision
> 
>      1496:        if not hasattr(self, "_latest_revision"):
> 
>      1497:            raise ParameterError("The fetcher for this URL
> does not support _latest_revision", url)
> 
>      1498:
> 
>      1499:        revs = bb.persist_data.persist('BB_URI_HEADREVS', d)
> 
> *** 1500:        key = self.generate_revision_key(ud, d, name)
> 
>      1501:        try:
> 
>      1502:            return revs[key]
> 
>      1503:        except KeyError:
> 
>      1504:            revs[key] = rev = self._latest_revision(ud, d, name)
> 
> File:
> '/sdd/peter/Yocto/TEST/sources/poky/bitbake/lib/bb/fetch2/__init__.py',
> lineno: 1512, function: generate_revision_key
> 
>      1508:        latest_rev = self._build_revision(ud, d, name)
> 
>      1509:        return True, str(latest_rev)
> 
>      1510:
> 
>      1511:    def generate_revision_key(self, ud, d, name):
> 
> *** 1512:        key = self._revision_key(ud, d, name)
> 
>      1513:        return "%s-%s" % (key, d.getVar("PN") or "")
> 
>      1514:
> 
>      1515:class Fetch(object):
> 
>      1516:    def __init__(self, urls, d, cache = True, localonly =
> False, connection_cache = None):
> 
> File: '/sdd/peter/Yocto/TEST/sources/poky/bitbake/lib/bb/fetch2/hg.py',
> lineno: 235, function: _revision_key
> 
>      0231:    def _revision_key(self, ud, d, name):
> 
>      0232:        """
> 
>      0233:        Return a unique key for the url
> 
>      0234:        """
> 
> *** 0235:        return "hg:" + ud.moddir
> 
>      0236:
> 
>      0237:    def build_mirror_data(self, ud, d):
> 
>      0238:        # Generate a mirror tarball if needed
> 
>      0239:        if ud.write_tarballs == "1" and not
> os.path.exists(ud.fullmirror):
> 
> Exception: AttributeError: 'FetchData' object has no attribute 'moddir'
> 
>  
> 
> DEBUG: Python function base_do_fetch finished
> 
> DEBUG: Python function do_fetch finished
> 
> ERROR: Function failed: base_do_fetch
> 
>  
> 
> *Peter Smith*
> 
> 
> ------------------------------------------------------------------------
> CONFIDENTIALITY : This e-mail and any attachments are confidential and
> may be privileged. If you are not a named recipient, please notify the
> sender immediately and do not disclose the contents to another person,
> use it for any purpose or store or copy the information in any medium.
> 
> 



More information about the yocto mailing list