Author Michael.Felt
Recipients Michael.Felt
Date 2020-06-11.08:18:54
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1591863535.18.0.225092525356.issue40424@roundup.psfhosted.org>
In-reply-to
Content
specifically, makexp_aix - from 1998-1999 - did not consider parallelization.

make -j2 is sufficient to create the following issue - that frequently leads to a failed compile/build.

./Modules/makexp_aix Modules/python.exp . libpython3.9d.a;  gcc -pthread     -Wl,-bE:Modules/python.exp -lld -o python Programs/python.o libpython3.9d.a -lintl -ldl  -lm   -lm 
./Modules/makexp_aix Modules/python.exp . libpython3.9d.a;  gcc -pthread     -Wl,-bE:Modules/python.exp -lld -o Programs/_testembed Programs/_testembed.o libpython3.9d.a -lintl -ldl  -lm   -lm 
ld: 0711-418 ERROR: Import or export file Modules/python.exp at line 2:
	A symbol name may only be followed by an export attribute
	or an address. The line is being ignored.
ld: 0711-415 WARNING: Symbol PyAST_Check is already exported.
ld: 0711-415 WARNING: Symbol PyAST_Compile is already exported.
ld: 0711-415 WARNING: Symbol PyAST_CompileEx is already exported.
ld: 0711-415 WARNING: Symbol PyAST_CompileObject is already exported.
...
Over 4000 lines of warnings later:
ld: 0711-415 WARNING: Symbol _Py_write is already exported.
ld: 0711-415 WARNING: Symbol _Py_write_noraise is already exported.
collect2: error: ld returned 8 exit status
Makefile:598: recipe for target 'python' failed
make: *** [python] Error 1
program finished with exit code 2

Explanation: makexp_aix is running in parallel - and writing to python.exp in parallel.

The patch/PR "tames" this - and, hopefully, multiple "fails" per day, of the AIX bots will cease.

p.s. needed in 3.8, 3.9 and the new master (3.10)
History
Date User Action Args
2020-06-11 08:18:55Michael.Feltsetrecipients: + Michael.Felt
2020-06-11 08:18:55Michael.Feltsetmessageid: <1591863535.18.0.225092525356.issue40424@roundup.psfhosted.org>
2020-06-11 08:18:55Michael.Feltlinkissue40424 messages
2020-06-11 08:18:54Michael.Feltcreate