(1) system libraries/runtime environments,
(2) build systems, and
(3) third-party library version requirements. These issues typically manifest through eight dimensions.
| Issue Type | Description | Root Causes | #issues | #Ratio | Example Link |
|---|---|---|---|---|---|
| Type A | CPI issues caused by system library and runtime environment discrepancies between OpenHarmony and Linux | Inconsistent Native API Availability | 51 | 25.4% | OpenLDAP |
| Divergent Logical Path Encapsulation Conventions | 19 | 9.4% | Chipmunk2D | ||
| Non-aligned Filesystem Hierarchy Structures | 38 | 18.9% | pulseaudio | ||
| Type B | OpenHarmony and Linux have discrepant build system | Compiler-dependent Default Type Signedness Variations | 13 | 6.5% | json-schema-validator |
| ISA-specific Compilation Configuration Mismatches | 10 | 5% | cpp-httplib | ||
| Conditional Compilation Branch Inconsistencies | 60 | 29.8% | chrono | ||
| Differing C/C++ Standard Version Support Thresholds | 4 | 2% | protobuf | ||
| Type C | API breaking changes of third-party libraries pre-installed in OpenHarmony and Linux | - | 4 | 2% | zbar |
| Others | - | Discrepant warning messages thrown by the compiler toolchains | 2 | 1% | tinyexr |

Figure: Compilation Error Messages Triggered by CPI Issues