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>