Product-specific errors are on each product’s troubleshooting page. This page covers installation and start-up problems common to all products.
| Message |
Fix |
Windows: … was not found or The specified module could not be found |
Put the library folder at the front of PATH: sdk\lib for SECS/GEM, lib for Modbus, bin for OPC UA. Check that you built a 64-bit (x64) program. |
Windows: VCRUNTIME140.dll or MSVCP140.dll is missing |
Install the x64 Visual C++ Redistributable. |
Linux: error while loading shared libraries: libpdcomm_….so: cannot open shared object file |
Add the library folder to LD_LIBRARY_PATH, or rebuild with -Wl,-rpath. |
macOS: dyld: Library not loaded: @rpath/libpdcomm_….dylib |
Rebuild with -Wl,-rpath,<SDK>/lib, or set DYLD_LIBRARY_PATH. |
Take headers and libraries from the same package; mixing versions can break the ABI. Compare the ABI version the library reports with abi in manifest.json.
| Symptom |
Fix |
You must install or update .NET to run this application. |
Install the runtime the binding needs: .NET 10 for SECS/GEM, .NET 8 for Modbus and OPC UA. Check with dotnet --list-runtimes. |
DllNotFoundException |
Check that you passed the native library’s absolute path and that the process and the library have the same architecture. Also check that libraries it depends on, such as OpenSSL, are in the same folder. |
The build can’t find PDComm.dll or the binding project |
Pass the absolute path of the SDK folder in -p:PDCommSdk, -p:PdcommModbusSdk, or -p:PdcommOpcUaSdk. |
| Symptom |
Fix |
This application failed to start because no Qt platform plugin could be initialized. |
Make sure you copied the whole simulator folder. Unset QT_PLUGIN_PATH and QTDIR if they point to another Qt installation. |
| No window opens on a Linux server |
Without a desktop session there’s no GUI; use the headless simulator. |
The simulator can’t open its port (Address already in use) |
Another program uses the port. Change both sides to the same free port. |
| Symptom |
Fix |
SECS/GEM status 16 (PDCOMM_LICENSE_REQUIRED), OPC UA status 11, the Modbus error code license_required, or the message PDComm license required for module '…' (…) |
There’s no license for new communication. Look up the state in parentheses in the license troubleshooting table. Communication that’s already running keeps working. |
pdcomm-license: host id unavailable: … |
The machine id couldn’t be read. In a container, create /etc/machine-id. See Host ids. |
The license file is in place, but the state is missing |
Check that the file appears in sources of pdcomm-license status or of the status API. Next to the executable or in a configuration folder, the file must be named pdcomm.license. Set PDCOMM_LICENSE_FILE to the full path of the file. |
| Symptom |
Fix |
| The search box doesn’t work |
You opened the HTML files directly. Open the site with bin/pdcomm-docs serve or python3 -m http.server; see Using these docs. |
Include the package name and the version from manifest.json, the operating system and CPU architecture, the commands you ran with the complete error message, and the exit code. For communication problems, turn on diagnostic logging, reproduce the problem, and include the log.