Skip navigation.
Home
The QNX Community Portal

View topic - compling and running python - subprocesses not working

compling and running python - subprocesses not working

QNX Application portings.

compling and running python - subprocesses not working

Postby schlange » Thu Nov 12, 2009 6:03 pm

when i run python 2.5 on qnx 6.4.0 and try to invoke a network service it crashes with the following error trace:

Traceback (most recent call last):
File "/usr/qnx640/host/qnx6/x86/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner
self.run()
File "/root/ros_svn/ros/bin/rosmake", line 89, in run
(pkg, build_count, total_pkgs) = self.build_queue.get_valid_package()
File "/root/ros_svn/ros/bin/rosmake", line 148, in get_valid_package
for d in self.dependency_tracker.get_deps(p):
File "/root/ros_svn/ros/bin/rosmake", line 73, in get_deps
self.deps[package] = roslib.scriptutil.rospack_depends(package)
File "/root/ros_svn/ros/core/roslib/src/roslib/scriptutil.py", line 99, in rospack_depends
return rospackexec(['deps', pkg]).split()
File "/root/ros_svn/ros/core/roslib/src/roslib/scriptutil.py", line 80, in rospackexec
val = (subprocess.Popen(['rospack'] + args, stdout=subprocess.PIPE).communicate()[0] or '').strip()
File "/usr/qnx640/host/qnx6/x86/usr/lib/python2.5/subprocess.py", line 594, in __init__
errread, errwrite)
File "/usr/qnx640/host/qnx6/x86/usr/lib/python2.5/subprocess.py", line 1011, in _execute_child
self.pid = os.fork()
OSError: [Errno 89] Function not implemented


i then tried to compile python 2.6.4 and realized during configuration that thread.h was not found (of which i think that it's responsible for fork(), right?).

Does anybody has helpful comments on running python, especially functionality that is part of subprocess.py?

Or is it just not implemented on qnx?
schlange
New Member
 
Posts: 1
Joined: Thu Nov 12, 2009 5:47 pm

Postby seanb » Thu Nov 12, 2009 9:16 pm

Can you post a test script. This is probably trying to fork()
after pthread_create() but there's probably a way arounde it.

-seanb
seanb
QNX Master
 
Posts: 133
Joined: Fri Jul 28, 2006 5:36 pm

Re: compling and running python - subprocesses not working

Postby 130s » Sat Jun 22, 2013 10:42 am

Since OP hasn't provided the reproduction scenario, I'll take over the thread (is it ok?).

Error output:

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

Downloading/unpacking argparse (from catkin-pkg)
Downloading argparse-1.2.1.tar.gz (69kB): 69kB downloaded
Running setup.py egg_info for package argparse
Error [Errno 89] Function not implemented while executing command python setup.py egg_info
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 266, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "/usr/pkg/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/req.py", line 1057, in prepare_files
req_to_install.run_egg_info()
File "/usr/pkg/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/req.py", line 236, in run_egg_info
command_desc='python setup.py egg_info')
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


pip version is 1.3, of which codes are available in this branch on github: https://github.com/pypa/pip/tree/1.3/pip

I'm using QNX 6.5.0 SDP SP1

On python's console, os.fork(), which I assume the source of the cause, behaves differently.

# 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!
130s
New Member
 
Posts: 1
Joined: Sat Jun 22, 2013 10:28 am


Return to Porting

Who is online

Users browsing this forum: No registered users and 3 guests