[issue40424] AIX: parallel build and ld WARNINGS

2020-06-11 Thread Michael Felt


Michael Felt  added the comment:

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)

--
versions: +Python 3.10

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue40424] AIX: parallel build and ld WARNINGS

2020-04-28 Thread Michael Felt


Change by Michael Felt :


--
keywords: +patch
pull_requests: +19081
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/19759

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue40424] AIX: parallel build and ld WARNINGS

2020-04-28 Thread Michael Felt


New submission from Michael Felt :

Currently, on AIX, whenever the -j option is passed to make there are many 
WARNINGS from the loader (ld) re: duplicate symbols.

While it is not possible to eliminate these warnings completely - as some are 
not related to the Python build, but external (3rd party) packaging - MOST of 
these warnings can be eliminated by ensuring that the export file creation 
completes before additional steps try to use it.

By adding a small test to see if the export file is in the process of being 
made - and waiting for that to finish - the messages "go away".

The PR that is being proposed only affects AIX (a script named makeaix_exp). 
The script has not been modified in 22 years - so I guess the -j option is 
something that showed up after 1998 :)

I know it is not perfect - but removes a tremendous amount of noise - most of 
the time.

Michael

p.s. requesting backport to 3.8 so all buildbots benefit.

--
components: Build
messages: 367541
nosy: Michael.Felt
priority: normal
severity: normal
status: open
title: AIX: parallel build and ld WARNINGS
type: behavior
versions: Python 3.8, Python 3.9

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com