Opened 12 years ago

Closed 12 years ago

#38327 closed defect (worksforme)

mdbtools @0.7 should not be built in parallel

Reported by: cooljeanius (Eric Gallager) Owned by: anddam (Andrea D'Amore)
Priority: Normal Milestone:
Component: ports Version: 2.1.3
Keywords: Cc: anddam (Andrea D'Amore)
Port: mdbtools

Description

So I was recently trying to install mdbtools, and got the following error:

lexer.l:22:10: fatal error: 'parser.h' file not found
updating parser.h
#include "parser.h"
         ^
1 error generated.
  CC       parser.lo
make[2]: *** [lexer.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_databases_mdbtools/mdbtools/work/mdbtools-0.7/src/sql'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_databases_mdbtools/mdbtools/work/mdbtools-0.7/src'
make: *** [all-recursive] Error 1
make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_databases_mdbtools/mdbtools/work/mdbtools-0.7'
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_databases_mdbtools/mdbtools/work/mdbtools-0.7" && /usr/bin/make -j4 -w all 
Exit code: 2
Error: org.macports.build for port mdbtools returned: command execution failed

I tried building again immediately after that and it built perfectly fine. What I'm assuming happened was that one make job that required "parser.h" got reached before the make job that actually created "parser.h" got reached. Then, the second time around, the file was already there from the first time around. To work around this issue, I suggest that mdbtools use use_parallel_build no in its portfile.

Change History (8)

comment:1 Changed 12 years ago by cooljeanius (Eric Gallager)

darn it I just realized I got my cc and port fields mixed up...

comment:2 Changed 12 years ago by mf2k (Frank Schima)

Cc: and.damore@… added; mdbtools removed
Port: mdbtools added; and.damore@macports.org removed

comment:3 Changed 12 years ago by anddam (Andrea D'Amore)

Owner: changed from macports-tickets@… to and.damore@…
Status: newassigned

comment:4 Changed 12 years ago by anddam (Andrea D'Amore)

I cannot reproduce, I can build fine with any number of build jobs. Please run:

port clean mdbtools
port build mdbtools build.jobs=1

and confirm it builds correctly, use sudo if needed.

Then run

port clean mdbtools
port build mdbtools build.jobs=4

and confirm the build breaks.

comment:5 Changed 12 years ago by jmroot (Joshua Root)

A race condition by definition won't cause a 100% reproducible problem.

comment:6 in reply to:  5 ; Changed 12 years ago by anddam (Andrea D'Amore)

Replying to jmr@…:

A race condition by definition won't cause a 100% reproducible problem.

I understand that but I think that a clean and rebuild is the minimum test that has to be performed on the user side.

comment:7 in reply to:  6 Changed 12 years ago by cooljeanius (Eric Gallager)

Replying to and.damore@…:

Replying to jmr@…:

Replying to and.damore@...:

I cannot reproduce, I can build fine with any number of build jobs. Please run:

port clean mdbtools
port build mdbtools build.jobs=1

and confirm it builds correctly, use sudo if needed.

Then run

port clean mdbtools
port build mdbtools build.jobs=4

and confirm the build breaks.

A race condition by definition won't cause a 100% reproducible problem.

I understand that but I think that a clean and rebuild is the minimum test that has to be performed on the user side.

Hm, that's strange, I can't reproduce it now anymore, either... I wonder what went wrong the first time?

comment:8 Changed 12 years ago by anddam (Andrea D'Amore)

Resolution: worksforme
Status: assignedclosed

Idk but as rule of thumb a clean&build is appropriate on an error. I'm closing the ticket as worksforme but, if some other user reports issues using multiple jobs I'll disable parallel build.

Note: See TracTickets for help on using tickets.