jacuba 0 5 апреля, 2011 Опубликовано 5 апреля, 2011 · Жалоба Добрый день, возникла следующая проблема: при попытке скомпилировать linphone на машине с i686 для машины с ARM-архитектурой: $cd linphone-3.4.3 $sudo ./configure --prefix=/home/user/armbuild --host=i686-pc-linux --target=arm-linux --disable-static --disable-glib --enable-gnome_ui=no --disable-manual --enable-alsa --with-speex=/home/user/speex Конфигурация проходит успешно, но в конце получаю предупреждение: configure: WARNING: ortp-0.15.0 breaks compatibility with older releases, because value returned by rtp_session_recvm_with_ts() has changed. See the API documentation in doc/ for further readings. Linphone build configuration ended. * GTK interface will be compiled. * Console interface will be compiled. Now type 'make' to compile, and then 'make install' as root to install it. После этого делаю sudo make и получаю ошибку: CCLD mediastream ../src/.libs/libmediastreamer.so: undefined reference to `speex_echo_cancellation' ../src/.libs/libmediastreamer.so: undefined reference to `speex_echo_state_init' ../src/.libs/libmediastreamer.so: undefined reference to `speex_preprocess_state_destroy' ../src/.libs/libmediastreamer.so: undefined reference to `speex_preprocess_state_init' ../src/.libs/libmediastreamer.so: undefined reference to `speex_echo_ctl' ../src/.libs/libmediastreamer.so: undefined reference to `speex_echo_state_destroy' ../src/.libs/libmediastreamer.so: undefined reference to `speex_preprocess_ctl' ../src/.libs/libmediastreamer.so: undefined reference to `speex_preprocess_run' collect2: ld returned 1 exit status make[4]: *** [mediastream] Ошибка 1 make[4]: Leaving directory `/home/user/linphone-3.4.3/mediastreamer2/tests' make[3]: *** [all-recursive] Ошибка 1 make[3]: Leaving directory `/home/user/linphone-3.4.3/mediastreamer2' make[2]: *** [all] Ошибка 2 make[2]: Leaving directory `/home/user/linphone-3.4.3/mediastreamer2' make[1]: *** [all-recursive] Ошибка 1 make[1]: Leaving directory `/home/user/linphone-3.4.3' make: *** [all] Ошибка 2 Собственно это и вызывает затруднение, откуда такая ошибка и как можно от нее избавиться? Заранее благодарен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Petka 0 5 апреля, 2011 Опубликовано 5 апреля, 2011 · Жалоба Добрый день, возникла следующая проблема: ... ../src/.libs/libmediastreamer.so: undefined reference to `speex_echo_cancellation' ... Собственно это и вызывает затруднение, откуда такая ошибка и как можно от нее избавиться? Очевидно в библиотеке speex отсутствуют такие функции. Либо не та версия библиотеки, либо вы её неправильно собрали. P.S. тему лучше перенести в OpenSource раздел Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jacuba 0 5 апреля, 2011 Опубликовано 5 апреля, 2011 · Жалоба Petka, спасибо за ответ, ранее я скачивал speex отсюда и собирал следующим образом: $cd ../speex-1.1.11.1 $./configure --prefix=/home/user/armbuild --host=i686-pc-linux --target=arm-linux --disable-static --enable-fixed-point --enable-arm-asm $make $make install Сейчас я поставил пакеты: libogg-ocaml, libogg-ocaml-dev, libspeex-ocaml, libspeex-ocaml-dev, libspeexdsp-dev из репозитариев - проблема решилась. Большое спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jacuba 0 6 апреля, 2011 Опубликовано 6 апреля, 2011 (изменено) · Жалоба появилась еще одна проблема: при компиляции speex получаю следующее сообщение root@debian:/home/user/arm1/speex-1.2beta2# make make all-recursive make[1]: Entering directory `/home/user/arm1/speex-1.2beta2' Making all in libspeex make[2]: Entering directory `/home/user/arm1/speex-1.2beta2/libspeex' /bin/bash ../libtool --mode=link arm-unknown-linux-uclibcgnueabi-gcc -g -O2 -o testenc testenc.o libspeex.la -lm arm-unknown-linux-uclibcgnueabi-gcc -g -O2 -o .libs/testenc testenc.o ./.libs/libspeex.so -lm testenc.o: In function `fprintf': /usr/include/bits/stdio2.h:98: undefined reference to `__fprintf_chk' /usr/include/bits/stdio2.h:98: undefined reference to `__fprintf_chk' /usr/include/bits/stdio2.h:98: undefined reference to `__fprintf_chk' ./.libs/libspeex.so: undefined reference to `__printf_chk' collect2: ld returned 1 exit status make[2]: *** [testenc] Ошибка 1 make[2]: Leaving directory `/home/user/arm1/speex-1.2beta2/libspeex' make[1]: *** [all-recursive] Ошибка 1 make[1]: Leaving directory `/home/user/arm1/speex-1.2beta2' make: *** [all] Ошибка 2 гугл ничего про это не знает уважаемые, помогите разобраться. Изменено 6 апреля, 2011 пользователем jacuba Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Petka 0 6 апреля, 2011 Опубликовано 6 апреля, 2011 · Жалоба ... /usr/include/bits/stdio2.h:98: undefined reference to `__fprintf_chk' ... уважаемые, помогите разобраться. Похоже неправильно сконфигурировали speex для кросс-компиляции. При сборке вместо uclibc тянутся хэдеры локальной (хостовой) машины, а на ней наверняка glibc. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jacuba 0 7 апреля, 2011 Опубликовано 7 апреля, 2011 (изменено) · Жалоба Проблема решилась путем установки компилятора в /usr Теперь при попытки конфигурирования самого libphone получаю сообщение: # ./configure --prefix=/usr --host=arm-linux --with-gnu-ld --disable-static \ --disable-glib --with-osip=$ARM_INSTALL_TREE/usr \ --with-readline=$ARM_INSTALL_TREE/usr \ SPEEX_CFLAGS="-I$ARM_INSTALL_TREE/usr/include" \ SPEEX_LIBS="-L$ARM_INSTALL_TREE/usr/lib -lspeex " ... checking eXosip2/eXosip.h usability... no checking eXosip2/eXosip.h presence... no checking for eXosip2/eXosip.h... no configure: error: Could not find eXosip2 headers ! Делаю вывод, что хидеры не могут быть найдены потому что их просто нет. Принимаю решение установить libexosip. Скачиваю и распаковываю. # cd ../libeXosip2-3.5.0/ # ./configure --prefix=/usr --host=arm-linux --with-gnu-ld --disable-static # make ... eXosip.c: In function `_eXosip_transaction_init': eXosip.c:76: error: `osip_srv_record_t' undeclared (first use in this function) eXosip.c:76: error: (Each undeclared identifier is reported only once eXosip.c:76: error: for each function it appears in.) eXosip.c:76: error: parse error before "record" eXosip.c:84: error: `record' undeclared (first use in this function) eXosip.c:88: error: `OSIP_SUCCESS' undeclared (first use in this function) eXosip.c:90: warning: implicit declaration of function `osip_transaction_set_srv_record' eXosip.c: In function `eXosip_transaction_find': eXosip.c:106: error: `OSIP_SUCCESS' undeclared (first use in this function) eXosip.c:110: error: `OSIP_NOTFOUND' undeclared (first use in this function) eXosip.c: In function `_eXosip_retry_with_auth': eXosip.c:130: error: `OSIP_BADPARAMETER' undeclared (first use in this function) eXosip.c:134: error: `OSIP_UNDEFINED_ERROR' undeclared (first use in this function) eXosip.c:154: warning: passing arg 1 of `osip_list_get' from incompatible pointer type eXosip.c:160: error: `OSIP_SYNTAXERROR' undeclared (first use in this function) eXosip.c:1430: warning: passing arg 1 of `osip_list_add' from incompatible pointer type eXosip.c: In function `eXosip_update_top_via': eXosip.c:1464: warning: passing arg 1 of `osip_list_get' from incompatible pointer type eXosip.c:1470: error: `OSIP_SYNTAXERROR' undeclared (first use in this function) eXosip.c:1487: error: `OSIP_SUCCESS' undeclared (first use in this function) make[2]: *** [eXosip.lo] Ошибка 1 make[2]: Leaving directory `/root/arm1/libeXosip2-3.5.0/src' make[1]: *** [all-recursive] Ошибка 1 make[1]: Leaving directory `/root/arm1/libeXosip2-3.5.0' make: *** [all] Ошибка 2 какова причина возникновения этих ошибок? Прошу у вас помощи. Изменено 7 апреля, 2011 пользователем jacuba Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Petka 0 7 апреля, 2011 Опубликовано 7 апреля, 2011 · Жалоба Проблема решилась путем установки компилятора в /usr Теперь при попытки конфигурирования самого libphone получаю сообщение: # ./configure --prefix=/usr .... какова причина возникновения этих ошибок? Прошу у вас помощи. 1) ИМХО --prefix НЕ надо при кросс-компиляции прописывать в /usr пропишите куда-нить в личный /home аналогично ARM_INSTALL_TREE 2) при компиляции (make) не выдавались-ли сообщения о ненайденых incude ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jacuba 0 7 апреля, 2011 Опубликовано 7 апреля, 2011 · Жалоба кхм... Наверно вот здесь и таится ошибка. Но я все равно не понимаю, как это исправить. ... In file included from eXosip.c:25: eXosip2.h:56:24: osip2/osip.h: Нет такого файла или каталога eXosip2.h:57:31: osip2/osip_dialog.h: Нет такого файла или каталога In file included from ../include/eXosip2/eXosip.h:28, from eXosip2.h:59, from eXosip.c:25: ../include/eXosip2/eX_setup.h:29:38: osipparser2/osip_message.h: Нет такого файла или каталога In file included from ../include/eXosip2/eXosip.h:28, from eXosip2.h:59, from eXosip.c:25: ../include/eXosip2/eX_setup.h:107: error: parse error before "osip_proxy_authenticate_t" ../include/eXosip2/eX_setup.h:107: warning: no semicolon at end of struct or union ../include/eXosip2/eX_setup.h:111: error: parse error before '}' token ../include/eXosip2/eX_setup.h:200: error: parse error before '*' token ../include/eXosip2/eX_setup.h:269: error: parse error before '*' token In file included from ../include/eXosip2/eXosip.h:29, from eXosip2.h:59, from eXosip.c:25: ../include/eXosip2/eX_register.h:28:37: osipparser2/osip_parser.h: Нет такого файла или каталога In file included from ../include/eXosip2/eXosip.h:29, from eXosip2.h:59, from eXosip.c:25: ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Petka 0 7 апреля, 2011 Опубликовано 7 апреля, 2011 · Жалоба кхм... Наверно вот здесь и таится ошибка. Но я все равно не понимаю, как это исправить. ... In file included from eXosip.c:25: eXosip2.h:56:24: osip2/osip.h: Нет такого файла или каталога ... Посмотрите с какими ключами зачускается компилятор перед выдачей таких ошибок. В ключе "-I" должны содержаться пути к необходимым хедерам. Проверьте наличие этих хедеров. Сконфигурируйте библиотеку так, что бы при компиляции эти пути указывали на необходимые каталоги. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jacuba 0 11 апреля, 2011 Опубликовано 11 апреля, 2011 (изменено) · Жалоба При конфигурации самого linphon получаю сообщение: # ./configure --prefix=/root/armbuild --host=arm-linux --disable-static --disable-glib --enable-gnome_ui=no --disable-manual --enable-ipv6 --enable-alsa --with-osip=/armbuild/usr --with-speex=/armbuild/usr checking for eXosip2/eXosip.h... yes checking for eXosip_subscribe_remove in -leXosip2... no configure: error: Could not find eXosip2 library with version >= 3.0.2 ! Начинаю ставить libeXosip2-3.0.3 Прошу меня проверить: # cd libeXosip2-3.0.3 # ./configure --host=arm-linux --prefix=/armbuild ... Entering directory `/home/user/Загрузки/libeXosip2-3.0.3/src' if /bin/bash ../libtool --tag=CC --mode=compile arm-linux-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../include -I/armbuild/include -Wall -Wcast-align -Wchar-subscripts -Wformat -Winline -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -DOSIP_MT -DENABLE_DEBUG -g -DENABLE_TRACE -g -pthread -g -MT eXosip.lo -MD -MP -MF ".deps/eXosip.Tpo" -c -o eXosip.lo eXosip.c; \ then mv -f ".deps/eXosip.Tpo" ".deps/eXosip.Plo"; else rm -f ".deps/eXosip.Tpo"; exit 1; fi mkdir .libs arm-linux-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../include -I/armbuild/include -Wall -Wcast-align -Wchar-subscripts -Wformat -Winline -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -DOSIP_MT -DENABLE_DEBUG -g -DENABLE_TRACE -g -pthread -g -MT eXosip.lo -MD -MP -MF .deps/eXosip.Tpo -c eXosip.c -fPIC -DPIC -o .libs/eXosip.o In file included from eXosip.c:25: eXosip2.h:56:24: osip2/osip.h: No such file or directory eXosip2.h:57:31: osip2/osip_dialog.h: No such file or directory osip2/osip.h лежал в /armbuild/include, на всякий случай я скопировал всю папку osip2 в /usr/include Правильно ли я сделал? по прежнему получаю кучу сообщений типа: eXosip.c: In function `_eXosip_transaction_init': eXosip.c:83: warning: implicit declaration of function `osip_transaction_init' eXosip.c:83: error: `transaction' undeclared (first use in this function) eXosip.c:83: error: (Each undeclared identifier is reported only once eXosip.c:83: error: for each function it appears in.) eXosip.c:83: error: `ctx_type' undeclared (first use in this function) eXosip.c:83: error: `osip' undeclared (first use in this function) eXosip.c:83: error: `message' undeclared (first use in this function) eXosip.c: At top level: eXosip.c:101: error: parse error before "osip_transaction_t" eXosip.c:102: warning: no previous prototype for `eXosip_transaction_find' eXosip.c: In function `eXosip_transaction_find': eXosip.c:105: error: `transaction' undeclared (first use in this function) eXosip.c:106: warning: implicit declaration of function `osip_list_eol' eXosip.c:106: error: invalid use of incomplete typedef `eXosip_t' eXosip.c:108: error: `osip_transaction_t' undeclared (first use in this function) eXosip.c:108: error: `tr' undeclared (first use in this function) eXosip.c:110: error: parse error before ')' token eXosip.c: At top level: eXosip.c:124: error: parse error before "osip_transaction_t" eXosip.c: In function `_eXosip_retry_with_auth': eXosip.c:127: error: `osip_transaction_t' undeclared (first use in this function) eXosip.c:127: error: `out_tr' undeclared (first use in this function) eXosip.c:128: error: `tr' undeclared (first use in this function) eXosip.c:129: error: `osip_message_t' undeclared (first use in this function) eXosip.c:129: error: `msg' undeclared (first use in this function) eXosip.c:130: error: `osip_event_t' undeclared (first use in this function) eXosip.c:130: error: `sipevent' undeclared (first use in this function) eXosip.c:134: error: `osip_via_t' undeclared (first use in this function) eXosip.c:134: error: `via' undeclared (first use in this function) eXosip.c:137: error: `ptr' undeclared (first use in this function) eXosip.c:140: error: `jd' undeclared (first use in this function) eXosip.c:152: error: `retry' undeclared (first use in this function) eXosip.c:155: warning: implicit declaration of function `osip_message_clone' eXosip.c:158: warning: implicit declaration of function `OSIP_TRACE' ... eXosip.c:474: error: `osip_transaction_t' undeclared (first use in this function) eXosip.c:474: error: `out_tr' undeclared (first use in this function) eXosip.c:476: warning: implicit declaration of function `osip_list_get' eXosip.c:476: error: dereferencing pointer to incomplete type eXosip.c:478: error: dereferencing pointer to incomplete type eXosip.c:480: error: dereferencing pointer to incomplete type eXosip.c:482: error: dereferencing pointer to incomplete type eXosip.c:492: error: `OSIP_ERROR' undeclared (first use in this function) eXosip.c:500: error: invalid use of incomplete typedef `eXosip_t' eXosip.c:500: error: dereferencing pointer to incomplete type ... eXosip.c:1138: error: dereferencing pointer to incomplete type eXosip.c:1143: error: dereferencing pointer to incomplete type eXosip.c:1144: error: dereferencing pointer to incomplete type eXosip.c:1164: warning: implicit declaration of function `osip_message_get_www_authenticate' eXosip.c:1165: warning: implicit declaration of function `osip_message_get_proxy_authenticate' eXosip.c:1218: error: `osip_generic_param_t' undeclared (first use in this function) eXosip.c:1218: error: `to_tag' undeclared (first use in this function) eXosip.c:1219: warning: implicit declaration of function `osip_from_param_get_byname' eXosip.c:1248: error: `OSIP_INFO1' undeclared (first use in this function) eXosip.c: At top level: eXosip.c:1297: error: parse error before '*' token eXosip.c:1298: warning: no previous prototype for `eXosip_update_top_via' eXosip.c: In function `eXosip_update_top_via': eXosip.c:1301: error: `osip_generic_param_t' undeclared (first use in this function) eXosip.c:1301: error: `br' undeclared (first use in this function) eXosip.c:1302: error: `osip_via_t' undeclared (first use in this function) eXosip.c:1302: error: `via' undeclared (first use in this function) eXosip.c:1302: error: parse error before ')' token eXosip.c:1307: error: `OSIP_ERROR' undeclared (first use in this function) eXosip.c:1312: warning: implicit declaration of function `osip_via_param_get_byname' eXosip.c:1323: warning: implicit declaration of function `osip_build_random_number' eXosip.c:1326: warning: implicit declaration of function `osip_strdup' Изменено 11 апреля, 2011 пользователем jacuba Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Petka 0 11 апреля, 2011 Опубликовано 11 апреля, 2011 · Жалоба .... Прошу меня проверить: # cd libeXosip2-3.0.3 # ./configure --host=arm-linux --prefix=/armbuild ... arm-linux-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../include -I/armbuild/include -Wall -Wcast-align -Wchar-subscripts -Wformat -Winline -Wmissing-declarations -Wmissing-prototypes -Wnested- .... eXosip2.h:56:24: osip2/osip.h: No such file or directory .... osip2/osip.h лежал в /armbuild/include, на всякий случай я скопировал всю папку osip2 в /usr/include Быть такого не может. вы что, прямо в корень /armbuild положили? Даже если он там лежит компилятор не может не найти хедеров. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jacuba 0 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба Да, armbuild лежит прямо в корне. Только что проверил все пути установки, понял, что хидеры linphone искал не там - поправил - частично помогло. Спасибо, Petka, ты единственный, кто проявляет интерес к этой теме на этом форуме:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jacuba 0 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба Я добился того, что linphone сконфигурировался и теперь приступаю к компиляции: # make ... libtool: compile: arm-linux-gcc -DHAVE_CONFIG_H -I. -I.. -I../include/ -D_REENTRANT -I.. -g -O2 -Wall -Werror -DORTP_INET6 -MT b64.lo -MD -MP -MF .deps/b64.Tpo -c b64.c -fPIC -DPIC -o .libs/b64.o b64.c: In function `b64_encode_': b64.c:209: warning: comparison is always true due to limited range of data type b64.c:210: warning: comparison is always true due to limited range of data type b64.c:211: warning: comparison is always true due to limited range of data type b64.c:212: warning: comparison is always true due to limited range of data type make[5]: *** [b64.lo] Ошибка 1 make[5]: Leaving directory `/root/arm1/linphone-3.4.3/oRTP/src' make[4]: *** [all-recursive] Ошибка 1 make[4]: Leaving directory `/root/arm1/linphone-3.4.3/oRTP/src' make[3]: *** [all-recursive] Ошибка 1 make[3]: Leaving directory `/root/arm1/linphone-3.4.3/oRTP' make[2]: *** [all] Ошибка 2 make[2]: Leaving directory `/root/arm1/linphone-3.4.3/oRTP' make[1]: *** [all-recursive] Ошибка 1 make[1]: Leaving directory `/root/arm1/linphone-3.4.3' make: *** [all] Ошибка 2 В какую сторону копать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Petka 0 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба Я добился того, что linphone сконфигурировался и теперь приступаю к компиляции: ... libtool: compile: arm-linux-gcc -DHAVE_CONFIG_H -I. -I.. -I../include/ -D_REENTRANT -I.. -g -O2 -Wall -Werror -DORTP_INET6 -MT b64.lo -MD -MP -MF .deps/b64.Tpo -c b64.c -fPIC -DPIC -o . b64.c:209: warning: comparison is always true due to limited range of data type ... make[5]: *** [b64.lo] Ошибка 1 ... В какую сторону копать? Ключ -Werror "превращает" варнинги в ошибки. Тут уже надо копать снова либо в конфигурацию библиотеки (судя по ошибке надо то ли включить, то ли отключить поддержку 64 бит. Хотя я не уверен.) Либо это бага в библиотеке. Можете попробовать в makefile убрать ключи "-Werror". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jacuba 0 12 апреля, 2011 Опубликовано 12 апреля, 2011 · Жалоба Я открыл файл b64.c и закоментировал строки 209-212. Данная проблема решилась. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться