Menu

documentation

Help
unused
2005-12-01
2015-04-24
  • unused

    unused - 2005-12-01

    I find it difficult to get going with this library. The online API is OK but there lacks the usual minimal "getting started" HOWTO...

    As you yourself mention about the "template" example:

    "Obviously the interprocess communications capabilities of radlib cannot be demonstrated with one process."

    Could you modify this example by putting (say) one of the timers in a seperate process so I could see  more clearly how to setup and register a second process?

    Thanx...

     
    • Mark Teel

      Mark Teel - 2005-12-02

      There is a very mature open source application that can be used as an example as well - wview. It can have as many as 6 radlib processes running concurrently, communicating with one another.

      Further, you could copy template.c to say, template1.c, replace all occurances of "template" in the file with "template1" (be careful), add it to the Makefile, build, then run "./templated" and "./template1d". Then experiment defining a message you can send back and forth between them, etc.

      There is no real magic to "registering" additional processes. They have to share the same radlib system ID and have unique queue names. How they interact is really for you to decide.

      HTH,
      Mark

       
    • Mark Teel

      Mark Teel - 2005-12-02

      I will try to spend some time on a "Getting Started" guide of some sort, but my time is very limited (and this is "Free" after all).

      "Playing" with it is really the best way to learn it anyway, don't be afraid to try things. The template has stubs for message and event handlers, search for "radProcessInit" in the wview source, find those handlers and have a look at how messages are received. Then find where they are built/sent. Mimmick this for your test code.

       
    • Mark Teel

      Mark Teel - 2005-12-09

      In the newly released version 2.6.0, I included a new template application example which includes two processes which communicate via messaging. See template/README in the distro for details.

      Mark

       
  • Don

    Don - 2015-04-24

    I know that it is not necessarily your problem, but.....

    Trying to build wview -- the configure script barfs on

    checking for radthreadLock in -lrad... no
    librad is missing or old version!

    1) I've downloaded and built the latest version specified "--enable-sqlite" which may be a problem since I don't see it in the options discussed in your INSTALL and README files

    2) I've greped the libraries and the radthreadLock string is present, suggesting that the function does exist.

    Had some similar problems with the sqlite library until I installed (from RPM) the devel version of the library -- but there doesn't seem to be an option to build with more complete hooks -- Thoughts or suggestions would be appreciated.

    Thanks,

    -Don

     
    • Mike Break

      Mike Break - 2017-07-06

      I'd like to appeal to Mark to comment on this 'librad' problem since he may have fingers both in the radlib and wview packages. Attempting to configure wvew-5.21.7 to use radlib-2.12.0 gives this "librad is missing or old version!" message.

      in file "config.log" the failed gcc invocation is followed by

      Undefined symbols for architecture x86_64:
        "_KEY_BUFFERS_SHMEM", referenced from:
            _radBuffersInit in librad.a(radbuffers.o)
        "_KEY_SEMAPHORES", referenced from:
            _radSemProcessInit in librad.a(radsemaphores.o)
            _radSemSetDestroy in librad.a(radsemaphores.o)
      ld: symbol(s) not found for architecture x86_64
      

      This seems to mean that the ld (link) fails not because it is missing radthreadLock() but other unhappiness with the librad library and possible mismatch between radlib and wview regarding 32-bit and 64-bit arch.

      this on mac os 10.12.5 "sierra" (64-bit...)

      Thanks for any pointer to bug list or config item I am missing.
      -- Mike
      `

       
      • Mike Break

        Mike Break - 2017-07-08

        update on building radlib and wview on macosx
        I was basically flummoxed by the dependence on /usr/local since I have reserved that to root users (my admin hat) and not using macports.

        in homebrew environment, setting --prefex=/opt/local in both radlib and wview (and setting LDFLAGS to get libssl from a private homebrew directory) made the build work.

        Sorry for bugging before all things understood. -- Mike

         

Log in to post a comment.

MongoDB Logo MongoDB