在do_configure_prepend() { echo > ${S}/examples/necro/Makefile.am touch ${S}/ChangeLog export DESTDIR=${XENOMAIDIR} }这段代码中报错Parsing recipes...ERROR: /home/wu/3568/yocto/meta-niic/niic/recipes-necro/ethercat/ethercat_1.5.bb: Variable do_configure_prepend contains an operation using the old override syntax. Please convert this layer/metadata before attempting to use with a newer bitbake.如何解决
时间: 2023-12-04 12:02:12 浏览: 26
这个错误是因为该代码中使用了旧的override语法,需要将其转换为新的语法。你可以尝试使用以下方法来解决该问题:
1. 在该代码段中,将 "export DESTDIR=${XENOMAIDIR}" 改为 "export DESTDIR = ${XENOMAIDIR}",即在 "=" 前后加上空格。
2. 将 "do_configure_prepend ()" 改为 "do_configure_prepend() { ... }",即将左括号与函数名连在一起。
3. 将 "echo > ${S}/examples/necro/Makefile.am" 改为 "echo "" > ${S}/examples/necro/Makefile.am",即在 "echo" 后添加一个空字符串。
4. 如果以上方法无效,你可以尝试将其转换为新的override语法,例如 "do_configure_prepend() { export DESTDIR = ${XENOMAIDIR};}"。
如果你仍然无法解决问题,可能需要检查你使用的bitbake版本是否太旧,或者检查你的层是否需要更新或重新转换。
相关问题
./configure --prefix=$PWD/../_install_host --enable-shared
这个命令是在编译安装某个软件时使用的,其中各个参数的含义如下:
- `./configure`:执行 configure 脚本,该脚本会根据系统环境和用户设置自动生成 Makefile 文件,以便后续编译安装软件。
- `--prefix=$PWD/../_install_host`:指定安装路径为当前目录的上一级目录 `_install_host`,这里用 `$PWD` 获取当前目录的绝对路径。
- `--enable-shared`:启用共享库,生成动态链接库(.so 文件),以便其他程序可以动态链接调用该库。
上述命令中的参数可以根据具体的软件和安装需求进行修改,以满足不同的编译安装需求。
qt-everywhere-src-5.12.9$ ./configure bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory
这个错误通常是由于文件格式不兼容导致的。^M是回车符的表示,可能是因为文件在不同的操作系统上进行了传输或编辑。您可以尝试使用dos2unix命令来转换文件格式。
要安装dos2unix命令,请在终端中运行以下命令:
```
sudo apt-get install dos2unix
```
然后,使用dos2unix命令转换configure文件的格式:
```
dos2unix configure
```
转换完成后,再次运行./configure命令,应该就能正常工作了。