ARMmbed / mbed-os

Arm Mbed OS is a platform operating system designed for the internet of things
https://mbed.com
Other
4.67k stars 2.98k forks source link

Compile did not finish in 5 minutes - in build_travis.py #752

Closed PrzemekWirkus closed 9 years ago

PrzemekWirkus commented 9 years ago

Description

When I try to run workspace_tools/build_travis.py on our local Linux:

python workspace_tools/build_travis.py

machine I got:

Compile did not finish in 5 minutes

error and compilation stops on the first target executed with below command:

Executing: python workspace_tools/build.py -m LPC1768 -t GCC_ARM -j 4 -c --dsp --rtos --eth --usb_host --usb --ublox --fat

Compilation stops during DSP library compilation.

Note: I was also able to reproduce this on my Thinkpad laptop with Widnows 7 64-bit.

My Linux machine CPU info:

przemek@mbedci:~/mbed_przemek$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Intel(R) Pentium(R) 4 CPU 3.00GHz
stepping        : 3
microcode       : 0x5
cpu MHz         : 1400.000
cache size      : 2048 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes

Testing on Linux machine

Building library CMSIS_DSP (LPC1768, GCC_ARM)
Copy: arm_common_tables.h
Copy: math_helper.h
Copy: arm_math.h
Compile: arm_abs_f32.c
Compile: arm_abs_q31.c
Compile: arm_abs_q15.c
...
...
...
Compile: arm_cfft_radix2_init_f32.c
Compile: arm_cfft_radix2_f32.c
Compile: arm_cfft_radix2_init_q15.c
Compile: arm_cfft_radix2_init_q31.c
Compile: arm_cfft_f32.c
Compile: arm_cfft_radix4_init_f32.c
Compile: arm_cfft_radix4_init_q15.c
Compile: arm_cfft_radix2_q31.c
Compile: arm_cfft_radix2_q15.c
Compile: arm_cfft_radix4_init_q31.c
Compile: arm_cfft_radix4_f32.c
Compile: arm_dct4_f32.c
Compile: arm_cfft_radix8_f32.c
Compile: arm_cfft_radix4_q31.c
Compile: arm_cfft_radix4_q15.c
Compile did not finish in 5 minutes
Completed in: (114.33)s

  Build failures:
  * GCC_ARM::LPC1768
PrzemekWirkus commented 9 years ago

Code below in

mbed/workspace_tools/toolchains/toolchains/__init__.py

throws this exception:

    def compile_queue(self, queue, objects):
        jobs_count = int(self.jobs if self.jobs else cpu_count())
        p = Pool(processes=jobs_count)

        results = []
        for i in range(len(queue)):
            results.append(p.apply_async(compile_worker, [queue[i]]))

        itr = 0
        while True:
            itr += 1
            if itr > 6000:
                p.terminate()
                p.join()
                raise ToolException("Compile did not finish in 5 minutes")
dinau commented 9 years ago

Hi, I tried the same way on my Linux and Windows8.1. It seems no problem. I'm using , Linux(32bit) on VMWare: gcc version 4.8.4 20140725 (release) ARM/embedded-4_8-branch revision 213147 (GNU Tools for ARM Embedded Processors) Python 2.7.3

Windows8.1(64bit), AMD 1GHz 4Core Note PC: gcc version 4.8.3 (GNU Tools for ARM Embedded Processors) Python 2.6.6

dinau

screamerbg commented 9 years ago

The actual limit is 1 minute, not 5 minutes as reported and originally intended. This should now be fixed.

0xc0170 commented 9 years ago

@screamerbg You could have sent a pull request, reference this issue , and we could test it from your branch

0xc0170 commented 9 years ago

@PrzemekWirkus this is the fix which was pushed to master https://github.com/mbedmicro/mbed/commit/45c1f43182dd9402e87e4b46a981e9f9667a2374

If you consider it's fixed with this commit, please close this issue, if not , add comment here. Thanks