How to compile pjsip for ARM

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

 



Hi,

This is very amusing. It seems like the directory name "pjproject-1.8
ARM" having
a space is the cause of your problems.

The PJSIP make files will not work correctly if you have a spaces in
your path. Please
refer to the top level build.mak (automatically created from build.mak.in):

    $ grep 'export PJDIR' build.mak

Frans


On Wed, Oct 20, 2010 at 8:11 PM, tapas <tapascst at gmail.com> wrote:
> 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$
>
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>
>



[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