Catch the error when loading library failed #1071
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently,
interfaces.d.ts, a declaration file for ROS2 messages, will be generated when runningnpm install, which needs to require the.jsfiles of messages and theref-napiC++ addon gets loaded.There could be a corner case that the
ref-napiC++ addon is cross-compiled for arm arch, so loadingbinding.nodedynamically failed on x86 platform, see details #1066.This patch catches the error when loading the library failed, and if it happens, we will use a prebuild
interfaces.d.tsinstead. Meanwhiles, this patch moves out generatinginterfaces.d.tsfile out ofgenerate-messagescommand because it already executed.Fix: #1066