classification
Title: stop using ranlib
Type: Stage: resolved
Components: Build Versions: Python 3.8, Python 3.7, Python 3.6
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: benjamin.peterson, cstratak, kadler, vstinner
Priority: normal Keywords: patch

Created on 2017-09-29 06:15 by benjamin.peterson, last changed 2018-11-29 14:46 by vstinner. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 3815 merged benjamin.peterson, 2017-09-29 06:24
PR 3824 merged benjamin.peterson, 2017-09-29 16:26
PR 10417 merged cstratak, 2018-11-08 16:42
Messages (11)
msg303301 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2017-09-29 06:15
As far as I'm aware, every modern *nix's ar supports an "s" flag that removes the need to run ranlib separately on a a static library. We should just do that and stop running ranlib. That saves us some lines in configure.ac and the Makefile.
msg303332 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2017-09-29 15:42
New changeset d15108a4789aa1e3c12b2890b770550c90a30913 by Benjamin Peterson in branch 'master':
stop using ranlib (closes bpo-31625) (#3815)
https://github.com/python/cpython/commit/d15108a4789aa1e3c12b2890b770550c90a30913
msg303333 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-09-29 15:48
Buildbots are unhappy :-( Compilation failed on:

http://buildbot.python.org/all/builders/AMD64%20FreeBSD%20CURRENT%20Debug%203.x/builds/962/steps/compile/logs/stdio

http://buildbot.python.org/all/builders/AMD64%20FreeBSD%20CURRENT%20Non-Debug%203.x/builds/964/steps/compile/logs/stdio
msg303336 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2017-09-29 16:26
New changeset 6fb0e4a6d085ffa4e4a6daaea042a1cc517fa8bc by Benjamin Peterson in branch 'master':
explicitly list objects for the ar command (#3824)
https://github.com/python/cpython/commit/6fb0e4a6d085ffa4e4a6daaea042a1cc517fa8bc
msg303338 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-09-29 16:28
Thanks ;-)
msg329001 - (view) Author: Charalampos Stratakis (cstratak) * Date: 2018-10-31 17:44
Would it make sense to backport that to 3.6 as well? Currently this blocks https://bugs.python.org/issue28015 from being backported to 3.6
msg329483 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-11-08 17:27
(I reopen the issue.)

> Would it make sense to backport that to 3.6 as well? Currently this blocks https://bugs.python.org/issue28015 from being backported to 3.6

There is a risk of regression. Does bpo-28015 fix really depend on this change?

Benjamin wrote: "As far as I'm aware, every modern *nix's ar supports an "s" flag", but I'm not sure if Python 3.6 is only used on "modern Unix". Some people use AIX and HP-UX: does ar support "s" on these OSes?
msg329534 - (view) Author: Kevin (kadler) * Date: 2018-11-09 16:42
AIX supports the -s flag: https://www.ibm.com/support/knowledgecenter/en/ssw_aix_71/com.ibm.aix.cmds1/ar.htm#ar__row-d3e27561
msg330691 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-11-29 14:43
New changeset e1b210342fa08685bf9b24eb449a2f079f1b50f5 by Victor Stinner (stratakis) in branch '3.6':
[3.6] bpo-31625: Stop using ranlib (GH-10417)
https://github.com/python/cpython/commit/e1b210342fa08685bf9b24eb449a2f079f1b50f5
msg330692 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-11-29 14:46
Maybe it would be possible to keep ranlib in Python 3.6, but it seems safe to remove it. The master doesn't use ranlib and the compilation is fine in our large fleet of buildbot workers.

I chose to backport the change to be able to backport the clang LTO fix.
msg330693 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-11-29 14:46
clang LTO fix: bpo-28015
History
Date User Action Args
2018-11-29 14:46:50vstinnersetmessages: + msg330693
2018-11-29 14:46:30vstinnersetstatus: open -> closed

resolution: fixed
messages: + msg330692
versions: + Python 3.6, Python 3.8
2018-11-29 14:43:28vstinnersetmessages: + msg330691
2018-11-09 16:42:53kadlersetnosy: + kadler
messages: + msg329534
2018-11-08 17:27:56vstinnersetstatus: closed -> open
resolution: fixed -> (no value)
messages: + msg329483
2018-11-08 16:42:33cstrataksetpull_requests: + pull_request9697
2018-10-31 17:44:43cstrataksetnosy: + cstratak
messages: + msg329001
2017-09-29 16:28:16vstinnersetmessages: + msg303338
2017-09-29 16:26:50benjamin.petersonsetstatus: open -> closed
resolution: fixed
messages: + msg303336

stage: patch review -> resolved
2017-09-29 16:26:37benjamin.petersonsetstage: resolved -> patch review
pull_requests: + pull_request3809
2017-09-29 15:48:39vstinnersetstatus: closed -> open

nosy: + vstinner
messages: + msg303333

resolution: fixed -> (no value)
2017-09-29 15:42:44benjamin.petersonsetstatus: open -> closed
resolution: fixed
messages: + msg303332

stage: patch review -> resolved
2017-09-29 06:24:20benjamin.petersonsetkeywords: + patch
stage: patch review
pull_requests: + pull_request3799
2017-09-29 06:15:32benjamin.petersoncreate