Git Product home page Git Product logo

Comments (10)

goebish avatar goebish commented on July 17, 2024

I relaunched it and it passed.
I suppose this is because of make -j2

from deviation.

TheRealMoeder avatar TheRealMoeder commented on July 17, 2024

OK. Let's wait for the next nightly before closing the issue.

from deviation.

howard0su avatar howard0su commented on July 17, 2024

i will take a look

from deviation.

howard0su avatar howard0su commented on July 17, 2024

where can I find the error? I didn't find error build from: https://travis-ci.org/DeviationTX/deviation/builds

from deviation.

hexfet avatar hexfet commented on July 17, 2024

I've been using dmake -j4 zips for local test builds. Sometimes it works and sometimes not. At least one problem seems to happen at the beginning when parallel jobs are trying to build the cm3 library at the same time. Maybe they're all putting the library in the same destination?

  CC      sync.c
  CC      dwt.c
  CC      dwt.c
  AR      libopencm3_stm32f1.a
  CC      sync.c
arm-none-eabi-ar: /git/deviation/src/libopencm3/lib/libopencm3_stm32f1.a: Error reading sync.o: File truncated
make[3]: *** [/git/deviation/src/libopencm3/lib/libopencm3_stm32f1.a] Error 1
make[2]: *** [lib/stm32/f1] Error 2
make[1]: *** [libopencm3/lib/libopencm3_stm32f1.a] Error 2
make: *** [zip_devo7e] Error 2
make: *** Waiting for unfinished jobs....
  CC      dwt.c
  AR      libopencm3_stm32f1.a

from deviation.

howard0su avatar howard0su commented on July 17, 2024

the cm3 lib only build once and place the fixed place in current Makefile. I can fix it by move it to individual objs/ folder. however it need change Makefile of libopencm3, which is not good practice.

In Makefile of libopencme, the target folder is not configurable as far as my read:
SRCLIBDIR:= $(realpath lib)
it is fixed to lib.

from deviation.

TheRealMoeder avatar TheRealMoeder commented on July 17, 2024

make -j4 seems to work fine for me. Shall we close this issue for now until the issue reappears?

from deviation.

hexfet avatar hexfet commented on July 17, 2024

It's a race condition. On my VM build box it still fails occasionally. With google's help came up with the following solution. Change lines 69-70 of target/common/devo/Makefile.inc to:

$(LIBOPENCM3):
    +flock $(LIBOPENCM3).lock $(MAKE) -C $(SDIR)/libopencm3 TARGETS=stm32/f1 lib; rm -f $(LIBOPENCM3).lock

This forces only one of the make jobs to build the libopencm3 library, which is the job process that gets the lock. The others wait till the library is built. When the library is built the lock is released. The waiting jobs still run the libopencm3 make, but the library is already up-to-date so it immediately returns.

But after this change, in my build environment, the build still fails because the optimize.ld file is shared for all targets. Need to fix that also...

from deviation.

howard0su avatar howard0su commented on July 17, 2024

please check PR #493

from deviation.

hexfet avatar hexfet commented on July 17, 2024

Fixed by #493

from deviation.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.