Bug 13860

Summary: File name too long for mainline Linux kernel builds with longer machine name
Product: [Build System, Metadata & Runtime] BitBake Reporter: Krzysztof Kozlowski <krzk>
Component: bitbakeAssignee: Richard Purdie <richard.purdie>
Status: RESOLVED WONTFIX QA Contact:
Severity: major    
Priority: Undecided CC: poky.bs.watcher, poky.watcher, randy.macleod
Version: 3.0.3   
Target Milestone: ---   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)
Attachments:
Description Flags
Yocto build error log (file name too long) none

Description Krzysztof Kozlowski 2020-04-07 06:42:53 UTC
I have a customised distro with a separate machine for testing Linux kernel mainline builds. It's name is slightly longer (because of suffix "-mainline"). Yocto v2.3-v2.6 was building fine. Yocto v2.7 I do not remember. Yocto v3.0 fails always for such machine but builds ok for regular one (difference: only Linux kernel):

$ MACHINE=col-vf50-proceq-mainline bitbake some-image


Parsing recipes: 100% |########################################################################################################################################################| Time: 0:00:36
Parsing of 2486 .bb files complete (0 cached, 2486 parsed). 3643 targets, 454 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION           = "1.44.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "arm-poky-linux-gnueabi"
MACHINE              = "col-vf50-proceq-mainline"
DISTRO               = "eagle"
DISTRO_VERSION       = "3.0.2"
TUNE_FEATURES        = "arm vfp cortexa5 neon thumb callconvention-hard"
TARGET_FPU           = "hard"
meta                 
meta-poky            = "HEAD:cfb4b093132bee7610918ced854a9ce297ae4fb7"
meta-freescale       = "HEAD:db6cdd204764228a2f45f45c346dc026a70c6423"
meta-oe              
meta-python          
meta-networking      = "HEAD:bb65c27a772723dfe2c15b5e1b27bcc1a1ed884c"
meta-proceq          = "u/kkoz/pq-battery-old-interface-gpr-soil:d4ece86d825c248a27943442af775cb6e2334c83"
workspace            = "master:a480993e58fb6b5e7fd714164f8acc2aaa8e3c53"

Initialising tasks: 100% |#####################################################################################################################################################| Time: 0:00:01
Sstate summary: Wanted 350 Found 247 Missed 103 Current 686 (70% match, 90% complete)
NOTE: Executing Tasks
NOTE: Setscene tasks completed
ERROR: u-boot-toradex-fsl-fw-utils-r7+gitr709490ceac60699428c6daf87d4474ea7e154ea0-r7 do_prepare_recipe_sysroot: Execution of event handler 'sstate_eventhandler' failed
Traceback (most recent call last):
  File "/home/krzk/dev/yocto-eagle/build/../poky/meta/classes/sstate.bbclass", line 1094, in sstate_eventhandler(e=<bb.build.TaskSucceeded object at 0x7f204fd86908>):
             sstatepkg = d.getVar('SSTATE_PKG')
    >        bb.siggen.dump_this_task(sstatepkg + '_' + taskname + ".tgz" ".siginfo", d)
     }
  File "/home/krzk/dev/yocto-eagle/poky/bitbake/lib/bb/siggen.py", line 648, in dump_this_task(outfile='/home/krzk/dev/yocto-eagle/build/sstate-cache/7f/sstate:u-boot-toradex-fsl-fw-utils:col_vf50_proceq_mainline-poky-linux-gnueabi:r7+gitr709490ceac60699428c6daf87d4474ea7e154ea0:r7:col_vf50_proceq_mainline:3:7ff2c09403f4cc428cf83838c28cad42230280cdc360a4df491d1750fea6f65d_prepare_recipe_sysroot.tgz.siginfo', d=<bb.data_smart.DataSmart object at 0x7f2068084d30>):
         referencestamp = bb.build.stamp_internal(task, d, None, True)
    >    bb.parse.siggen.dump_sigtask(fn, task, outfile, "customfile:" + referencestamp)
     
  File "/home/krzk/dev/yocto-eagle/build/../poky/meta/lib/oe/sstatesig.py", line 202, in SignatureGeneratorOEBasicHash.dump_sigtask(fn='/home/krzk/dev/yocto-eagle/build/../meta-proceq/recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb', task='do_prepare_recipe_sysroot', stampbase='/home/krzk/dev/yocto-eagle/build/sstate-cache/7f/sstate:u-boot-toradex-fsl-fw-utils:col_vf50_proceq_mainline-poky-linux-gnueabi:r7+gitr709490ceac60699428c6daf87d4474ea7e154ea0:r7:col_vf50_proceq_mainline:3:7ff2c09403f4cc428cf83838c28cad42230280cdc360a4df491d1750fea6f65d_prepare_recipe_sysroot.tgz.siginfo', runtime='customfile:/home/krzk/dev/yocto-eagle/build/tmp/stamps/col_vf50_proceq_mainline-poky-linux-gnueabi/u-boot-toradex-fsl-fw-utils/r7+gitr709490ceac60699428c6daf87d4474ea7e154ea0-r7'):
                 return
    >        super(bb.siggen.SignatureGeneratorBasicHash, self).dump_sigtask(fn, task, stampbase, runtime)
     
  File "/home/krzk/dev/yocto-eagle/poky/bitbake/lib/bb/siggen.py", line 374, in SignatureGeneratorOEBasicHash.dump_sigtask(fn='/home/krzk/dev/yocto-eagle/build/../meta-proceq/recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb', task='do_prepare_recipe_sysroot', stampbase='/home/krzk/dev/yocto-eagle/build/sstate-cache/7f/sstate:u-boot-toradex-fsl-fw-utils:col_vf50_proceq_mainline-poky-linux-gnueabi:r7+gitr709490ceac60699428c6daf87d4474ea7e154ea0:r7:col_vf50_proceq_mainline:3:7ff2c09403f4cc428cf83838c28cad42230280cdc360a4df491d1750fea6f65d_prepare_recipe_sysroot.tgz.siginfo', runtime='customfile:/home/krzk/dev/yocto-eagle/build/tmp/stamps/col_vf50_proceq_mainline-poky-linux-gnueabi/u-boot-toradex-fsl-fw-utils/r7+gitr709490ceac60699428c6daf87d4474ea7e154ea0-r7'):
                     pass
    >            raise err
     
  File "/home/krzk/dev/yocto-eagle/poky/bitbake/lib/bb/siggen.py", line 368, in SignatureGeneratorOEBasicHash.dump_sigtask(fn='/home/krzk/dev/yocto-eagle/build/../meta-proceq/recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb', task='do_prepare_recipe_sysroot', stampbase='/home/krzk/dev/yocto-eagle/build/sstate-cache/7f/sstate:u-boot-toradex-fsl-fw-utils:col_vf50_proceq_mainline-poky-linux-gnueabi:r7+gitr709490ceac60699428c6daf87d4474ea7e154ea0:r7:col_vf50_proceq_mainline:3:7ff2c09403f4cc428cf83838c28cad42230280cdc360a4df491d1750fea6f65d_prepare_recipe_sysroot.tgz.siginfo', runtime='customfile:/home/krzk/dev/yocto-eagle/build/tmp/stamps/col_vf50_proceq_mainline-poky-linux-gnueabi/u-boot-toradex-fsl-fw-utils/r7+gitr709490ceac60699428c6daf87d4474ea7e154ea0-r7'):
                 os.chmod(tmpfile, 0o664)
    >            os.rename(tmpfile, sigfile)
             except (OSError, IOError) as err:
OSError: [Errno 36] File name too long: '/home/krzk/dev/yocto-eagle/build/sstate-cache/7f/sigtask.qolft7is' -> '/home/krzk/dev/yocto-eagle/build/sstate-cache/7f/sstate:u-boot-toradex-fsl-fw-utils:col_vf50_proceq_mainline-poky-linux-gnueabi:r7+gitr709490ceac60699428c6daf87d4474ea7e154ea0:r7:col_vf50_proceq_mainline:3:7ff2c09403f4cc428cf83838c28cad42230280cdc360a4df491d1750fea6f65d_prepare_recipe_sysroot.tgz.siginfo'

ERROR: u-boot-toradex-fsl-fw-utils-r7+gitr709490ceac60699428c6daf87d4474ea7e154ea0-r7 do_prepare_recipe_sysroot: Build of do_prepare_recipe_sysroot failed
ERROR: u-boot-toradex-fsl-fw-utils-r7+gitr709490ceac60699428c6daf87d4474ea7e154ea0-r7 do_prepare_recipe_sysroot: Traceback (most recent call last):
  File "/home/krzk/dev/yocto-eagle/poky/bitbake/lib/bb/build.py", line 644, in exec_task
    return _exec_task(fn, task, d, quieterr)
  File "/home/krzk/dev/yocto-eagle/poky/bitbake/lib/bb/build.py", line 618, in _exec_task
    event.fire(TaskSucceeded(task, fn, logfn, localdata), localdata)
  File "/home/krzk/dev/yocto-eagle/poky/bitbake/lib/bb/event.py", line 215, in fire
    fire_class_handlers(event, d)
  File "/home/krzk/dev/yocto-eagle/poky/bitbake/lib/bb/event.py", line 122, in fire_class_handlers
    execute_handler(name, handler, event, d)
  File "/home/krzk/dev/yocto-eagle/poky/bitbake/lib/bb/event.py", line 94, in execute_handler
    ret = handler(event)
  File "/home/krzk/dev/yocto-eagle/build/../poky/meta/classes/sstate.bbclass", line 1094, in sstate_eventhandler
    bb.siggen.dump_this_task(sstatepkg + '_' + taskname + ".tgz" ".siginfo", d)
  File "/home/krzk/dev/yocto-eagle/poky/bitbake/lib/bb/siggen.py", line 648, in dump_this_task
    bb.parse.siggen.dump_sigtask(fn, task, outfile, "customfile:" + referencestamp)
  File "/home/krzk/dev/yocto-eagle/build/../poky/meta/lib/oe/sstatesig.py", line 202, in dump_sigtask
    super(bb.siggen.SignatureGeneratorBasicHash, self).dump_sigtask(fn, task, stampbase, runtime)
  File "/home/krzk/dev/yocto-eagle/poky/bitbake/lib/bb/siggen.py", line 374, in dump_sigtask
    raise err
  File "/home/krzk/dev/yocto-eagle/poky/bitbake/lib/bb/siggen.py", line 368, in dump_sigtask
    os.rename(tmpfile, sigfile)
OSError: [Errno 36] File name too long: '/home/krzk/dev/yocto-eagle/build/sstate-cache/7f/sigtask.qolft7is' -> '/home/krzk/dev/yocto-eagle/build/sstate-cache/7f/sstate:u-boot-toradex-fsl-fw-utils:col_vf50_proceq_mainline-poky-linux-gnueabi:r7+gitr709490ceac60699428c6daf87d4474ea7e154ea0:r7:col_vf50_proceq_mainline:3:7ff2c09403f4cc428cf83838c28cad42230280cdc360a4df491d1750fea6f65d_prepare_recipe_sysroot.tgz.siginfo'

ERROR: Task (/home/krzk/dev/yocto-eagle/build/../meta-proceq/recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb:do_prepare_recipe_sysroot) failed with exit code '1'
NOTE: Tasks Summary: Attempted 2017 tasks of which 1934 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
NOTE: Writing buildhistory took: 1 seconds

Summary: 1 task failed:
  /home/krzk/dev/yocto-eagle/build/../meta-proceq/recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb:do_prepare_recipe_sysroot
Summary: There were 3 ERROR messages shown, returning a non-zero exit code.
Comment 1 Krzysztof Kozlowski 2020-04-07 06:44:09 UTC
Created attachment 4658 [details]
Yocto build error log (file name too long)
Comment 2 Richard Purdie 2020-04-08 13:47:30 UTC
This issue was fixed in 3.1: http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=b8025e972081b70960ffcbcbe43a7118041556a1 but the fix is probably too invasive to backport to 3.0 sadly.
Comment 3 Randy MacLeod 2020-04-09 14:49:02 UTC
You'll have to either use a shorter name or locally backport this commit referenced. This is too disruptive to backport to 3.0.