Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z biblioteką pjSIP - czyli kompilacja ze źródeł

Ostatnio zmodyfikowano 2014-01-15 20:42
Autor Wiadomość
kubek3898
Temat założony przez niniejszego użytkownika
Problem z biblioteką pjSIP - czyli kompilacja ze źródeł
» 2014-01-15 14:11:39
Chciałem skompilować ze źródeł bibliotekę pjSIP pod system Android, korzystając z tego tutoriala -> http://trac.pjsip.org/repos​/wiki/Getting-Started/Android

Na moim Ubuntu 13.10 uruchomiłem terminal, przeszedłem do katalogu /pjsip i wykonałem komendę:

./configure-android

Już na początku napotkałem problem. Terminal wyrzucił, że nie ma takiego pliku lub katalogu. Domyśliłem się, że to przez ścieżki bezwzględne, więc zmieniłem ./ na ../. Tym razem skrypt uruchomił się z takim logiem:

configure-android: APP_PLATFORM not specified, using android-19
configure-android: TARGET_ABI not specified, using armeabi
configure-android: calling ./configure with env vars:
 CC = /home/android/Downloads/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc
 CXX = /home/android/Downloads/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++
 CFLAGS =  -I/home/android/Downloads/android-ndk-r9c/platforms/android-19/arch-arm/usr/include
 CXXFLAGS =  -shared --sysroot=/home/android/Downloads/android-ndk-r9c/platforms/android-19/arch-arm
 LDFLAGS =  -nostdlib -L/home/android/Downloads/android-ndk-r9c/platforms/android-19/arch-arm/usr/lib/
 LIBS =  -lc -lgcc
 AR = /home/android/Downloads/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ar
 RANLIB = /home/android/Downloads/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ranlib
aconfigure: error: missing argument to --prefix
android@android-VirtualBox:~/Downloads/trunk/pjsip$ ../configure-android --prefix=/usr
configure-android: APP_PLATFORM not specified, using android-19
configure-android: TARGET_ABI not specified, using armeabi
configure-android: calling ./configure with env vars:
 CC = /home/android/Downloads/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc
 CXX = /home/android/Downloads/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++
 CFLAGS =  -I/home/android/Downloads/android-ndk-r9c/platforms/android-19/arch-arm/usr/include
 CXXFLAGS =  -shared --sysroot=/home/android/Downloads/android-ndk-r9c/platforms/android-19/arch-arm
 LDFLAGS =  -nostdlib -L/home/android/Downloads/android-ndk-r9c/platforms/android-19/arch-arm/usr/lib/
 LIBS =  -lc -lgcc
 AR = /home/android/Downloads/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ar
 RANLIB = /home/android/Downloads/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ranlib
aconfigure: WARNING: if you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used
checking build system type... x86_64-unknown-linux-gnu
checking host system type... arm-unknown-linux-androideabi
checking target system type... arm-unknown-linux-androideabi
checking for arm-linux-androideabi-gcc... /home/android/Downloads/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /home/android/Downloads/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc accepts -g... yes
checking for /home/android/Downloads/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc option to accept ISO C89... none needed
checking whether we are using the GNU C++ compiler... yes
checking whether /home/android/Downloads/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ accepts -g... yes
checking for arm-linux-androideabi-ranlib... /home/android/Downloads/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ranlib
checking for arm-linux-androideabi-ar... /home/android/Downloads/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ar
checking for pthread_create in -lpthread... no
checking for puts in -lwsock32... no
checking for puts in -lws2_32... no
checking for puts in -lole32... no
checking for puts in -lwinmm... no
checking for puts in -lsocket... no
checking for puts in -lrt... no
checking for puts in -lnsl... no
checking for sin in -lm... yes
checking for uuid_generate in -luuid... no
checking for uuid_generate in -luuid... (cached) no
Setting PJ_M_NAME to arm
checking memory alignment... 4 bytes (default)
checking how to run the C preprocessor... /home/android/Downloads/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
Checking if floating point is disabled... no
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking assert.h usability... yes
checking assert.h presence... yes
checking for assert.h... yes
checking ctype.h usability... yes
checking ctype.h presence... yes
checking for ctype.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking linux/socket.h usability... yes
checking linux/socket.h presence... yes
checking for linux/socket.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in_systm.h usability... yes
checking netinet/in_systm.h presence... yes
checking for netinet/in_systm.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking for netinet/ip.h... no
checking netinet/tcp.h usability... yes
checking netinet/tcp.h presence... yes
checking for netinet/tcp.h... yes
checking ifaddrs.h usability... no
checking ifaddrs.h presence... no
checking for ifaddrs.h... no
checking semaphore.h usability... yes
checking semaphore.h presence... yes
checking for semaphore.h... yes
checking setjmp.h usability... yes
checking setjmp.h presence... yes
checking for setjmp.h... yes
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/timeb.h usability... yes
checking sys/timeb.h presence... yes
checking for sys/timeb.h... yes
checking for sys/types.h... (cached) yes
checking sys/filio.h usability... no
checking sys/filio.h presence... no
checking for sys/filio.h... no
checking sys/sockio.h usability... no
checking sys/sockio.h presence... no
checking for sys/sockio.h... no
checking sys/utsname.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking for unistd.h... (cached) yes
checking winsock.h usability... no
checking winsock.h presence... no
checking for winsock.h... no
checking winsock2.h usability... no
checking winsock2.h presence... no
checking for winsock2.h... no
checking for mswsock.h... no
checking ws2tcpip.h usability... no
checking ws2tcpip.h presence... no
checking for ws2tcpip.h... no
checking uuid/uuid.h usability... no
checking uuid/uuid.h presence... no
checking for uuid/uuid.h... no
checking for net/if.h... yes
Setting PJ_OS_NAME to arm-unknown-linux-androideabi
Setting PJ_HAS_ERRNO_VAR to 1
Setting PJ_HAS_HIGH_RES_TIMER to 1
Setting PJ_HAS_MALLOC to 1
Setting PJ_NATIVE_STRING_IS_UNICODE to 0
Setting PJ_ATOMIC_VALUE_TYPE to long
checking if inet_aton() is available... yes
checking if inet_pton() is available... yes
checking if inet_ntop() is available... yes
checking if getaddrinfo() is available... yes
checking if sockaddr_in has sin_len member... no
checking if socklen_t is available... yes
checking if SO_ERROR is available... yes
checking if pthread_rwlock_t is available... yes
checking if pthread_mutexattr_settype() is available... no
checking if pthread_mutexattr_t has recursive member... no
checking ioqueue backend... select()
Building shared libraries... no
checking sys/soundcard.h usability... no
checking sys/soundcard.h presence... no
checking for sys/soundcard.h... no
checking linux/soundcard.h usability... yes
checking linux/soundcard.h presence... yes
checking for linux/soundcard.h... yes
checking machine/soundcard.h usability... no
checking machine/soundcard.h presence... no
checking for machine/soundcard.h... no
Checking sound device backend... OpenSL ES
Video is disabled
Checking if small filter is disabled... no
Checking if large filter is disabled... no
Checking if Speex AEC is disabled...no
Checking if G.711 codec is disabled...no
Checking if L16 codec is disabled...no
Checking if GSM codec is disabled...no
Checking if G.722 codec is disabled...no
Checking if G.722.1 codec is disabled...no
Checking if Speex codec is disabled...no
Checking if iLBC codec is disabled...no
Skipping libsamplerate detection
Building libresample as shared library... no
Checking if SDL is disabled... yes
Checking if ffmpeg is disabled... yes
Checking if V4L2 is disabled... yes
Skipping Intel IPP settings (not wanted)
Checking if SSL support is disabled... yes
Checking if OpenCORE AMR support is disabled... yes
Checking if SILK support is disabled... yes
checking if select() needs correct nfds... no (default)
** Decided that select() doesn't need correct nfds (please check)
checking if pj_thread_create() should enforce stack size... no (default)
checking if pj_thread_create() should allocate stack... no (default)
** Setting non-blocking recv() retval to EAGAIN (please check)
** Setting non-blocking connect() retval to EINPROGRESS (please check)
aconfigure: creating ./config.status
config.status: creating build.mak
config.status: creating build/os-auto.mak
config.status: creating build/cc-auto.mak
config.status: creating pjlib/build/os-auto.mak
config.status: creating pjlib-util/build/os-auto.mak
config.status: creating pjmedia/build/os-auto.mak
config.status: creating pjsip/build/os-auto.mak
config.status: creating third_party/build/os-auto.mak
config.status: creating third_party/build/portaudio/os-auto.mak
config.status: creating pjlib/include/pj/compat/os_auto.h
config.status: pjlib/include/pj/compat/os_auto.h is unchanged
config.status: creating pjlib/include/pj/compat/m_auto.h
config.status: pjlib/include/pj/compat/m_auto.h is unchanged
config.status: creating pjmedia/include/pjmedia/config_auto.h
config.status: pjmedia/include/pjmedia/config_auto.h is unchanged
config.status: creating pjmedia/include/pjmedia-codec/config_auto.h
config.status: pjmedia/include/pjmedia-codec/config_auto.h is unchanged
config.status: creating pjsip/include/pjsip/sip_autoconf.h
config.status: pjsip/include/pjsip/sip_autoconf.h is unchanged


Configurations for current target have been written to 'build.mak', and 'os-auto.mak' in various build directories, and pjlib/include/pj/compat/os_auto.h.

Further customizations can be put in:
  - 'user.mak'
  - 'pjlib/include/pj/config_site.h'

The next step now is to run 'make dep' and 'make'.

Uruchomiłem więc komendę:

make dep && make clean && make

Tutaj jednak utknąłem. Co bym nie zrobił, terminal wypluwa:

make *** brak reguł do wykonania obiektu 'dep'. Stop.
make *** brak reguł do wykonania obiektu 'clean'. Stop.
make *** nie podano obiektów i nie znaleziono Makefile. Stop

Gdzieś wyczytałem, że najpierw trzeba uruchomić komendę 'make', a później dopiero sudo make install. Próbowałem i tak, również bez skutku.

Proszę o pomoc.
P-102223
DejaVu
» 2014-01-15 18:49:12
./(...) to nie jest ścieżka bezwględna, tylko bieżący katalog roboczy.
../(...) to jest nadrzędny katalog względem bieżącego katalogu roboczego.
innymi słowy uruchamiasz skrypt ze złego katalogu roboczego i być może to rzutuje na kolejne błędy.
P-102252
kubek3898
Temat założony przez niniejszego użytkownika
» 2014-01-15 20:09:11
No ale w manualu wyraźnie jest uruchamiana komenda cd pjsip/, a później wykonywany ./configure-android, podczas gdy on zdajduje się katalog wyżej. Chyba, że ja źle rozumuję tą instrukcję sam już nie wiem.
P-102262
DejaVu
» 2014-01-15 20:42:29
No ale co to za problem sprawdzić, czy kompilacja zadziała prawidłowo w katalogu wyżej? Bo na razie robisz problem, że musisz wejść do innego katalogu aby sprawdzić 'czy kompilacja zadziała'.
P-102268
« 1 »
  Strona 1 z 1