Permission issue while building wheels for various python packages

While adding Arm64 jobs in travis.yml for Matplotlib package, getting permission issue while building wheel for pandas.
below is respectiveTravis log, please have a look:
https://travis-ci.com/github/ossdev07/matplotlib/jobs/301093133

Getting following Error:
Building wheels for collected packages: coverage, tornado, pandas, pandocfilters, backcall, pyzmq, MarkupSafe, pyrsistent
WARNING: Building wheel for coverage failed: [Errno 13] Permission denied: ‘/home/travis/.cache/pip/wheels/b1’
WARNING: Building wheel for tornado failed: [Errno 13] Permission denied: ‘/home/travis/.cache/pip/wheels/88’
WARNING: Building wheel for pandas failed: [Errno 13] Permission denied: ‘/home/travis/.cache/pip/wheels/23’
WARNING: Building wheel for pandocfilters failed: [Errno 13] Permission denied: ‘/home/travis/.cache/pip/wheels/f6’
WARNING: Building wheel for backcall failed: [Errno 13] Permission denied: ‘/home/travis/.cache/pip/wheels/19’
WARNING: Building wheel for pyzmq failed: [Errno 13] Permission denied: ‘/home/travis/.cache/pip/wheels/48’
WARNING: Building wheel for MarkupSafe failed: [Errno 13] Permission denied: ‘/home/travis/.cache/pip/wheels/0c’
WARNING: Building wheel for pyrsistent failed: [Errno 13] Permission denied: ‘/home/travis/.cache/pip/wheels/be’
Failed to build coverage tornado pandas pandocfilters backcall pyzmq MarkupSafe pyrsistent
ERROR: Could not build wheels for pandas which use PEP 517 and cannot be installed directly
The command "# Install dependencies from PyPI.
python -mpip install --upgrade $PRE -r requirements/testing/travis_all.txt $EXTRAREQS $PINNEDVERS
" failed and exited with 1 during .

Expected outcome
As it is not giving any issue on AMD64 architecture, it should not give any error for ARM64 as well.

Matplotlib version
Latest

The ARM64 environment was having problems on Thursday (yesterday). AMD64, PPC64 and s390x were OK.

I think the Travis team got the issue fixed. Or at least I stopped seeing the failures on Friday (today).

Maybe you can restart a failed job and see if the issue is resolved.

1 Like

@noloader I am still facing the above issue on ARM64, even after restarting the failed jobs, the issue hasn’t been resolved.

Also, I am facing the issue in many different packages, apart from matplotlib the issue could be seen in python-lz4 and scipy build jobs. Please have a look:

https://travis-ci.com/github/odidev/python-lz4/jobs/311136891
https://travis-ci.com/github/ossdev07/scipy/jobs/301521163

ERROR: Could not build wheels for scipy which use PEP 517 and cannot be installed directly

This looks like an ARM64 specific issue since not getting it on AMD64 platform, Please suggest what could be done to resolve the same.

@odidev,

I am facing the issue in many different packages, apart from matplotlib the issue could be seen in python-lz4 and scipy build jobs.

Sorry, I don’t work in Python. I am not experienced with fixing the associated problems.

@Michal Please could you have a look at the issue.

Confirmed that we’re still seeing this issue. PR here: https://github.com/pyca/cryptography/pull/5192

Failing builds:

Checking the build environment shows that in ARM64 Python image, /home/travis/.cache/pip/wheels is erroneously owned by root.

So a workaround would be:

sudo chown -Rv $USER:$(id -g) ~/.cache/pip/wheels
1 Like

I’ve just run into the same issue

@native-api thanks for the suggested workaround, will try it

UPDATE: it worked, thanks! Of course that just resulted in me running into the next issue with arm64/ppc64le/s390x support… sigh

See also No cache support on arm64? where the issue is also discussed; @BanzaiMan wanted to look into it February 20, 2020, but then nothing seems to have happened?

1 Like

Thanks @alex @native-api for the suggestions. We are using workarounds suggested.

Does anyone have idea that when can it be resolved permanently for arm64?

Thanks.

Sadly, Travis staff has been completely silent since late Februrary on issues with the arm, ppc and s390x environments, of which there are plenty :frowning:

I’m actually having this same issue with a pyInstaller buidl.

It was working completely fine 4 months ago. I tried the sudo method but doesn’t seem to work as the apt-get install is causing the error.

You can put it into before_install then it is run before apt-get; see e.g. here: https://github.com/gap-system/gap/blob/5d2fe4aad4721b03a24dd47af239b27765c49f19/.travis.yml#L163

Now, in ARM image, ~/.cache/pip/wheels is missing altogether: https://travis-ci.com/github/native-api/test_travis/jobs/403231257#L12192-L12195

So this issue should be fixed.

This issue has also been fixed on ppc64le