Opened 13 years ago
Closed 13 years ago
#34022 closed submission (fixed)
svipc (new port) -- System V InterProcess Communication (Yorick/Python plug-ins)
Reported by: | paumard | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.0.4 |
Keywords: | Cc: | ||
Port: |
Description
Hi,
This Portfile contains several subports py*-svipc and yorick-svipc, plug-ins for python and yorick around the SysV IPC functionalities.
It allows sharing memory and passing messages between several processes. The two primary use cases are:
- parallel (multiprocess) computing;
- mixed yorick/python/whatever applications.
yorick-svipc can optionally be used by yorick-yao. To try it:
- as root, give some space to the shared memory and install the packages:
sysctl -w kern.sysv.shmmax=33554432 sysctl -w kern.sysv.shmmin=1 sysctl -w kern.sysv.shmmni=256 sysctl -w kern.sysv.shmseg=64 sysctl -w kern.sysv.shmall=8192 port install yorick-yao yorick-svipc
- as user, copy the examples, request svipc usage, and run the examples (and quit yorick):
cp -a /opt/local/lib/yorick/share/yao/examples ./ cd examples sed -i .bak 's|// \(.*\)\.svipc|\1\.svipc|' test-all.i yorick -i test-all.i quit
- while the tests are running,
ipcs -a
should list several shared memory segments, semaphores and message queues in use. Running it after the tests are complete should yield an empty list (unless you have other programs using the IPC framework running!)
The python plug-ins also work in real-life examples, but I don't have a simple one to exhibit.
The port uses three patches:
- patch-setup.py.diff: configuration of the python plug-in;
- patch-svipc_misc.h.diff: fix a missing #include;
- patch-svipc_module.c.diff: bugfix backported from git.
I would be grateful if someone would consider committing this port for me.
Kind regards, Thibaut.
Attachments (4)
Change History (7)
Changed 13 years ago by paumard
Attachment: | patch-setup.py.diff added |
---|
Changed 13 years ago by paumard
Attachment: | patch-svipc_misc.h.diff added |
---|
Changed 13 years ago by paumard
Attachment: | patch-svipc_module.c.diff added |
---|
comment:1 Changed 13 years ago by paumard
comment:2 Changed 13 years ago by paumard
Hi again,
Here comes the new version. Please disregard the patch files: they are not used anymore.
I'm not sure how to deal with the error reported by port lint yorick-svipc
: should I split this subport in a separate Portfile under science?
In addition to the yorick-yao example above, this port can be tested from the extracted source (with the ports installed). cd to ${worksrcpath}/demo. To check yorick <-> python communication: yorick -i ping.i
. You can change which python is called by editing ping.i
. To test a parallel application, try yorick -i timing-demo.i
.
Best regards, Thibaut.
Changed 13 years ago by paumard
python/py-svipc/Portfile; no need for patches anymore
comment:3 Changed 13 years ago by neverpanic (Clemens Lang)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Commited in r92399 with the follwing changes:
- Removed support for python24 and 25, we're phasing those out
- Added comment about the deliberate lint error
- Disabled livecheck in subports
Please hold on, upstream is about to release the next version, with bugfixes.