How to compile pjsip for ARM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
     I need to cross compit pjsip for ARM. Build tutorial (found at :
http://trac.pjsip.org/repos/wiki/Getting-Started/Autoconf#CrossCompilation )
suggests to run :



$ ./configure --host=arm-elf-linux
$ make dep
$ make

and then I need to run "sudo make" inside
pjproject1.8/pjsip-app/src/python directory

But "$ ./configure --host=arm-elf-linux" shows me there is no arm
toolchain installed in my system. My question is which toolchain
should I use and how to configure it to crosscompile pjsip.
Please tell me every steps of doing it.

Please know that I compiled it successfully for my 64bit ubuntu. Only
cross compilation is failing.

Following is the output of "$ ./configure --host=arm-elf-linux" in my
current system (Ubuntu 64bit):

tapas at test-laptop:~/Downloads/pjproject-1.8 ARM$ ./configure
--host=arm-elf-linux
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-elf-linux-gnu
checking target system type... arm-elf-linux-gnu
checking for arm-elf-linux-gcc... arm-elf-linux-gcc
checking for C compiler default output file name...
aconfigure: error: C compiler cannot create executables
See `config.log' for more details.
tapas at test-laptop:~/Downloads/pjproject-1.8 ARM$
tapas at test-laptop:~/Downloads/pjproject-1.8 ARM$
tapas at test-laptop:~/Downloads/pjproject-1.8 ARM$
tapas at test-laptop:~/Downloads/pjproject-1.8 ARM$
tapas at test-laptop:~/Downloads/pjproject-1.8 ARM$
tapas at test-laptop:~/Downloads/pjproject-1.8 ARM$
tapas at test-laptop:~/Downloads/pjproject-1.8 ARM$
tapas at test-laptop:~/Downloads/pjproject-1.8 ARM$
tapas at test-laptop:~/Downloads/pjproject-1.8 ARM$
tapas at test-laptop:~/Downloads/pjproject-1.8 ARM$
tapas at test-laptop:~/Downloads/pjproject-1.8 ARM$ ./configure
--host=arm-elf-linux
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-elf-linux-gnu
checking target system type... arm-elf-linux-gnu
checking for arm-elf-linux-gcc... no
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for arm-elf-linux-g++... no
checking for arm-elf-linux-c++... no
checking for arm-elf-linux-gpp... no
checking for arm-elf-linux-aCC... no
checking for arm-elf-linux-CC... no
checking for arm-elf-linux-cxx... no
checking for arm-elf-linux-cc++... no
checking for arm-elf-linux-cl.exe... no
checking for arm-elf-linux-FCC... no
checking for arm-elf-linux-KCC... no
checking for arm-elf-linux-RCC... no
checking for arm-elf-linux-xlC_r... no
checking for arm-elf-linux-xlC... no
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for pthread_create in -lpthread... yes
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... yes
checking for puts in -lnsl... 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... 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 for fmod in -lm... yes
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 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... yes
checking netinet/tcp.h usability... yes
checking netinet/tcp.h presence... yes
checking for netinet/tcp.h... yes
checking ifaddrs.h usability... yes
checking ifaddrs.h presence... yes
checking for ifaddrs.h... yes
checking for getifaddrs... yes
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 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-elf-linux-gnu
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()
checking sys/soundcard.h usability... yes
checking sys/soundcard.h presence... yes
checking for sys/soundcard.h... yes
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 alsa/version.h usability... yes
checking alsa/version.h presence... yes
checking for alsa/version.h... yes
Checking sound device backend... unix
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
Skipping Intel IPP settings (not wanted)
checking for OpenSSL installations..
checking openssl/ssl.h usability... yes
checking openssl/ssl.h presence... yes
checking for openssl/ssl.h... yes
checking for ERR_load_BIO_strings in -lcrypto... yes
checking for SSL_library_init in -lssl... yes
OpenSSL library found, SSL support enabled
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'.

tapas at test-laptop:~/Downloads/pjproject-1.8 ARM$ make dep
for dir in pjlib pjlib-util pjnath third_party pjmedia pjsip pjsip-apps; do \
		if make  -C $dir/build dep; then \
		    true; \
		else \
		    exit 1; \
		fi; \
	done
make[1]: Entering directory `/home/tapas/Downloads/pjproject-1.8
ARM/pjlib/build'
make[1]: *** /home/tapas/Downloads/pjproject-1.8: Is a directory.  Stop.
make[1]: Leaving directory `/home/tapas/Downloads/pjproject-1.8 ARM/pjlib/build'
make: *** [dep] Error 1
tapas at test-laptop:~/Downloads/pjproject-1.8 ARM$
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20101020/01c7a7c1/attachment-0001.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux