Bug #16282 Parallel 'make -j' builds fail
| Submitted: | 8 Jan 2006 6:42 | Modified: | 4 Oct 2006 2:50 |
|---|---|---|---|
| Reporter: | Kristian Nielsen | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Compiling | Severity: | S3 (Non-critical) |
| Version: | 4.1, 5.0, 5.1 | OS: | Solaris (Solaris 10 sparc) |
| Assigned to: | Kristian Nielsen | CPU Architecture: | Any |
[8 Jan 2006 6:46]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/748
[11 Jan 2006 13:11]
Kristian Nielsen
Fix pushed for 5.0.16 and 5.1.6-alpha. For documentation: This fixes a problem seen on Solaris (with the Solaris compiler), where parallel make (make -j4) would fail.
[13 Jan 2006 0:37]
Mike Hillyer
Added to 5.0.19 and 5.1.6 changelogs:
<listitem>
<para>
Parallel builds occasionally failed on Solaris. (Bug #16282)
</para>
</listitem>
[11 Sep 2006 14:52]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/11695 ChangeSet@1.2535, 2006-09-11 16:49:44+02:00, knielsen@ymer.(none) +4 -0 BUG#16282 Build gcc.o as a small library, instead of passing .cpp sources to the linker command (causes problems with parallel make on Solaris). This fix is for 4.1. In 5.0 and up a different fix is used.
[12 Sep 2006 7:49]
Kristian Nielsen
This bug also affects 4.1, but a different fix is needed than in 5.0 and 5.1. I have committed a new 4.1 patch for review.
[21 Sep 2006 19:48]
Kristian Nielsen
Pushed to mysql-4.1-maint. Null-merged to mysql-5.0-maint.
[3 Oct 2006 20:03]
Chad MILLER
Available in 5.0.26.
[3 Oct 2006 20:10]
Chad MILLER
Available in 5.1.12-beta.
[3 Oct 2006 21:37]
Kristian Nielsen
For documentation: just to clarify, this bug was already fixed in 5.0 and 5.1 some time ago. There is a different fix for 4.1, this fix was null-merged to 5.0 and 5.1, but the new changelog entry should only be for 4.1 I believe.
[4 Oct 2006 2:50]
Paul DuBois
Noted in 4.1.22 changelog. Parallel builds occasionally failed on Solaris.
[4 Oct 2006 13:57]
Chad MILLER
Available in 4.1.22.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.067 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: On Solaris 10 SPARC, with the Sun compiler, parallel builds (make -j4) often fail with the error: cg error (as) : write error on output file "gcc.o" : No such file or directory The reason is this line in ndb/config/common.mk.am, which puts a .cpp file on the linker command line: LDADD = $(top_srcdir)/storage/ndb/src/common/portlib/gcc.cpp $(LDADD_LOC) So if two linker commands run in parallel, they both try to write the file gcc.o simultaneously, causing a conflict. Apparently the GNU linker tolerates this, while the Sun linker gets the above error. The problem is a bit silly since the file gcc.cpp no longer serves any purpose, it has no meaningfull content: #if 0 extern "C" { int __cxa_pure_virtual() { return 0;} } #endif This happened in this changeset: ChangeSet 1.1773.251.1 05/05/04 13:29:15 joreland@mysql.com +2 -0 bug#10330 - linking with ndb fails changes to handling of new/delete cxa_pure_virtual has changed in mysys remove "ndb"'s own impl. as they are no longer needed as we link mysys at all places ndb/src/common/util/new.cpp 1.6.1.1 05/05/04 13:29:12 joreland@mysql.com +1 -1 remove "ndb" new/delete ndb/src/common/portlib/gcc.cpp 1.2.1.1 05/05/04 13:29:12 joreland@mysql.com +1 -1 remove ndb __cxa_pure_virtual How to repeat: make -j4 on Solaris 10 SPARC, using the Sun compiler Suggested fix: I suggest simply removing the file gcc.cpp. I will commit this change for review.