ygrek / mldonkey

cross-platform multi-network p2p daemon (previously at http://mldonkey.sourceforge.net/)
Other
240 stars 45 forks source link

Missing dependencies in parallel builds #48

Open chusopr opened 4 years ago

chusopr commented 4 years ago

Hi,

I've found very often that builds fail when more than one make job is run in parallel with errors that seem to be related to trying to pull dependencies that are not built yet:

File "src/networks/donkey/donkeyNodesDat.ml", line 3, characters 5-18:
3 | open CommonOptions
         ^^^^^^^^^^^^^
Error: Unbound module CommonOptions

Other times I get an error about missing Printf2, but I was not able to reproduce it for this ticket.

Those errors disappear when telling make to use only one job (-j1).

I don't know enough about OCaml or Make to debug it, but it seems to miss something to enforce dependencies are built first.

ygrek commented 4 years ago

This is unlikely I will work on this one. More likely is that I will try to get rid of make build system in favor of dune, but no ETA.

chusopr commented 4 years ago

Yes, I get it, especially when there is a workaround. And I think the current system is a bit outdated too. But I thought it was appropriate to report it and also that way people with the same issue could find the workaround.

ygrek commented 4 years ago

Yes, sure, thanks for reporting!