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

pip does not work on Haiku #6761

Closed
probonopd opened this issue Jul 21, 2019 · 5 comments
Closed

pip does not work on Haiku #6761

probonopd opened this issue Jul 21, 2019 · 5 comments
Labels
auto-locked Outdated issues that have been locked by automation C: cache Dealing with cache and files in it type: bug A confirmed bug or unintended behavior

Comments

@probonopd
Copy link

Environment

  • pip version: Most recent version available on Haiku https://www.haiku-os.org/
  • Python version: Most recent version available on Haiku
  • OS: Haiku

Description

pip 3 install hangs

Expected behavior

pip 3 install works

How to Reproduce

Run the latest Haiku Anyboot image from https://download.haiku-os.org/nightly-images/x86_64 . Then do:

git clone https://github.com/micahflee/onionshare.git
cd onionsharepython3 -m venv venv
pkgman i setuptools_python36 # pkgman i setuptools_python installs for 3.7
pip3 install -r install/requirements.txt
Could not find a version that satisfies the requirement PyQt5==5.12.1 (from -r install/requirements.txt (line 15)) (from versions: )
No matching distribution found for PyQt5==5.12.1 (from -r install/requirements.txt (line 15))
# stalled here - does not continue or exit

Output

None

According to a Haiku developer, the stalled pip is because pip wants to use hardlinks but Haiku doesn't support those.

Reference:
https://medium.com/@probonopd/my-second-week-with-haiku-lots-of-hidden-gems-and-pleasant-surprises-and-some-issues-7e508f0db987

@triage-new-issues triage-new-issues bot added the S: needs triage Issues/PRs that need to be triaged label Jul 21, 2019
@chrahunt
Copy link
Member

That may be true, since we use lockfile which internally may use hardlinks. If that's the case then this may be a duplicate of or related to #3532. Can you please try the following:

  1. Run pip install --no-cache-dir -r install/requirements.txt and see if that avoids locking up
  2. Run pip install --verbose -r install/requirements.txt and after it gets stalled press Ctrl-C (or equivalent), and provide the traceback that is produced

@chrahunt chrahunt added C: cache Dealing with cache and files in it S: awaiting response Waiting for a response/more information type: support User Support labels Jul 21, 2019
@triage-new-issues triage-new-issues bot removed the S: needs triage Issues/PRs that need to be triaged label Jul 21, 2019
@extrowerk
Copy link

For reference:
haikuports/haikuports#3420

@probonopd
Copy link
Author

(venv) /Haiku/home/onionshare> pip3.6 install --no-cache-dir -r install/requirements.txt 

(...)

Collecting PyQt5==5.12.1 (from -r install/requirements.txt (line 15))
  Could not find a version that satisfies the requirement PyQt5==5.12.1 (from -r install/requirements.txt (line 15)) (from versions: )
No matching distribution found for PyQt5==5.12.1 (from -r install/requirements.txt (line 15))

(hangs forever here)

Ctrl-C, Ctrl-D gives:

Traceback (most recent call last):
  File "/packages/python36-3.6.8-2/.self/lib/python3.6/vendor-packages/pip/_vendor/lockfile/linklockfile.py", line 31, in acquire
    os.link(self.unique_name, self.lock_file)
PermissionError: [Errno -2147483633] Operation not allowed: '/boot/home/config/cache/pip/shredder-5fc8f580.756-6502217927950064930' -> '/boot/home/config/cache/pip/selfcheck.json.lock'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/bin/pip3.6", line 11, in <module>
    load_entry_point('pip==9.0.0', 'console_scripts', 'pip3.6')()
  File "/packages/python36-3.6.8-2/.self/lib/python3.6/vendor-packages/pip/__init__.py", line 233, in main
    return command.main(cmd_args)
  File "/packages/python36-3.6.8-2/.self/lib/python3.6/vendor-packages/pip/basecommand.py", line 252, in main
    pip_version_check(session)
  File "/packages/python36-3.6.8-2/.self/lib/python3.6/vendor-packages/pip/utils/outdated.py", line 138, in pip_version_check
    state.save(pypi_version, current_time)
  File "/packages/python36-3.6.8-2/.self/lib/python3.6/vendor-packages/pip/utils/outdated.py", line 71, in save
    with lockfile.LockFile(self.statefile_path):
  File "/packages/python36-3.6.8-2/.self/lib/python3.6/vendor-packages/pip/_vendor/lockfile/__init__.py", line 197, in __enter__
    self.acquire()
  File "/packages/python36-3.6.8-2/.self/lib/python3.6/vendor-packages/pip/_vendor/lockfile/linklockfile.py", line 50, in acquire
    time.sleep(timeout is not None and timeout / 10 or 0.1)
KeyboardInterrupt

@probonopd
Copy link
Author

Cross-reference: haikuports/haikuports#3923

@chrahunt
Copy link
Member

Thanks again for the report! We will track this in #6954.

@lock lock bot added the auto-locked Outdated issues that have been locked by automation label Sep 30, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Sep 30, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
auto-locked Outdated issues that have been locked by automation C: cache Dealing with cache and files in it type: bug A confirmed bug or unintended behavior
Projects
None yet
Development

No branches or pull requests

3 participants