Hi,Liming:
Our project has several components, EDK2 is one of them. This project has a top makefile, and this top makefile will call sub makefile to build every component. In the top makefile, it uses make -j4 to build every component include EDK2. So even if we add "option -n 1" to EDK2 build command, it doesn't work. But if changing -j4 to -j1 in the top makefile, the error will not occur again.
And there's a warning when using make -j4. Copying $EDK_TOOLS_PATH/Conf/target.template to /home/phisik3/bios_tt/bios/output/edk2/BaseTools/Conf/target.txt make[7]:warning: jobserver unvaliable: using -j1. Add '+' to parent make rule. make[7]:Entering directory '/home/phisik3/bios_tt/bios'
Thanks Wenyi
toggle quoted message
Show quoted text
On 2021/5/14 10:40, gaoliming wrote: Wenyi:
Build command has option -n. Can you try build -n 1 to disable multiple thread?
-n THREADNUMBER Build the platform using multi-threaded compiler. The value overrides target.txt's MAX_CONCURRENT_THREAD_NUMBER. When value is set to 0, tool automatically detect number of processor threads, set value to 1 means disable multi-thread build, and set value to more than 1 means user specify the
Thanks Liming
-----邮件原件----- 发件人: discuss@edk2.groups.io <discuss@edk2.groups.io> 代表 wenyi,xie via groups.io 发送时间: 2021年5月13日 20:05 收件人: Feng, Bob C <bob.c.feng@...>; discuss@edk2.groups.io; Andrew (EFI) Fish <afish@...> 主题: Re: [edk2-discuss] compile error
The environment is a docker, itself has no kernel, it depends on the kernel of host machine.
On 2021/5/13 19:29, Feng, Bob C wrote:
Could you try the python3?
Thanks, Bob
-----Original Message----- From: discuss@edk2.groups.io <discuss@edk2.groups.io> On Behalf Of wenyi,xie via groups.io
Sent: Thursday, May 13, 2021 7:20 PM To: Andrew (EFI) Fish <afish@...>; discuss@edk2.groups.io Subject: Re: [edk2-discuss] compile error
And this error only occurred in a specific environment. We trace the commit log and find this error relate to the feature "BaseTools Enable multiple-thread autogen".
Maybe this environment doesn't support multi thread well, the root cause is still unknown.
May I ask whether there's a way to disable this feature, or any other workaround for this problem.
Thanks Wenyi
On 2021/5/12 23:23, Andrew (EFI) Fish wrote:
That is an error in a Python build tool, not a compiler error?
Sent from my iPhone
On May 12, 2021, at 2:41 AM, wenyi,xie via groups.io <xiewenyi2@...> wrote:
Hello everyone,
When we update EDK2 version from 201903 to 202011, we meet a
compile error, the error message like below. we roll back the EDK2 version and find the error starts from 201908.
Our env is Linux job-for-start-dev-docker-210-mxzlp-5vjvk-n9nt4 4.15.0-45-generic #86-Ubuntu SMP X86_64 python 2.7.17 Does anyone know how to solve this compile error.
Building ...
/home/phisik3/jenkins_home/workspace/C_56173/work_code/bios/output/e dk2/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf [AARCH64] Exception in thread Thread-1:
Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner self.run() File
"/home/phisik3/jenkins_home/workspace/C_56173/work_code/bios/output/ edk2/BaseTools/Source/Python/AutoGen/AutoGenWorker.py", line 85, in run
log_message = self.log_q.get() File "/usr/lib/python2.7/multiprocessing/queues.py", line 117, in get res = self._recv() UnpicklingError: invalid load key, ''.
.
.
|
Wenyi:
Build command has option -n. Can you try build -n 1 to disable multiple thread?
-n THREADNUMBER Build the platform using multi-threaded compiler. The value overrides target.txt's MAX_CONCURRENT_THREAD_NUMBER. When value is set to 0, tool automatically detect number of processor threads, set value to 1 means disable multi-thread build, and set value to more than 1 means user specify the
Thanks Liming
toggle quoted message
Show quoted text
-----邮件原件----- 发件人: discuss@edk2.groups.io <discuss@edk2.groups.io> 代表 wenyi,xie via groups.io 发送时间: 2021年5月13日 20:05 收件人: Feng, Bob C <bob.c.feng@...>; discuss@edk2.groups.io; Andrew (EFI) Fish <afish@...> 主题: Re: [edk2-discuss] compile error
The environment is a docker, itself has no kernel, it depends on the kernel of host machine.
On 2021/5/13 19:29, Feng, Bob C wrote:
Could you try the python3?
Thanks, Bob
-----Original Message----- From: discuss@edk2.groups.io <discuss@edk2.groups.io> On Behalf Of wenyi,xie via groups.io
Sent: Thursday, May 13, 2021 7:20 PM To: Andrew (EFI) Fish <afish@...>; discuss@edk2.groups.io Subject: Re: [edk2-discuss] compile error
And this error only occurred in a specific environment. We trace the commit log and find this error relate to the feature "BaseTools Enable multiple-thread autogen".
Maybe this environment doesn't support multi thread well, the root cause is still unknown.
May I ask whether there's a way to disable this feature, or any other workaround for this problem.
Thanks Wenyi
On 2021/5/12 23:23, Andrew (EFI) Fish wrote:
That is an error in a Python build tool, not a compiler error?
Sent from my iPhone
On May 12, 2021, at 2:41 AM, wenyi,xie via groups.io <xiewenyi2@...> wrote:
Hello everyone,
When we update EDK2 version from 201903 to 202011, we meet a
compile error, the error message like below. we roll back the EDK2 version and find the error starts from 201908.
Our env is Linux job-for-start-dev-docker-210-mxzlp-5vjvk-n9nt4 4.15.0-45-generic #86-Ubuntu SMP X86_64 python 2.7.17 Does anyone know how to solve this compile error.
Building ...
/home/phisik3/jenkins_home/workspace/C_56173/work_code/bios/output/e dk2/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf [AARCH64] Exception in thread Thread-1:
Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner self.run() File
"/home/phisik3/jenkins_home/workspace/C_56173/work_code/bios/output/ edk2/BaseTools/Source/Python/AutoGen/AutoGenWorker.py", line 85, in run
log_message = self.log_q.get() File "/usr/lib/python2.7/multiprocessing/queues.py", line 117, in get res = self._recv() UnpicklingError: invalid load key, ''.
.
|