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...