hondaspb Posted July 29, 2022 Share Posted July 29, 2022 @TheBB подскажите пожалуйста, куда копать. Собираю из сорсов bird2 2.0.10, все собирается корректно, при запуске ошибка bird: Cannot get random bytes: Function not implemented При этом версия 2.0.8 собирается и работает корректно. Я вижу что вы бампнули бирд до 2.0.10 тут https://github.com/Entware/entware-routing/tree/master/bird2 поэтому обращаюсь к вам. Подозреваю что сбой связан с коммитом https://gitlab.nic.cz/labs/bird/-/commit/c48ebde5ce6db3da8cd571d213d1a1f265de8983 и последующим https://gitlab.nic.cz/labs/bird/-/commit/e5724f71d2c054bc51d66092beb6af4da21e0c62 которые усложняют random.c и, видимо, используют какие-то функции, которые не имплементированы в кинетике. Но какие это функции и как решить проблему - не знаю. Quote Link to comment Share on other sites More sharing options...
zyxmon Posted July 29, 2022 Share Posted July 29, 2022 @hondaspb- нужно смотреть, как configure определяет конфиг. На правах гадалки - добавьте `CONFIGURE_VARS += ac_cv_func_getentropy=no` 1 Quote Link to comment Share on other sites More sharing options...
hondaspb Posted July 29, 2022 Author Share Posted July 29, 2022 4 минуты назад, zyxmon сказал: @hondaspb- нужно смотреть, как configure определяет конфиг. На правах гадалки - добавьте `CONFIGURE_VARS += ac_cv_func_getentropy=no` @zyxmon спасибо, но я ненастоящий сварщик, куда добавлять? в configure.ac есть строки AC_CHECK_FUNCS(getrandom) AC_CHECK_FUNCS(getentropy) Quote Link to comment Share on other sites More sharing options...
zyxmon Posted July 29, 2022 Share Posted July 29, 2022 перед запуском configure нужно задать переменную ac_cv... или же добавьте строку в Makefile для Entware 1 Quote Link to comment Share on other sites More sharing options...
TheBB Posted July 29, 2022 Share Posted July 29, 2022 ### git diff diff --git a/bird2/Makefile b/bird2/Makefile index 891f372..99ade6f 100644 --- a/bird2/Makefile +++ b/bird2/Makefile @@ -97,7 +97,13 @@ protocols, telling BIRD to show various information, telling it to show a routing table filtered by a filter, or asking BIRD to reconfigure. endef -CONFIGURE_ARGS += --disable-libssh +CONFIGURE_ARGS += \ + --disable-libssh \ + --with-iproutedir=/opt/etc/iproute2 + +CONFIGURE_VARS += \ + ac_cv_func_getentropy=no \ + ac_cv_func_getrandom=no define Package/bird2/conffiles /opt/etc/bird.conf @@ -110,8 +116,8 @@ define Package/bird2/install $(INSTALL_BIN) $(PKG_BUILD_DIR)/bird $(1)/opt/sbin/ $(INSTALL_DIR) $(1)/opt/etc $(INSTALL_DATA) ./files/bird.conf $(1)/opt/etc/ -# $(INSTALL_DIR) $(1)/etc/init.d -# $(INSTALL_BIN) ./files/bird.init $(1)/etc/init.d/bird + $(INSTALL_DIR) $(1)/opt/etc/init.d + $(INSTALL_BIN) ./files/S70bird $(1)/opt/etc/init.d/ endef define Package/bird2c/install ZKU2: ~ # ~ # cat /opt/etc/init.d/S70bird #!/bin/sh ENABLED=yes PROCS=bird ARGS="-f -c /opt/etc/bird.conf -P /opt/var/run/bird.pid" PREARGS="" DESC=$PROCS PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin . /opt/etc/init.d/rc.func ~ # ~ # /opt/etc/init.d/S70bird start Starting bird... done. ~ # ~ # /opt/etc/init.d/S70bird status Checking bird... alive. ~ # ~ # /opt/etc/init.d/S70bird restart Shutting down bird... done. Starting bird... done. ~ # ~ # /opt/etc/init.d/S70bird status Checking bird... alive. ~ # 1 Quote Link to comment Share on other sites More sharing options...
hondaspb Posted July 29, 2022 Author Share Posted July 29, 2022 @TheBB @zyxmon спасибо большое! Все работает! Quote Link to comment Share on other sites More sharing options...
TheBB Posted July 29, 2022 Share Posted July 29, 2022 https://man7.org/linux/man-pages/man3/getentropy.3.html Цитата The getentropy() function first appeared in glibc 2.25. https://man7.org/linux/man-pages/man2/getrandom.2.html Цитата getrandom() was introduced in version 3.17 of the Linux kernel. Support was added to glibc in version 2.25. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.