Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update manylinux2010 policy with CentOS6-i686 #194

Merged
merged 1 commit into from
Sep 28, 2019
Merged

Conversation

veblush
Copy link
Contributor

@veblush veblush commented Sep 26, 2019

It seems that manylinux2010 lacks symbols for 32-bit CentOS 6 . Running calculate_symbol_versions.py with docker image i386/centos:6 shows:

# python3 calculate_symbol_versions.py manylinux2010 ../auditwheel/policy/policy.json
{"GLIBC": ["2.0", "2.1", "2.1.1", "2.1.2", "2.1.3", "2.2", "2.2.1", "2.2.2", "2.2.3", 
 "2.2.4", "2.2.6", "2.3", "2.3.2", "2.3.3", "2.3.4", "2.4", "2.5", "2.6", "2.7", "2.8",
 "2.9", "2.10", "2.11", "2.12"], 
 "CXXABI": ["1.3", "1.3.1", "1.3.2", "1.3.3"],
 "GLIBCXX": ["3.4", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "3.4.5", "3.4.6", "3.4.7",
 "3.4.8", "3.4.9", "3.4.10", "3.4.11", "3.4.12", "3.4.13"],
 "GCC": ["3.0", "3.3", "3.3.1", "3.4", "3.4.2", "4.0.0", "4.2.0", "4.3.0", "4.4.0", 
 "4.5.0"]}

To cover CentOS-6 i686 properly, I merged this result to manylinux2010 in policy.json. Actually it shows differences on GLIBC and GCC but I updated GLIBC only because GCC 4.5.0 seems a bit strange.

From glibc source, i386 and x86_64 has a different version for the same function. open function, for example, GLIBC_2.0 is assigned on i386 but GLIBC_2.2.5 is on x86_64.

As a double-check, I also ran readelf -Ws libgcc_s.so.1 | grep @@ | sed -En 's/(.*)@@(.*)/\2/p' | sort -u command on both CentOS6 32bits and 64bits to display all version symbols.

# 32bit/libc.so.6
GCC_3.0
GLIBC_2.0
GLIBC_2.1
GLIBC_2.1.1
GLIBC_2.1.2
GLIBC_2.1.3
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.2
GLIBC_2.2.1
GLIBC_2.2.2
GLIBC_2.2.3
GLIBC_2.2.4
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9

# 64bit/libc.so.6
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9

# 32bit/libgcc_s.so.1
GCC_3.0
GCC_3.3
GCC_3.3.1
GCC_3.4
GCC_3.4.2
GCC_4.0.0
GCC_4.2.0
GCC_4.3.0
GCC_4.4.0
GCC_4.5.0
GLIBC_2.0

# 64bit/libgcc_s.so.1
GCC_3.0
GCC_3.3
GCC_3.3.1
GCC_3.4
GCC_3.4.2
GCC_3.4.4
GCC_4.0.0
GCC_4.2.0
GCC_4.3.0

@codecov
Copy link

codecov bot commented Sep 26, 2019

Codecov Report

Merging #194 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #194   +/-   ##
=======================================
  Coverage   87.43%   87.43%           
=======================================
  Files          19       19           
  Lines         963      963           
  Branches      210      210           
=======================================
  Hits          842      842           
  Misses         84       84           
  Partials       37       37

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 14fed33...e874349. Read the comment docs.

@veblush
Copy link
Contributor Author

veblush commented Sep 26, 2019

Oh there is an existing PR #141 trying to do the same thing. I'll close this once the PR is merged.

@veblush veblush changed the title Update manulinux2010 policy with CentOS6-i686 Update manylinux2010 policy with CentOS6-i686 Sep 26, 2019
@mayeut mayeut merged commit 3191806 into pypa:master Sep 28, 2019
@veblush veblush deleted the policy branch September 28, 2019 16:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants