Results 1 to 4 of 4

Thread: QNX 6.3-SP3 for Ice-3.1.1

  1. #1
    n2503v is offline Registered User
    Name: Alex Makarenko
    Organization: ACFR, University of Sydney
    Project: Orca
    Join Date
    Jun 2005
    Posts
    134

    QNX 6.3-SP3 for Ice-3.1.1

    this patch works on QNX Neutrino 6.3.0 SP3.
    using gcc-3.3.5 with Dinkum std lib implementation

    everything builds. all tests pass except the following (which are disalbed in the patch). the problems are related to the database library which supposedly supports QNX but complains about 11 "unknown symbols" at runtime.

    # "IceSSL/configuration", \
    # "Freeze/dbmap", \
    # "Freeze/evictor", \
    # "FreezeScript/dbmap", \
    # "FreezeScript/evictor", \
    # "IceGrid/simple", \
    # "IceGrid/deployer", \
    # "IceGrid/session", \
    # "IceGrid/update", \
    # "IceGrid/activation", \
    # "IceGrid/replication", \
    # "IceGrid/allocation", \
    # "Glacier2/ssl", \
    # "Glacier2/filters", \
    # "Glacier2/addressFilter", \

    also, one section (RWRecMutexTest) of IceUtil/thread test fails and is disabled. it is not used by Ice internal code so I didn't try to fix it.

    there's something non-standard about QNX patch utility, so i've patched the source in Linux and then moved it over to QNX.
    $ tar -xzf Ice-3.1.1.tar.gz
    $ cd Ice-3.1.1
    $ patch -p1 < ../ice311qnx.patch.txt

    For more installation details including building dependencies, see
    http://orca-robotics.sf.net/cvs/orca...nstallqnx.html

    cheers, alex
    Attached Files Attached Files
    Alex Makarenko
    Marathon Robotics
    project: multi-robot systems

  2. #2
    n2503v is offline Registered User
    Name: Alex Makarenko
    Organization: ACFR, University of Sydney
    Project: Orca
    Join Date
    Jun 2005
    Posts
    134

    advice on making IceGrid work in QNX

    I'm testing the patch I've posted here before.

    One problem I have is that the IceGrid Node's activator uses fork() which in QNX-6 is only supported for single-threaded processes. fork() returns an error and a syscall exception is caught in Activator.cpp:674. This is POSIX-compliant behavior but unfortunately not very useful.

    I can try to use spawn() or vfork(). From the documentation vfork() seems dodgy and both would probably be non-trivial to debug. So I wonder if the IceGrid designers would have some advice.

    Should spawn() be able to do the job in this context or the activator relies on some state being passed to the child process?

    thanks,
    alex
    Alex Makarenko
    Marathon Robotics
    project: multi-robot systems

  3. #3
    benoit's Avatar
    benoit is offline ZeroC Staff
    Name: Benoit Foucher
    Organization: ZeroC, Inc.
    Project: Ice
    Join Date
    Feb 2003
    Location
    Rennes, France
    Posts
    2,140
    Hi,

    Assuming the spawn() system call you're mentioning is the one documented here, it looks like you should be able to use it with only one limitation: it doesn't support changing the user id or the group id of the forked process. You'll also have to make sure that all the file descriptors from the parent are NOT inhereted except for stdin/stdout/stderr and the write side of the pipe created before the call to fork.

    Cheers,
    Benoit.

  4. #4
    n2503v is offline Registered User
    Name: Alex Makarenko
    Organization: ACFR, University of Sydney
    Project: Orca
    Join Date
    Jun 2005
    Posts
    134
    Thanks Benoit, I got it to work using spawn() with my components. I am probably not covering all corner cases and it doesn't work with IceBox/IceStorm yet but I can debug it later.

    Thanks for the info,
    alex
    Alex Makarenko
    Marathon Robotics
    project: multi-robot systems

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. QNX 6.3-SP3 for Ice-3.2.0
    By n2503v in forum Patches
    Replies: 0
    Last Post: 05-11-2007, 10:10 AM
  2. QNX port
    By n2503v in forum Help Center
    Replies: 5
    Last Post: 12-18-2006, 06:16 PM
  3. ICE on QNX
    By kingkisin in forum Help Center
    Replies: 2
    Last Post: 12-03-2004, 07:44 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •