ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Error [Errno 89] Function not implemented while source installing catkin_pkg

asked 2013-06-23 06:57:51 -0500

130s gravatar image

updated 2014-01-28 17:17:00 -0500

ngrennan gravatar image

This is actually cross-posted on stackoverflow to ask as a general python question. Here I ask in ROSy way.

On QNX realtime OS, I'm trying to install catkin_pkg from source, and 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 pip command when the depended components (such as argparse, docutils, python-dateutil and six) were not installed, the same error happened too, but not during installation of catkin_pkg but while checking these required components are installed. Now that I've installed them one by one, it seems to be happening at while installing catkin_pkg itself.

On python's console, os.fork(), which I assumed is the root cause, behaves differently. Thus I'm not even sure if the error occurs at os.fork() or somewhere different.

# 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)


Update) When trying to install bloom via pip the same error happened.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2013-06-25 03:45:51 -0500

130s gravatar image

I somehow figured it out. Running pip WITHOUT -U option gets catkin_pkg 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 irregardless 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...
edit flag offensive delete link more

Question Tools

Stats

Asked: 2013-06-23 06:57:51 -0500

Seen: 2,010 times

Last updated: Jun 25 '13