[yocto] Recursion error in do_package task, building libgcc_8.3

Ekaterini Voulgari sdi1100002 at di.uoa.gr
Tue Jul 2 03:36:26 PDT 2019


Hello,
I'm building a custom image (based on poky-tiny distro with newlib) and 
I get a symlink recursion error at strip_files. Ι've found 
this:https://lists.yoctoproject.org/pipermail/yocto/2019-June/045838.html 
of some relevance. I tried with:

    INHIBIT_SYSROOT_STRIP = "1"
    INHIBIT_PACKAGE_STRIP = "1"
    INSANE_SKIP_${PN} = "ldflags"
    INSANE_SKIP_${PN} = "already-stripped"

in local.conf in which case I only get the second error(do_package).

What causes that recursion and where do I start looking to fix it?


ERROR: libgcc-8.3.0-r0 do_populate_sysroot: 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:sysroot_strip(d)
      0003:
File: '/home/***/poky/meta/classes/staging.bbclass', lineno: 83, 
function: sysroot_strip
      0079:    qa_already_stripped = 'already-stripped' in 
(d.getVar('INSANE_SKIP_' + pn) or "").split()
      0080:    strip_cmd = d.getVar("STRIP")
      0081:
      0082:    oe.package.strip_execs(pn, dstdir, strip_cmd, libdir, 
base_libdir, d,
  *** 0083: qa_already_stripped=qa_already_stripped)
      0084:}
      0085:
      0086:do_populate_sysroot[dirs] = "${SYSROOT_DESTDIR}"
      0087:do_populate_sysroot[umask] = "022"
File: '/home/***/poky/meta/lib/oe/package.py', lineno: 123, function: 
strip_execs
      0119:        for f in files:
      0120:            file = os.path.join(root, f)
      0121:
      0122:            try:
  *** 0123:                ltarget = oe.path.realpath(file, dstdir, False)
      0124:                s = os.lstat(ltarget)
      0125:            except OSError as e:
      0126:                (err, strerror) = e.args
      0127:                if err != errno.ENOENT:
File: '/home/***/poky/meta/lib/oe/path.py', lineno: 235, function: realpath
      0231:            # be printed a backtrace with 100s of OSError 
exceptions
      0232:            # else
      0233:            raise OSError(errno.ELOOP,
      0234:                          "too much recursions while 
resolving '%s'; loop in '%s'" %
  *** 0235:                          (file, e.strerror))
      0236:
      0237:        raise
      0238:
      0239:    return file
Exception: OSError: [Errno 40] too much recursions while resolving 
'/home/***/poky/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-eabi/libgcc/8.3.0-r0/sysroot-destdir/usr/lib/arm-poky-eabi/arm-poky-eabi'; 
loop in 
'/home/***/poky/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-eabi/libgcc/8.3.0-r0/sysroot-destdir/usr/lib/arm-poky-eabi/arm-poky-eabi'

ERROR: libgcc-8.3.0-r0 do_populate_sysroot: [Errno 40] too much 
recursions while resolving 
'/home/***/poky/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-eabi/libgcc/8.3.0-r0/sysroot-destdir/usr/lib/arm-poky-eabi/arm-poky-eabi'; 
loop in 
'/home/***/poky/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-eabi/libgcc/8.3.0-r0/sysroot-destdir/usr/lib/arm-poky-eabi/arm-poky-eabi'
ERROR: libgcc-8.3.0-r0 do_populate_sysroot: Function failed: sysroot_strip
ERROR: Logfile of failure stored in: 
/home/***/poky/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-eabi/libgcc/8.3.0-r0/temp/log.do_populate_sysroot.28604
ERROR: Task 
(/home/***/poky/meta/recipes-devtools/gcc/libgcc_8.3.bb:do_populate_sysroot) 
failed with exit code '1'
ERROR: libgcc-8.3.0-r0 do_package: 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:split_and_strip_files(d)
      0003:
File: '/home/***/poky/meta/classes/package.bbclass', lineno: 974, 
function: split_and_strip_files
      0970:                if file in skipfiles:
      0971:                    continue
      0972:
      0973:                try:
  *** 0974:                    ltarget = cpath.realpath(file, dvar, False)
      0975:                    s = cpath.lstat(ltarget)
      0976:                except OSError as e:
      0977:                    (err, strerror) = e.args
      0978:                    if err != errno.ENOENT:
File: '/home/***/poky/meta/lib/oe/cachedpath.py', lineno: 229, function: 
realpath
      0225:                # be printed a backtrace with 100s of OSError 
exceptions
      0226:                # else
      0227:                raise OSError(errno.ELOOP,
      0228:                              "too much recursions while 
resolving '%s'; loop in '%s'" %
  *** 0229:                              (file, e.strerror))
      0230:
      0231:            raise
      0232:
      0233:        return file
Exception: OSError: [Errno 40] too much recursions while resolving 
'/home/***/poky/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-eabi/libgcc/8.3.0-r0/package/usr/lib/arm-poky-eabi/arm-poky-eabi'; 
loop in 
'/home/***/poky/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-eabi/libgcc/8.3.0-r0/package/usr/lib/arm-poky-eabi/arm-poky-eabi'

ERROR: libgcc-8.3.0-r0 do_package: [Errno 40] too much recursions while 
resolving 
'/home/***/poky/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-eabi/libgcc/8.3.0-r0/package/usr/lib/arm-poky-eabi/arm-poky-eabi'; 
loop in 
'/home/***/poky/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-eabi/libgcc/8.3.0-r0/package/usr/lib/arm-poky-eabi/arm-poky-eabi'
ERROR: libgcc-8.3.0-r0 do_package: Function failed: split_and_strip_files
ERROR: Logfile of failure stored in: 
/home/***/poky/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-eabi/libgcc/8.3.0-r0/temp/log.do_package.28603
ERROR: Task 
(/home/***/poky/meta/recipes-devtools/gcc/libgcc_8.3.bb:do_package) 
failed with exit code '1'



More information about the yocto mailing list