Проблема в том, что после make install в каталоге
build_dir/target-aarch64_cortex-a53_glibc-2.27/ubus-2018-07-26-40e0931e/ipkg-install
появляется и каталог opt/, и каталог usr/.
При этом библиотека lua-ubus устанавливается в usr/lib/lua/ubus.so
А библиотека libubus - в opt/lib/libubus.so.
Дальше происходит вот такое:
Код: Выделить всё
cp -fpR /home/zap/src/Android/entware/Entware/build_dir/target-aarch64_cortex-a53_glibc-2.27/ubus-2018-07-26-40e0931e/ipkg-install/usr/lib/*.so /home/zap/src/Android/entware/Entware/build_dir/target-aarch64_cortex-a53_glibc-2.27/ubus-2018-07-26-40e0931e/.pkgdir/libubus/lib/
cp: cannot stat '/home/zap/src/Android/entware/Entware/build_dir/target-aarch64_cortex-a53_glibc-2.27/ubus-2018-07-26-40e0931e/ipkg-install/usr/lib/*.so': No such file or directory
Естественно, ведь libubus.so находится в /opt а он его ищет в /usr.
В package/system/ubus/Makefile правило для установки lib/libubus.so выглядят не-opt-ифицировано:
Код: Выделить всё
define Package/libubus/install
$(INSTALL_DIR) $(1)/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so $(1)/lib/
endef
Похоже на "недо-opt-ифицированный" пакет. При этом, если судить по описанию libubus, это один из ключевых пакетов OpenWrt.
Он вообще должен собираться? Он вообще нужен? (пардон за детский вопрос, раньше не углублялся в OpenWrt).