Resolved ptest failures in espeak-ng package#15984
Resolved ptest failures in espeak-ng package#15984kgodara912 merged 2 commits intomicrosoft:3.0-devfrom
espeak-ng package#15984Conversation
|
Buddy Build has been triggered - https://dev.azure.com/mariner-org/mariner/_build/results?buildId=1056796&view=results |
Buddy Build has passed. |
espeak-ng packageespeak-ng package
Kanishk-Bansal
left a comment
There was a problem hiding this comment.
Root cause analysis is correct — the libtool race condition with parallel builds is a well-known class of bug in autotools projects
define _smp_mflags -j1 is a global override — not scoped to %check
Using %define _smp_mflags -j1 inside %check redefines the macro globally for the rest of the spec. While this works here because %check is the last section that calls %make_build, it's fragile. If anyone adds a %post build step or reorders sections, the build phase would also get -j1.
Recommendation: Use %make_build -j1 check directly (or make -j1 check) instead of redefining the macro. This is more explicit and avoids side effects. Alternatively, %global _smp_mflags -j1 would at least make the intent clearer, but the inline override is still preferred
Sure, will update the spec file accordingly and confirm by executing local build and Buddy build. |
7f9bf3b to
c266bcd
Compare
|
@Kanishk-Bansal Could you please re-trigger the Buddy Build ! |
The Buddy Build has been triggered and has also passed ! |
kgodara912
left a comment
There was a problem hiding this comment.
Minor correction in parallel execution of only check section due to failure in parallel execution. Buddy build is successful. LGTM.
Merge Checklist
All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)
*-staticsubpackages, etc.) have had theirReleasetag incremented../cgmanifest.json,./toolkit/scripts/toolchain/cgmanifest.json,.github/workflows/cgmanifest.json)./LICENSES-AND-NOTICES/SPECS/data/licenses.json,./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md,./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)*.signatures.jsonfilessudo make go-tidy-allandsudo make go-test-coveragepassSummary
Resolved ptest failures in
espeak-ngpackage by disabling parallel build in check section.In brief, during the
espeak-ngtest build,libtoolattempts to link the espeak test librarysrc/libespeak-ng-test.la, which depends on many objects generated fromsrc/libespeak-ng/*.c. The build logs showlibtoolcompile steps producing PIC objects undersrc/libespeak-ng/.libandlibtoolwrapper (.lo).However, the error indicates the expected wrapper file
src/libespeak-ng/test_la-translate.lois not a valid libtool object, typically meaning the file either does not exist as a proper ".lo" text wrapper or otherwise corrupted. In the test log file, this seems to be the root cause of the issue, where the library is linked before being built. This mismatch commonly occurs when using Automake's subdir-objects with custom suffix rules or parallel/concurrent builds that race on object generation.AI Analysis relevance (In %) / Reasoning
AI Analysis relevance (In %): 99
Build/Dependency Information
The PR is a leaf PR which builds alone successfully.
Change Log
Does this affect the toolchain?
NO
Associated issues
Test Methodology
License check script shows no warning.
Build logs:
espeak-ng-1.52.0-2.azl3.src.rpm.log
espeak-ng-1.52.0-2.azl3.src.rpm.test.log