Ubuntu18.04编译全志A40i SDK各种错误处理办法

主机版本: Linux version 5.4.0-77-generic (buildd@lgw01-amd64-021) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #86~18.04.1-Ubuntu SMP Fri Jun 18 01:23:22 UTC 2021

1

Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/${ <-- HERE ([^ 	=:+{}]+)}/ at /media/nrjd/cqr40_linuxqt_bv3s/buildroot-2017.02.3/output/host/usr/bin/automake line 3936.

修改buildroot-2017.02.3/output/host/usr/bin/automake文件3936行的

$text =~ s/${([^ 	=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;

为$text =~ s/$([^ =:+{}]+)/substitute_ac_subst_variables_worker ($1)/ge;

2

misc/create_inode.c:395:18: error: conflicting types for ‘copy_file_range‘

注释掉buildroot-2017.02.3/output/build/host-e2fsprogs-1.43.3/misc/create_inode.c引用的头文件

//#include <unistd.h>

3

digitlst.cpp:67:13: fatal error: xlocale.h: 没有那个文件或目录
 #   include <xlocale.h>

注释掉buildroot-2017.02.3/output/build/host-icu-58.2/source/i18n/digitlst.cpp 引用的头文件

//#   include <xlocale.h>

其它

Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/${ <-- HERE ?PACKAGE}?/ at /media/nrjd/cqr40_linuxqt_bv3s/buildroot-2017.02.3/output/host/usr/bin/intltool-update line 1115.

将第一个{ 用大括号[]包起来,如

$varhash{
          
   "PACKAGE"} = $name if (not $name =~ /${?PACKAGE}?/);

修改为

$varhash{
          
   "PACKAGE"} = $name if (not $name =~ /$[{
          
   ]?PACKAGE}?/);
pipe.cpp:86:29: error: invalid conversion from char to const void* [-fpermissive]
   ::write(_fd_write, , 1);

修改out/sun8iw11p1/linux/common/buildroot/build/host-dbus-cpp-0.9.0/src/pipe.cpp的

void Pipe::signal()
{
          
   
  // TODO: ignoring return of read/write generates warning; maybe relevant for eventloop work...
  ::write(_fd_write, , 1);
}

void Pipe::signal()
{
          
   
  // TODO: ignoring return of read/write generates warning; maybe relevant for eventloop work...
  ::write(_fd_write, (char*), 1);
}
Traceback (most recent call last):
  File "./buildtools/bin/waf", line 76, in <module>
    Scripting.prepare(t, cwd, VERSION, wafdir)
  File "/media/nrjd/a40i/out/sun8iw11p1/linux/common/buildroot/build/samba4-4.4.7/third_party/waf/wafadmin/Scripting.py", line 145, in prepare
    prepare_impl(t, cwd, ver, wafdir)
  File "/media/nrjd/a40i/out/sun8iw11p1/linux/common/buildroot/build/samba4-4.4.7/third_party/waf/wafadmin/Scripting.py", line 135, in prepare_impl
    main()
  File "/media/nrjd/a40i/out/sun8iw11p1/linux/common/buildroot/build/samba4-4.4.7/wscript", line 342, in main
    wildcard_main(wildcard_cmd)
  File "./buildtools/wafsamba/samba_wildcard.py", line 110, in wildcard_main
    fun(ctx)
  File "/media/nrjd/a40i/out/sun8iw11p1/linux/common/buildroot/build/samba4-4.4.7/third_party/waf/wafadmin/Scripting.py", line 241, in configure
    conf.sub_config([])
  File "/media/nrjd/a40i/out/sun8iw11p1/linux/common/buildroot/build/samba4-4.4.7/third_party/waf/wafadmin/Configure.py", line 237, in sub_config
    self.recurse(k, name=configure)
  File "/media/nrjd/a40i/out/sun8iw11p1/linux/common/buildroot/build/samba4-4.4.7/third_party/waf/wafadmin/Utils.py", line 656, in recurse
    f(self)
  File "/media/nrjd/a40i/out/sun8iw11p1/linux/common/buildroot/build/samba4-4.4.7/wscript", line 102, in configure
    conf.SAMBA_CHECK_PERL(mandatory=True)
  File "./buildtools/wafsamba/samba_perl.py", line 52, in SAMBA_CHECK_PERL
    perl_inc.remove(.)
ValueError: list.remove(x): x not in list
package/pkg-generic.mk:206: recipe for target /media/nrjd/a40i/out/sun8iw11p1/linux/common/buildroot/build/samba4-4.4.7/.stamp_configured failed
make[1]: *** [/media/nrjd/a40i/out/sun8iw11p1/linux/common/buildroot/build/samba4-4.4.7/.stamp_configured] Error 1
Makefile:76: recipe for target _all failed
make: *** [_all] Error 2
make: Leaving directory /media/nrjd/a40i/buildroot-201611
ERROR: build buildroot Failed

删除out/sun8iw11p1/linux/common/buildroot/build/samba4-4.4.7/buildtools/wafsamba/samba_perl.py第52行perl_inc.remove(.)

经验分享 程序员 微信小程序 职场和发展