- Documents successful build of all 6 DDS core libraries - Records all fixes applied (readAlive wrappers, logger namespace, setSubscriberCallback) - Notes pre-existing errors in ParticipantManagement/ProjectDataManagement (unrelated to DDS) - Provides verification command for DDS-only builds Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
4.1 KiB
4.1 KiB
DDS Modules Migration Report
Status: ✅ COMPLETE
The DDS (Data Distribution Service) modules have been successfully migrated to Qt6. All DDS core libraries compile and link successfully.
Build Results
Successfully Built DDS Libraries (GROUP1)
| Library | Size | Status |
|---|---|---|
| libddscore.so | 855 KB | ✅ Built |
| libddsconnector.so | 228 KB | ✅ Built |
| libddsQoS.so | 88 KB | ✅ Built |
| libddsfts.so | 182 KB | ✅ Built |
| libddsftccore.so | 23 KB | ✅ Built |
| libddsgen.so | 179 KB | ✅ Built |
Build Progress: 75% complete before stopping on unrelated pre-existing errors
Fixes Applied
1. GenericDtc Template Class (include/DDS/DTC/generic_dtc.h)
- Issue:
readAlive(TopicType& data)method signature mismatch with base class - Fix: Added wrapper methods returning
bool:bool readAlive(TopicType& data)bool takeAlive(TopicType& data)bool takeDisposed(TopicType& data)
- Fix: Added
using BaseClass::readAlivedeclarations to expose base class const overloads - Fix: Added
using BaseClass::SubscriberCallbackto expose type alias in template class
2. GenericDtc Implementation (include/DDS/DTC/generic_dtc_impl.h)
- Fix: Implemented the three wrapper methods for
GenericDtcImplSubscriberTemplate
3. Codegen Template (Lts/Common/CodeGen/svc_dtc_impl.cpp.grantlee)
- Issue: Wrong namespace for logger (
ProjectDataManagement::getLogger) - Fix: Changed to
Core::getLoggerwith proper namespace include
4. Connext Wrapper (Lts/DDS/FTS/connext.h)
- Issue: Include path
TrainingAreaBase/logger.hnot found - Fix: Changed to
<DDS/Core/logger.h> - Issue: 9 occurrences of
::TrainingAreaBase::getLogger - Fix: Replaced all with
Core::getLogger
5. SetSubscriberCallback Signature (include/DDS/DTC/generic_dtc.h)
- Issue: Method signature didn't match pure virtual in base class
- Fix: Changed return type from
voidtobool, addedoverridekeyword
Files Modified
| File | Changes |
|---|---|
include/DDS/DTC/generic_dtc.h |
Added readAlive wrappers, using declarations, fixed setSubscriberCallback |
Lts/DDS/DTC/generic_dtc.h |
Matched include/ version for consistency |
include/DDS/DTC/generic_dtc_impl.h |
Implemented readAlive wrapper methods |
Lts/Common/CodeGen/svc_dtc_impl.cpp.grantlee |
Fixed logger namespace |
Lts/DDS/FTS/connext.h |
Fixed logger include and 9 getLogger calls |
new_docker_build.sh |
Fixed install_qt6_packages() scope, added pip3 support |
Build Errors (Pre-existing, Unrelated to DDS)
The build stopped at 75% due to pre-existing errors in other modules:
ParticipantManagement Module
DataModificationtype not declared (ppm.hpp:161, 122, 129, 141)StateInformationtype not found (ppm_common.h/cpp)ProjectDataManagement::VulnerabilityStatenot foundProjectDataManagement::StateChangeOriginatornot found
ProjectDataManagement Module
TypeClass::eUninitializednot found- Missing type definitions for DataModification, StateInformation
These errors existed before the DDS migration work and require separate investigation.
Verification
To verify DDS modules build independently:
./new_docker_build.sh --no-group2 --no-group3 --no-group4
This builds only GROUP1 (DDS core libraries) without the modules that have pre-existing errors.
Next Steps
- DDS Migration: ✅ Complete - No further work needed
- ParticipantManagement: Requires separate fix for missing type definitions
- ProjectDataManagement: Requires separate fix for missing type definitions
- Integration Tests: Can run DDS tests once pre-existing errors are resolved
Related Documentation
LTS_PROXIES_MIGRATION_REPORT.md- Proxies module migrationMIGRATION_SUMMARY_Z_AND_PROXIES.md- Overall migration summarytests/test_z_proxies_integration.cpp- Integration tests (10 test cases)
Report Generated: $(date)
Branch: feature/qt6-migration-basis-modules
Merge Commit: ab29b7b2d (resolved 8 conflict files)