LINUX.ORG.RU

Blackfin buildroot: undefined reference to `_fork'

 ,


0

1

Доброй ночи, товарищи!

Стала задача поставить линукс на сферический еще не попавший в мои «цепкие лапы»(с) девайс на процессоре BF537. Первой мыслью был yocto, но вспомнив сколько ежиков я наглотался пять лет назад с OE, решил попробовать BuildRoot. Тем более, что фирмой-производителем (Analog Devices) он худо-бедно поддерживается. Качал так:

git clone git://git.code.sf.net/p/adi-buildroot/code adi-buildroot-code
cd adi-buildroot-code
git checkout -b 2014R1
git submodule update --init
cd ..
git clone git://git.code.sf.net/p/adi-toolchain/blackfin adi-toolchain-blackfin
cd adi-toolchain-blackfin
git checkout -b 2014R1
git submodule update --init

Тулчейн собрался нормально, но билдрут не хочет собирать dropbear, openssh, tftpd и черт знает, что еще, используеще fork(). Вываливается с ошибкой undefined reference to `_fork'...

В гугле нашел только, что-то типа «ну да, есть такая фигня».

Вобщем, я понял, что без эксперной оценки ЛОРа не обойтись - у кого-нибудь есть опыт с этой штукой? Хелп ми плиз!!! :)

----------------- P.S. по-ходу догнал чуть-чуть - нужно vfork использовать

Привет! Расскажи, как решил проблему? Спасибо.

karak ()
Ответ на: комментарий от karak

привет, да там заказчик опомнился - чип не удовлетворял некоторым критериям, и от blackfin'a пришлось отказаться

metawishmaster ★★★★ ()
Ответ на: комментарий от karak

Попробовал вот такой патч для dropbear:

diff --git a/svr-main.c b/svr-main.c
index b274551..5460033 100644
--- a/svr-main.c
+++ b/svr-main.c
@@ -269,7 +269,11 @@ static void main_noinetd() {
 #ifdef DEBUG_NOFORK
                        fork_ret = 0;
 #else
+                       #ifdef __NOMMU__
+                       fork_ret = vfork();
+                       #else
                        fork_ret = fork();
+                       #endif
 #endif
                        if (fork_ret < 0) {
                                dropbear_log(LOG_WARNING, "Error forking: %s", strerror(errno));

не помогает :(

karak ()
Ответ на: комментарий от karak

Собирается, но не работает, по непонятным причинам. В общем я забил. Добавил telnetd в busybox на том и успокоился :)

karak ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.