Hi guys,
I work with Ubuntu 14.04 LTS, eclipse CDT and the language used is c++.
I've compiled and ran successfully the rti example "using_qos_profiles".
To enable the monitoring I've modify the QoS file "my_custom_qos_profiles.xml" in the following way.
<qos_library name="profiles_Library">
<qos_profile name="transient_local_profile" base_name="BuiltinQosLib::Generic.Monitoring.Common">
<participant_qos>
Also, I modify the definition of entities in profile_publisher.cxx to get the QoS from "my_custom_qos_profiles.xml". For example:
participant = DDSTheParticipantFactory->create_participant_with_profile
( domainId, "profiles_Library",
"transient_local_profile",
NULL /* listener */, DDS_STATUS_MASK_NONE);
After apply the changes, the compilation is OK, but when I run ./profile_publisher I get the following errors:
[CREATE Participant]RTIOsapiLibrary_open:error opening library librtimonitoring.so: librtimonitoring.so: cannot open shared object file: No such file or directory
[CREATE Participant]DDS_DomainParticipantMonitoring_initializeMonitoringLibrary:ERROR: Failed to get load monitoring library
[CREATE Participant]DDS_DomainParticipantMonitoring_initializeI:!create monitoring library instance
[CREATE Participant]DDS_DomainParticipant_createI:!create builtin monitoring support
[CREATE Participant]DDS_DomainParticipantFactory_create_participant_disabledI:!create participant
DDSDomainParticipant_impl::create_disabledI:!create participant
DDSDomainParticipant_impl::createI:!create participant
DomainParticipantFactory_impl::create_participant():!create failure creating participant
DomainParticipantFactory_impl::create_participant_with_profile():ERROR: Failed to create participant from a profile
create_participant error
The librariy librtimonitoring.so is locates at ../rti_connext_dds-5.2.0/lib/x64Linux3gcc4.8.2/librtimonitoring.so
The RTI Monitor doesn't monitor anything. However all entities appears on the screen, but with a question mark.
I've run the same example on Windows 7 and RTI Monitor worked successfully, with any problem.
Thanks for advanced!
Hi,
Have you added your DDS library directory to the environment variable, LD_LIBRARY_PATH?
$ export LD_LIBRARY_PATH=$NDDSHOME/lib/x64Linux3gcc4.8.2:$LD_LIBRARY_PATH
The example command above assumes that you set the environment variable, NDDSHOME, properly. (NDDSHOME should be set to "../rti_connext_dds-5.2.0" in your case)
Thanks,
Kyoungho
Hi Kyoungho,
Thanks for answer,
No, I hadn't set LD_LIBRARY_PATH. But now, when I run ./profile_publisher I get another error type.
DDS_DomainParticipantGlobals_initializeWorkerFactoryI:!Potential library mismatch.
This may happen if your application uses the static and the shared RTI core libraries simultaneously.
For example, using the shared RTI Monitoring library and linking statically with the RTI core libraries will cause this mismatch RTIDefaultMonitorPublisher_create:!get worker factory
This error appears several times when I try to run ./profiles_publisher in terminal
I have no idea to how fix it.
Thanks for advanced again!
Hi,
You need to compile your applications with the shared library option as monitoring libraries are linked dynamically. Would you try to compile with adding "SHAREDLIB=1" like the following example?
$ make -f make/Makefile.x64Linux2.6gcc4.4.5 SHAREDLIB=1
Thanks,
Kyoungho
Hi Kyoungho,
The problem still persists...
I don't know what info tell you. Do you have any project already running? I could check it in my system.
Thank you very much mister!
Hi,
I used RTI examples provided in the workspace (using 5.2.0) and it worked. If you are not using makefiles provided by RTI examples, the SHAREDLIB option will not work. If not using examples, I think your makefile is set to use DDS static libraries (-lnddscppz -lnddscz -lnddscorez). If so, you can remove "z" from the library names (-lnddscpp -lnddsc -lnddscore) as "z" indicates static libraries. If it still doesn't work, please provide me your makefile.
Thanks,
Kyoungho
Hi Kyoungho,
My system is working fine! I have to fix some configuration problems with eclipse but now everything works.
Thanks a lot boss!