-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
parallel build with gnu make 4.4 fails #3899
Comments
No idea, but the item you quoted reads more like the opposite to me. In your case it seems to tackle "shared" in parallel with the two targets it depends on. (Though judging from the compiler output there could be parts of the static library already on disk). Could there be something else involved that might garble contents or timestamps, like a distributed filesystem or a host filesystem mounted inside a virtual machine ? |
Found a hint in the comments to a youtube rant about gmake breaking glibc builds - suggestion was to add |
Not reproducible so far on openSuSE tumbleweed with gmake 4.4 (though with the caveat that it is a VM with only 10 threads assigned to it, so maybe more&faster cores could change the picture - but at least this suggests that setting MAKE_NB_JOBS=10 might be an acceptable workaround if the problem is not caused by an underlying filesystem error) |
It's just to exclude
It was a regular desktop, with a fast nvme disk
Aha, I really picked gmake 4.4 because of its fifo jobserver support, it's much more reliable than pipes. I'll try to come up with a better reproducer once I have access to the relevant machine again. If it just works for you, maybe it is something machine specific... |
I'll try on a bigger system sometime next week. |
How many processors does actual machine have? |
@haampie please attach full build logs as spack build bug template suggests. Your guess about not finding file (../libopenblas_zenp-r0.3.21.a) should manifest much earlier when |
Works fine on fedora rawhide upgraded earlier today. |
Got it. You pass -j`nproc` to make and that runs 3 jobs, one for each target, in parallel, no matter MAKE_NB_JOBS setting. |
So the repeater: |
@haampie actually most other spack packages get built exactly invoking multiple make()-s |
Question is if this is a regression in GNU make or not. ELF files are broken/truncated, and if I repeatedly run
there's ... scary warnings like
🤦♂️ I can try and file an issue upstream, to me |
Can you confirm that the default |
Yeah, |
Ah, if I do
|
|
Even simpler
This also happens with make 4.3 |
Oh well. Does it work with an added dependeny |
Fix a race in the makefile where the shared lib was built before the object files were available. See OpenMathLib/OpenBLAS#3899
Fix a race in the makefile where the shared lib was built before the object files were available. See OpenMathLib/OpenBLAS#3899
Fix a race in the makefile where the shared lib was built before the object files were available. See OpenMathLib/OpenBLAS#3899
Fix a race in the makefile where the shared lib was built before the object files were available. See OpenMathLib/OpenBLAS#3899
Fix a race in the makefile where the shared lib was built before the object files were available. See OpenMathLib/OpenBLAS#3899
Fix a race in the makefile where the shared lib was built before the object files were available. See OpenMathLib/OpenBLAS#3899
I seem to get a build issue when using GNU make 4.4 with
with
-j16
at the top-level make (openblas is built with a recursive make; not sure if relevant) which fails after some time withIs there anything that jumps out of the changelog that could explain this? https://lists.gnu.org/archive/html/info-gnu/2022-10/msg00008.html.
Maybe this?
With GNU make 4.3 everything looks fine.
The text was updated successfully, but these errors were encountered: