11-05-2018 03:46 AM - edited 11-05-2018 03:55 AM
Hi everyone,
I am running Centos7.2 on native with petalinux 2018.2 .
I create a hdf file of my peoject. When I run petalinux-config -c u-boot or petalinux-config -c kernel. There are some errors on the terminal. But there is no error when I run petalinux-config or the petalinux-build.
[zhengjia@hw54 zcu102]$ petalinux-config -c kernel
[INFO] generating Kconfig for project
[INFO] sourcing bitbake
[INFO] generating plnxtool conf
[INFO] generating meta-plnx-generated layer
[INFO] generating machine configuration
[INFO] configuring: kernel
[INFO] generating kernel configuration files
[INFO] bitbake virtual/kernel -c menuconfig
Parsing recipes: 100% |##############################################################################################################################| Time: 0:00:18
Parsing of 2552 .bb files complete (0 cached, 2552 parsed). 3441 targets, 139 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |###########################################################################################################################| Time: 0:00:04
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 2 tasks of which 0 didn't need to be rerun and all succeeded.
Parsing recipes: 100% |##############################################################################################################################| Time: 0:00:13
Parsing of 2552 .bb files complete (0 cached, 2552 parsed). 3441 targets, 139 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |###########################################################################################################################| Time: 0:00:04
Checking sstate mirror object availability: 100% |###################################################################################################| Time: 0:00:00
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: linux-xlnx-4.14-xilinx-v2018.2+gitAUTOINC+ad4cd988ba-r0 do_menuconfig: 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:do_menuconfig(d)
0003:
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/core/meta/classes/cml1.bbclass', lineno: 30, function: do_menuconfig
0026: except OSError:
0027: mtime = 0
0028:
0029: oe_terminal("${SHELL} -c \"make %s; if [ \$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"" % d.getVar('KCONFIG_CONFIG_COMMAND'),
*** 0030: d.getVar('PN') + ' Configuration', d)
0031:
0032: # FIXME this check can be removed when the minimum bitbake version has been bumped
0033: if hasattr(bb.build, 'write_taint'):
0034: try:
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/core/meta/classes/terminal.bbclass', lineno: 95, function: oe_terminal
0091: except oe.terminal.ExecutionError as exc:
0092: bb.fatal('Unable to spawn terminal %s: %s' % (terminal, exc))
0093:
0094: try:
*** 0095: oe.terminal.spawn_preferred(command, title, None, d)
0096: except oe.terminal.NoSupportedTerminals as nosup:
0097: nosup.terms.remove("false")
0098: cmds = '\n\t'.join(nosup.terms).replace("{command}",
0099: "do_terminal").replace("{title}", title)
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/core/meta/lib/oe/terminal.py', lineno: 204, function: spawn_preferred
0200:def spawn_preferred(sh_cmd, title=None, env=None, d=None):
0201: """Spawn the first supported terminal, by priority"""
0202: for terminal in prioritized():
0203: try:
*** 0204: spawn(terminal.name, sh_cmd, title, env, d)
0205: break
0206: except UnsupportedTerminal:
0207: continue
0208: else:
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/core/meta/lib/oe/terminal.py', lineno: 228, function: spawn
0224: import time
0225: pidfile = tempfile.NamedTemporaryFile(delete = False).name
0226: try:
0227: sh_cmd = bb.utils.which(os.getenv('PATH'), "oe-gnome-terminal-phonehome") + " " + pidfile + " " + sh_cmd
*** 0228: pipe = terminal(sh_cmd, title, env, d)
0229: output = pipe.communicate()[0]
0230: if output:
0231: output = output.decode("utf-8")
0232: if pipe.returncode != 0:
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/core/meta/lib/oe/terminal.py', lineno: 50, function: __init__
0046: return [element.format(**fmt) for element in self.command]
0047:
0048:class XTerminal(Terminal):
0049: def __init__(self, sh_cmd, title=None, env=None, d=None):
*** 0050: Terminal.__init__(self, sh_cmd, title, env, d)
0051: if not os.environ.get('DISPLAY'):
0052: raise UnsupportedTerminal(self.name)
0053:
0054:class Gnome(XTerminal):
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/core/meta/lib/oe/terminal.py', lineno: 33, function: __init__
0029:class Terminal(Popen, metaclass=Registry):
0030: def __init__(self, sh_cmd, title=None, env=None, d=None):
0031: fmt_sh_cmd = self.format_command(sh_cmd, title)
0032: try:
*** 0033: Popen.__init__(self, fmt_sh_cmd, env=env)
0034: except OSError as exc:
0035: import errno
0036: if exc.errno == errno.ENOENT:
0037: raise UnsupportedTerminal(self.name)
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/core/bitbake/lib/bb/process.py', lineno: 65, function: __init__
0061:
0062: def __init__(self, *args, **kwargs):
0063: options = dict(self.defaults)
0064: options.update(kwargs)
*** 0065: subprocess.Popen.__init__(self, *args, **options)
0066:
0067:def _logged_communicate(pipe, log, input, extrafiles):
0068: if pipe.stdin:
0069: if input is not None:
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/buildtools/sysroots/x86_64-petalinux-linux/usr/lib/python3.5/subprocess.py', lineno: 676, function: __init__
0672: startupinfo, creationflags, shell,
0673: p2cread, p2cwrite,
0674: c2pread, c2pwrite,
0675: errread, errwrite,
*** 0676: restore_signals, start_new_session)
0677: except:
0678: # Cleanup if the child failed starting.
0679: for f in filter(None, (self.stdin, self.stdout, self.stderr)):
0680: try:
File: '/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/buildtools/sysroots/x86_64-petalinux-linux/usr/lib/python3.5/subprocess.py', lineno: 1282, function: _execute_child
1278: # The error must be from chdir(cwd).
1279: err_msg += ': ' + repr(cwd)
1280: else:
1281: err_msg += ': ' + repr(orig_executable)
*** 1282: raise child_exception_type(errno_num, err_msg)
1283: raise child_exception_type(err_msg)
1284:
1285:
1286: def _handle_exitstatus(self, sts, _WIFSIGNALED=os.WIFSIGNALED,
Exception: PermissionError: [Errno 13] Permission denied
ERROR: linux-xlnx-4.14-xilinx-v2018.2+gitAUTOINC+ad4cd988ba-r0 do_menuconfig: Function failed: do_menuconfig
ERROR: Logfile of failure stored in: /home/zhengjia/work/petalinux/zcu102/build/tmp/work/plnx_zynqmp-xilinx-linux/linux-xlnx/4.14-xilinx-v2018.2+gitAUTOINC+ad4cd988ba-r0/temp/log.do_menuconfig.31620
ERROR: Task (/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2018.2.bb:do_menuconfig) failed with exit code '1'
NOTE: Tasks Summary: Attempted 360 tasks of which 350 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
/home/zhengjia/tools/petalinux/2018.2/components/yocto/source/aarch64/layers/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2018.2.bb:do_menuconfig
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
ERROR: bitbake failed to configure kernel
ERROR: Failed to config kernel.
[zhengjia@hw54 zcu102]$
I try to use the methods to reslove the error.
1.clean the project of petalinux
petalinux-buidl -x mrproper
2.create a short path to store the petalinux project.
But I still can not reslove the errors. Could you help me? Have no ideas about this.
11-09-2018 12:23 PM
Hi @zhengjia,
When you download the petalinux installer you no need to change any permission to installer make sure your downloads and installer path has read write permissions.
11-05-2018 06:14 AM
Hi @zhengjia,
The issue here is bitbake is not able to spawn/launch a terminal due to permission issue.
This could be due to multiple reasons.
Which terminal are you using?
Also can you try setting the OE_TERMINAL = "xterm" in <plnx-proj-root>/project-spec/meta-user/conf/petalinuxbsp.conf
11-05-2018 06:10 PM
Hi Moderator
The ternimal set bash as default. I add the OE_TERMINAL="xterm" in the petalinuxbsp.conf file. The terminal reminder error.
[zhengjia@hw54 zcu102]$ petalinux-config -c kernel
[INFO] generating Kconfig for project
[INFO] sourcing bitbake
[INFO] generating plnxtool conf
[INFO] generating meta-plnx-generated layer
[INFO] generating machine configuration
[INFO] configuring: kernel
[INFO] generating kernel configuration files
[INFO] bitbake virtual/kernel -c menuconfig
ERROR: Unable to start bitbake server
ERROR: Server log for this session (/home/zhengjia/work/petalinux/zcu102/build/bitbake-cookerdaemon.log):
--- Starting bitbake server pid 99283 at 2018-11-06 01:22:30.617984 ---
ERROR: ParseError at /home/zhengjia/work/petalinux/zcu102/project-spec/meta-user/conf/petalinuxbsp.conf:15: unparsed line: 'OE_TERMINAL =“xterm”'
ERROR: bitbake failed to cleansstate kernel
ERROR: Failed to config kernel.
Now I use the MobaXterm. So I try to use different terminal(Tera Term and Xshell ) to resolve the error. but It still have the error. I do not know how to resolve the error.
PS: when I run over petalinux-config --get-hw-description<>, It is a error.
ERROR: OE-core's config sanity checker detected a potential misconfiguration.
ERROR: Parse failure with the specified layer added
So, I create a empty sanity.conf file in ./build/conf. Is there any problem?
11-06-2018 06:59 AM
Hi @zhengjia,
Looks like something went wrong during your build or in build setup.
Can you clean the build and relaunch the build. And post the output of the logs.
$ petalinux-build -x mrproper $ petalinux-config -c kernel
11-06-2018 07:38 PM - edited 11-06-2018 08:35 PM
Hi ,I am so tired about this error. and It no progress about my project.
I create a new petalinux project to recode all the details. please help me to analyze the error.
*************************************************************************************************
[zhengjia@hw54 petalinux]$ petalinux-create --type project --template zynqMP --name zcu102
[zhengjia@hw54 petalinux]$ cd zcu102
[zhengjia@hw54 zcu102]$ petalinux-config --get-hw-description=../zcu102_hdf/
INFO: Getting hardware description...
INFO: Rename zcu102_wrapper.hdf to system.hdf
[INFO] generating Kconfig for project
[INFO] menuconfig project
/home/zhengjia/work/petalinux/zcu102/build/misc/config/Kconfig.syshw:30:warning: defaults for choice values not supported
/home/zhengjia/work/petalinux/zcu102/build/misc/config/Kconfig:597:warning: config symbol defined without type
configuration written to /home/zhengjia/work/petalinux/zcu102/project-spec/configs/config
*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.
[INFO] sourcing bitbake
[INFO] generating plnxtool conf
[INFO] generating meta-plnx-generated layer
[INFO] generating machine configuration
[INFO] generating bbappends for project . This may take time !
ERROR: OE-core's config sanity checker detected a potential misconfiguration.
ERROR: Parse failure with the specified layer added
[INFO] generating u-boot configuration files
[INFO] generating kernel configuration files
[INFO] generating kconfig for Rootfs
[INFO] oldconfig rootfs
[INFO] generating petalinux-user-image.bb
So , I create a sanity.conf file in the path of ./build/conf/ , then Irun petalinux-config
zhengjia@hw54 zcu102]$ petalinux-config
[INFO] generating Kconfig for project
[INFO] menuconfig project
/home/zhengjia/work/petalinux/zcu102/build/misc/config/Kconfig.syshw:30:warning: defaults for choice values not supported
/home/zhengjia/work/petalinux/zcu102/build/misc/config/Kconfig:597:warning: config symbol defined without type
*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.
[INFO] sourcing bitbake
[INFO] generating plnxtool conf
[INFO] generating meta-plnx-generated layer
[INFO] generating machine configuration
[INFO] generating bbappends for project . This may take time !
[INFO] generating u-boot configuration files
[INFO] generating kernel configuration files
[INFO] generating kconfig for Rootfs
[INFO] oldconfig rootfs
[INFO] generating petalinux-user-image.bb
[INFO] successfully configured project
[zhengjia@hw54 zcu102]$
Then I run petalinux-config -c u-boot
[zhengjia@hw54 zcu102]$ petalinux-config -c u-boot
[INFO] generating Kconfig for project
[INFO] sourcing bitbake
[INFO] generating plnxtool conf
[INFO] generating meta-plnx-generated layer
[INFO] generating machine configuration
[INFO] configuring: u-boot
[INFO] generating u-boot configuration files
[INFO] bitbake virtual/bootloader -c menuconfig
Loading cache: 100% |#############################################################################################################| Time: 0:00:00
Loaded 3440 entries from dependency cache.
Parsing recipes: 100% |###########################################################################################################| Time: 0:00:03
Parsing of 2552 .bb files complete (2509 cached, 43 parsed). 3441 targets, 139 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |########################################################################################################| Time: 0:00:04
Checking sstate mirror object availability: 100% |################################################################################| Time: 0:00:00
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: u-boot-xlnx-v2018.01-xilinx-v2018.2+gitAUTOINC+21812b5fd3-r0 do_menuconfig: Error executing a python function in exec_python_func() autogenerated:
Have no idea about this.
Please check the log in the attachments.
11-07-2018 11:36 PM
Hi, I check the error information.
When I run petalinux-build -c kernel
The error information is "Please use a umask whick allows a+rx and u_rwx "
I install the petalinux package in no-root user. Do you know how to fix the error?
11-09-2018 02:17 AM
11-09-2018 12:23 PM
Hi @zhengjia,
When you download the petalinux installer you no need to change any permission to installer make sure your downloads and installer path has read write permissions.
12-06-2018 01:27 AM
Hi,I have the same probleam. but I dont know how to fix it after read all reply.
can you tell me how to fix it ?
06-14-2019 11:43 PM
12-02-2019 11:48 PM
I have the same problem.I tried many ways,and sloved it.
To use xfce4-terminal .
I changed gonme-terminal to xfce4-terminal in ubuntu16.04,the petalinux-config can run well.I don't know why,and if you know please tell me.
AND if this reply help you,please Click the 'Kudos' button.Just let it help more people.
AND I suggest the questioner don't mark the reply (that can't slove the problem)as Solution,This will mislead everyone。For example , I dont know how to fix this problem after read all reply.
06-17-2020 11:08 AM
Thank you for your post., uxterm also worked for me.
I had the same issue:
Exception: PermissionError: [Errno 13] Permission denied
origination from the call ' terminal.__init__(self, sh_cmd, title, env, d)' in terminal.py:
After trying many suggestions, I followed your lead and changed gnome-terminal to 'uxterm'
and in petalinuxbsp.conf : OE_TERMINAL = "uxterm"
After that no crashes and configuration window pops up. But the window looked screwed up.I had to pull the window from a corner to enlarge it to look normal. To fix that , in the window changed EDIT>Preferences>Appearance default geometry to 130x30 (or whatever size work for you). After that when I build the kernel, normal configuration widow pops up and build works.
Hope someone finds this useful. I spent hours fighting this.
08-31-2020 04:39 AM
Can you tell me how to resolve this problem for I meet it now??
04-07-2021 06:48 AM
In your shell, you have to make sure you have the umask is set correctly. This determines how processes you launch from the shell (e.g., the petalinux-config and petalinux-build commands) will be able to set permissions. Petalinux requires permissiveness of at least
umask a+rx,u+rwx
You can check the current umask by simply typing
umask -S
A maximally permissive umask would be
umask a+rwx
but according to the error message, only the first umask is necessary (generally you don't want people who are not the user or group--i.e., "other"--to have write permissions on files/directories). So, I recommend the first command to set your umask, then you can run petalinux-config, petalinux-build, etc.
umask a+rx,u+rwx
(And you can add the above to your .bashrc or .profile etc., whatever the appropriate file is for the shell you using so you don't have to type it every time you start up a new shell.)