Error [Errno 89] Function not implemented while executing command python setup.py egg_info

StackOverflow https://stackoverflow.com/questions/17256336

  •  01-06-2022
  •  | 
  •  

質問

Update 6/25/2013) I see the same error when trying to install different package using pip, indicating that the package is likely to have nothing to do with the issue.


On QNX I'm seeing the following error upon running pip.

# pip install -U catkin_pkg 
Downloading/unpacking catkin-pkg
  Running setup.py egg_info for package catkin-pkg

Requirement already up-to-date: argparse in /usr/pkg/lib/python2.7/site-packages (from catkin-pkg)
Requirement already up-to-date: docutils in /usr/pkg/lib/python2.7/site-packages (from catkin-pkg)
Requirement already up-to-date: python-dateutil in /usr/pkg/lib/python2.7/site-packages (from catkin-pkg)
Requirement already up-to-date: six in /usr/pkg/lib/python2.7/site-packages (from python-dateutil->catkin-pkg)
Installing collected packages: catkin-pkg
  Running setup.py install for catkin-pkg
    Error [Errno 89] Function not implemented while executing command /usr/qnx650/host/qnx6/x86/usr/bin/python -c "import setuptools;__file__='/tmp/pip-build-n130s/catkin-pkg/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-XhRdBe-record/install-record.txt --single-version-externally-managed
Exception:
Traceback (most recent call last):
  File "/usr/pkg/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/basecommand.py", line 139, in main
    status = self.run(options, args)
  File "/usr/pkg/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/commands/install.py", line 271, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "/usr/pkg/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/req.py", line 1185, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "/usr/pkg/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/req.py", line 592, in install
    cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
  File "/usr/pkg/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/util.py", line 627, in call_subprocess
    cwd=cwd, env=env)
  File "/usr/pkg/lib/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/pkg/lib/python2.7/subprocess.py", line 1205, in _execute_child
    self.pid = os.fork()
OSError: [Errno 89] Function not implemented
Storing complete log in /root/.pip/pip.log

The first time I ran this command when the depended components such as argparse, docutils, python-dateutil and six were not installed, the same error happened, but at the part where these required components are checked. Now that I've installed them one by one, it seems to be happening at the pkg I'm installing itself (ie. catkin_pkg).

On python's console, os.fork(), which I assume the source of the cause, behaves differently. Thus I'm not even sure if the error occurs at os.fork() or not.

# python
Python 2.7.4 (default, Jun 21 2013, 22:33:48) 
[GCC 4.4.2] on qnx6
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.fork()
18804790
>>> 0
sem_wait: Invalid argument

How can I avoid this error? Thank you!

Using QNX 6.5.0 SDP SP1, pip version is 1.3 (its source on github), also source of catkin_pkg.

役に立ちましたか?

解決

I somehow figured it out. Running pip WITHOUT -U option gets the package installed (install log is at the bottom for the reference).

...But why...? Help message of pip's doesn't seem to make sense to me:

$ pip install --help
:
Install Options:
:
  -U, --upgrade   Upgrade all packages to the newest available version. This process is recursive regardless of whether a dependency is already satisfied.

Log of installation by pip:

$ pip install catkin_pkg    
Downloading/unpacking catkin-pkg
  Running setup.py egg_info for package catkin-pkg

Requirement already satisfied (use --upgrade to upgrade): argparse in /usr/pkg/lib/python2.7/site-packages (from catkin-pkg)
Requirement already satisfied (use --upgrade to upgrade): docutils in /usr/pkg/lib/python2.7/site-packages (from catkin-pkg)
Requirement already satisfied (use --upgrade to upgrade): python-dateutil in /usr/pkg/lib/python2.7/site-packages (from catkin-pkg)
Requirement already satisfied (use --upgrade to upgrade): six in /usr/pkg/lib/python2.7/site-packages (from python-dateutil->catkin-pkg)
Installing collected packages: catkin-pkg
  Running setup.py install for catkin-pkg
    changing mode of build/scripts-2.7/catkin_create_pkg from 664 to 775
    changing mode of build/scripts-2.7/catkin_generate_changelog from 664 to 775
    changing mode of build/scripts-2.7/catkin_tag_changelog from 664 to 775
    changing mode of build/scripts-2.7/catkin_test_changelog from 664 to 775

    changing mode of /usr/pkg/bin/catkin_create_pkg to 775
    changing mode of /usr/pkg/bin/catkin_generate_changelog to 775
    changing mode of /usr/pkg/bin/catkin_tag_changelog to 775
    changing mode of /usr/pkg/bin/catkin_test_changelog to 775
Successfully installed catkin-pkg
Cleaning up...
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top