Menu

#3628 parallel uCsim build broken

closed-works-for-me
None
other
5
2023-12-12
2023-08-01
No

Recently, I noticed that parallel builds of sdcc sometimes fail, while non-parallel ones never do. I think this is a problem in the uCsim build infrastructure:

Output from one run of nice make -j 8, which looks to me as if a command to create fileio.o is run, but before it terminates, another one already tries to use the not-yet-ready fileio.o:

[…]
g++ -Wall -Wno-overloaded-virtual -g -O2 -ggdb -pipe  -I. -I.. -I.. -I../sim.src -I../gui.src  -c cmdutil.cc -o cmdutil.o
g++ -Wall -Wno-overloaded-virtual -g -O2 -ggdb -pipe   -I. -I../.. -c fileio.cc -o fileio.o
[…]
gcc -c -pipe -ggdb -g -O2 -Wall -Wno-parentheses -DSDCDB -DNOICE -DINDEXLIB -I. -I. -I./../asxxsrc -I./../../support/util  -I. -I../.. -I./../../support/util -I. -pipe -ggdb -g -O2 -Wall -Wno-parentheses -o obj/aslex.o ../asxxsrc/aslex.c
g++ -Wall -Wno-overloaded-virtual -g -O2 -ggdb -pipe  -I. -I.. -I.. -I../sim.src -I../gui.src  -c newcmdposix.cc -o newcmdposix.o
g++ -o serialview -Wall -Wno-overloaded-virtual -g -O2 -ggdb -pipe   main.o fileio.o frontend.o posix_signal.o -lpanel -lcurses -ltinfo -lrt 
/usr/bin/ld: cannot find main.o: Datei oder Verzeichnis nicht gefunden
/usr/bin/ld: cannot find fileio.o: Datei oder Verzeichnis nicht gefunden
/usr/bin/ld: cannot find frontend.o: Datei oder Verzeichnis nicht gefunden
/usr/bin/ld: cannot find posix_signal.o: Datei oder Verzeichnis nicht gefunden
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:103: serialview] Fehler 1
[…]

Related

Bugs: #3619
Wiki: SDCC 4.4.0 Release

Discussion

  • Philipp Klaus Krause

    • summary: uCsim build broken --> parallel uCsim build broken
     
  • Philipp Klaus Krause

    • status: open --> closed-works-for-me
    • assigned_to: Philipp Klaus Krause
     
  • Philipp Klaus Krause

    I haven't been able to reproduce this for a few months.

     

Log in to post a comment.

MongoDB Logo MongoDB