[Home]

Summary:ASTERISK-16206: When cross-compiling, menuselect is built for target, not host architecture
Reporter:Philip Prindeville (pprindeville)Labels:
Date Opened:2010-06-03 23:32:59Date Closed:2010-06-29 13:15:23
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/BuildSystem
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:When building asterisk and supplying both CC and CC_FOR_BUILD, menuselect gets compiled with target tools, not the host tools.



****** STEPS TO REPRODUCE ******

Build log:

(cd /home/philipp/kernel/build_i586/asterisk-rHEAD; rm -rf config.cache configure; \
./bootstrap.sh; \
PATH=/home/philipp/kernel/build_i586/staging_dir/bin:/home/philipp/kernel/toolchain_build_i586/bin:/bin:/sbin:/usr/bin:/usr/sbin AR=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-ar AS=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-as LD=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-ld NM=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-nm CC=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc GCC=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc CXX=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-g++ CPP=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-cpp RANLIB=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-ranlib OBJCOPY=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-objcopy ac_cv_sizeof_char=1 ac_cv_sizeof_unsigned_char=1 ac_cv_sizeof_short=2 ac_cv_sizeof_short_int=2 ac_cv_sizeof_unsigned_short=2 ac_cv_sizeof_unsigned_short_int=2 ac_cv_sizeof_int=4 ac_cv_sizeof_long=4 ac_cv_sizeof_long_int=4 ac_cv_sizeof_unsigned=4 ac_cv_sizeof_unsigned_int=4 ac_cv_sizeof_unsigned_long=4 ac_cv_sizeof_unsigned_long_int=4 ac_cv_sizeof_off_t=4 ac_cv_sizeof_size_t=4 ac_cv_sizeof_char_p=4 ac_cv_sizeof_unsigned_char_p=4 ac_cv_sizeof_voidp=4 ac_cv_sizeof_long_long=8 ac_cv_sizeof_long_long_int=8 ac_cv_sizeof_unsigned_long_long=8 ac_cv_sizeof_unsigned_long_long_int=8 ac_cv_sizeof_off64_t=8 ac_cv_sizeof_loff_t=8 ac_cv_linux_vers=2 \
./configure \
--target=i586-linux \
--host=i586-linux \
--build=x86_64-pc-linux-gnu \
--prefix=/usr \
--exec-prefix=/usr \
--datadir=/usr/share \
--sysconfdir=/etc \
--without-pwlib \
--with-ltdl \
--without-iconv --disable-xmldoc --without-sdl --with-imap="/home/philipp/kernel/build_i586/staging_dir/uw-imap"  --with-spandsp --with-dahdi --with-tonezone --with-curl --with-lua  \
USE_GETIFADDRS=no \
CC_FOR_BUILD=gcc \
CC=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc \
CFLAGS='-Os -pipe -fomit-frame-pointer -march=k6-2 -fno-align-functions -fno-align-loops -fno-align-jumps -fno-align-labels  -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE' \
LD=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-ld \
CPP=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-cpp \
CPPFLAGS='-isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE' \
LDFLAGS='--sysroot=/home/philipp/kernel/build_i586/staging_dir -L/home/philipp/kernel/build_i586/staging_dir/lib -L/home/philipp/kernel/build_i586/staging_dir/usr/lib' \
LIBS=' -lssl -lz' \
SOUNDS_CACHE_DIR=/home/philipp/kernel/dl/sounds \
)
Generating the configure script ...
checking build system type... x86_64-pc-linux-gnu
checking host system type... i586-pc-linux-gnu
checking for i586-linux-gcc... /home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc
checking for C compiler default output file name... a.out

...


=== configuring in menuselect (/home/philipp/kernel/build_i586/asterisk-rHEAD/menuselect)
configure: running /bin/sh ./configure --disable-option-checking '--prefix=/usr'  '--target=i586-linux' '--host=i586-linux' '--build=x86_64-pc-linux-gnu' '--exec-prefix=/usr' '--datadir=/usr/share' '--sysconfdir=/etc' '--without-pwlib' '--with-ltdl' '--without-iconv' '--disable-xmldoc' '--without-sdl' '--with-imap=/home/philipp/kernel/build_i586/staging_dir/uw-imap' '--with-spandsp' '--with-dahdi' '--with-tonezone' '--with-curl' '--with-lua' 'USE_GETIFADDRS=no' 'CC_FOR_BUILD=gcc' 'CC=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc' 'CFLAGS=-Os -pipe -fomit-frame-pointer -march=k6-2 -fno-align-functions -fno-align-loops -fno-align-jumps -fno-align-labels  -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE' 'LD=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-ld' 'CPP=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-cpp' 'CPPFLAGS=-isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE' 'LDFLAGS=--sysroot=/home/philipp/kernel/build_i586/staging_dir -L/home/philipp/kernel/build_i586/staging_dir/lib -L/home/philipp/kernel/build_i586/staging_dir/usr/lib' 'LIBS= -lssl -lz' 'SOUNDS_CACHE_DIR=/home/philipp/kernel/dl/sounds' 'build_alias=x86_64-pc-linux-gnu' 'host_alias=i586-linux' 'target_alias=i586-linux' 'CXX=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-g++' --cache-file=/dev/null --srcdir=.
checking build system type... x86_64-pc-linux-gnu
checking host system type... i586-pc-linux-gnu
checking for i586-linux-gcc... /home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... yes
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc accepts -g... yes
checking for /home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc option to accept ISO C89... none needed
checking for GNU make... make
checking how to run the C preprocessor... /home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-cpp
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 for working alloca.h... yes
checking for alloca... yes
checking for asprintf... yes
checking for getloadavg... no
checking for setenv... yes
checking for strcasestr... yes
checking for strndup... yes
checking for strnlen... yes
checking for strsep... yes
checking for unsetenv... yes
checking for vasprintf... yes
checking for newtBell in -lnewt... yes
checking newt.h usability... yes
checking newt.h presence... yes
checking for newt.h... yes
checking for initscr in -lcurses... yes
checking curses.h usability... yes
checking curses.h presence... yes
checking for curses.h... yes
checking for initscr in -lncurses... yes
checking for curses.h... (cached) yes
checking for i586-linux-pkg-config... no
checking for pkg-config... pkg-config
configure: WARNING: using cross tools not prefixed with host triplet
configure: creating ./config.status
config.status: creating makeopts
config.status: creating autoconfig.h
=== configuring in mxml (/home/philipp/kernel/build_i586/asterisk-rHEAD/menuselect/mxml)
configure: running /bin/sh ./configure --disable-option-checking '--prefix=/usr'  '--target=i586-linux' '--host=i586-linux' '--build=x86_64-pc-linux-gnu' '--exec-prefix=/usr' '--datadir=/usr/share' '--sysconfdir=/etc' '--without-pwlib' '--with-ltdl' '--without-iconv' '--disable-xmldoc' '--without-sdl' '--with-imap=/home/philipp/kernel/build_i586/staging_dir/uw-imap' '--with-spandsp' '--with-dahdi' '--with-tonezone' '--with-curl' '--with-lua' 'USE_GETIFADDRS=no' 'CC_FOR_BUILD=gcc' 'CC=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc' 'CFLAGS=-Os -pipe -fomit-frame-pointer -march=k6-2 -fno-align-functions -fno-align-loops -fno-align-jumps -fno-align-labels  -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE' 'LD=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-ld' 'CPP=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-cpp' 'CPPFLAGS=-isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE' 'LDFLAGS=--sysroot=/home/philipp/kernel/build_i586/staging_dir -L/home/philipp/kernel/build_i586/staging_dir/lib -L/home/philipp/kernel/build_i586/staging_dir/usr/lib' 'LIBS= -lssl -lz' 'SOUNDS_CACHE_DIR=/home/philipp/kernel/dl/sounds' 'build_alias=x86_64-pc-linux-gnu' 'host_alias=i586-linux' 'target_alias=i586-linux' 'CXX=/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-g++' --cache-file=/dev/null --srcdir=.
checking for i586-linux-gcc... /home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-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/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc accepts -g... yes
checking for /home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc option to accept ISO C89... none needed
checking whether we are using the GNU C++ compiler... yes
checking whether /home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-g++ accepts -g... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for i586-linux-ranlib... /home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-ranlib
checking for ar... /home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-ar
checking for cp... /bin/cp
checking for ln... /bin/ln
checking for mkdir... /bin/mkdir
checking for rm... /bin/rm
checking for inline... inline
checking for strdup... yes
checking for snprintf... yes
checking for vsnprintf... yes
checking for long long int... yes
checking how to run the C preprocessor... /home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-cpp
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 pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for pthread_create using -lpthreads... no
checking for pthread_create using -lpthread... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating mxml.list
config.status: creating mxml.pc
config.status: creating config.h
configure: Menuselect build configuration successfully completed

              .$$$$$$$$$$$$$$$=..      
           .$7$7..          .7$$7:.    
         .$$:.                 ,$7.7  
       .$7.     7$$$$           .$$77  
    ..$$.       $$$$$            .$$$7
   ..7$   .?.   $$$$$   .?.       7$$$.
  $.$.   .$$$7. $$$$7 .7$$$.      .$$$.
.777.   .$$$$$$77$$$77$$$$$7.      $$$,
$$$~      .7$$$$$$$$$$$$$7.       .$$$.
.$$7          .7$$$$$$$7:          ?$$$.
$$$          ?7$$$$$$$$$$I        .$$$7
$$$       .7$$$$$$$$$$$$$$$$      :$$$.
$$$       $$$$$$7$$$$$$$$$$$$    .$$$.  
$$$        $$$   7$$$7  .$$$    .$$$.  
$$$$             $$$$7         .$$$.    
7$$$7            7$$$$        7$$$      
$$$$$                        $$$      
 $$$$7.                       $$  (TM)    
  $$$$$$$.           .7$$$$$$  $$      
    $$$$$$$$$$$$7$$$$$$$$$.$$$$$$      
      $$$$$$$$$$$$$$$$.                

configure: Package configured for:
configure: OS type  : linux-gnu
configure: Host CPU : i586
configure: build-cpu:vendor:os: x86_64 : pc : linux-gnu :
configure: host-cpu:vendor:os: i586 : pc : linux-gnu :
configure: Cross Compilation = YES
make -j5 -C /home/philipp/kernel/build_i586/asterisk-rHEAD/menuselect menuselect
make[1]: Entering directory `/home/philipp/kernel/build_i586/asterisk-rHEAD/menuselect'
/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc -g -c -D_GNU_SOURCE -Wall   -c -o menuselect.o menuselect.c
/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc -g -c -D_GNU_SOURCE -Wall   -c -o strcompat.o strcompat.c
/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc -g -c -D_GNU_SOURCE -Wall   -c -o menuselect_stub.o menuselect_stub.c
make[2]: Entering directory `/home/philipp/kernel/build_i586/asterisk-rHEAD/menuselect/mxml'
/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc -Os -g -Wall -Os -pipe -fomit-frame-pointer -march=k6-2 -fno-align-functions -fno-align-loops -fno-align-jumps -fno-align-labels  -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -c mxml-attr.c
/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc -Os -g -Wall -Os -pipe -fomit-frame-pointer -march=k6-2 -fno-align-functions -fno-align-loops -fno-align-jumps -fno-align-labels  -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -c mxml-entity.c
/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc -Os -g -Wall -Os -pipe -fomit-frame-pointer -march=k6-2 -fno-align-functions -fno-align-loops -fno-align-jumps -fno-align-labels  -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -c mxml-file.c
/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc -Os -g -Wall -Os -pipe -fomit-frame-pointer -march=k6-2 -fno-align-functions -fno-align-loops -fno-align-jumps -fno-align-labels  -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -c mxml-index.c
/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc -Os -g -Wall -Os -pipe -fomit-frame-pointer -march=k6-2 -fno-align-functions -fno-align-loops -fno-align-jumps -fno-align-labels  -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -c mxml-node.c
/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc -Os -g -Wall -Os -pipe -fomit-frame-pointer -march=k6-2 -fno-align-functions -fno-align-loops -fno-align-jumps -fno-align-labels  -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -c mxml-search.c
/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc -Os -g -Wall -Os -pipe -fomit-frame-pointer -march=k6-2 -fno-align-functions -fno-align-loops -fno-align-jumps -fno-align-labels  -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -c mxml-set.c
/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc -Os -g -Wall -Os -pipe -fomit-frame-pointer -march=k6-2 -fno-align-functions -fno-align-loops -fno-align-jumps -fno-align-labels  -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -c mxml-private.c
/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc -Os -g -Wall -Os -pipe -fomit-frame-pointer -march=k6-2 -fno-align-functions -fno-align-loops -fno-align-jumps -fno-align-labels  -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -isysroot /home/philipp/kernel/build_i586/staging_dir -isystem /home/philipp/kernel/build_i586/staging_dir/usr/include -D_GNU_SOURCE -c mxml-string.c
/bin/rm -f libmxml.a
/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-ar crvs libmxml.a mxml-attr.o mxml-entity.o mxml-file.o mxml-index.o mxml-node.o mxml-search.o mxml-set.o mxml-private.o mxml-string.o
a - mxml-attr.o
a - mxml-entity.o
a - mxml-file.o
a - mxml-index.o
a - mxml-node.o
a - mxml-search.o
a - mxml-set.o
a - mxml-private.o
a - mxml-string.o
/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-ranlib libmxml.a
make[2]: Leaving directory `/home/philipp/kernel/build_i586/asterisk-rHEAD/menuselect/mxml'
/home/philipp/kernel/build_i586/staging_dir/bin/i586-linux-uclibc-gcc -o menuselect menuselect.o strcompat.o menuselect_stub.o mxml/libmxml.a
make[1]: Leaving directory `/home/philipp/kernel/build_i586/asterisk-rHEAD/menuselect'
make -j5 -C /home/philipp/kernel/build_i586/asterisk-rHEAD \
GLOBAL_MAKEOPTS=/home/philipp/kernel/asterisk.makeopts \
USER_MAKEOPTS= \
menuselect.makeopts
make[1]: Entering directory `/home/philipp/kernel/build_i586/asterisk-rHEAD'
Generating input for menuselect ...
menuselect/menuselect --check-deps menuselect.makeopts
make[1]: menuselect/menuselect: Command not found
make[1]: *** [menuselect.makeopts] Error 127
make[1]: Leaving directory `/home/philipp/kernel/build_i586/asterisk-rHEAD'
make: *** [/home/philipp/kernel/build_i586/asterisk-rHEAD/.configured] Error 2


Note that even though we just built menuselect/menuselect, the kernel can't execute it because it's built as the wrong ELF type.
Comments:By: Tilghman Lesher (tilghman) 2010-06-04 13:21:53

I think you actually want to be using the terms 'build' and 'host'.  'target' is only applicable when compiling a cross-compiler.  I agree that specifying the HOST_CC is wrong to pass to the menuselect build target, but I'm currently trying to figure out what the right approach would be.

By: Digium Subversion (svnbot) 2010-06-04 14:38:57

Repository: asterisk
Revision: 268050

U   branches/1.4/Makefile
U   branches/1.4/makeopts.in

------------------------------------------------------------------------
r268050 | tilghman | 2010-06-04 14:38:57 -0500 (Fri, 04 Jun 2010) | 6 lines

Build menuselect with the build environment's compiler, not the host (target)'s compiler.

(closes issue ASTERISK-16206)
Reported by: pprindeville
Tested by: tilghman

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=268050

By: Digium Subversion (svnbot) 2010-06-04 14:40:00

Repository: asterisk
Revision: 268051

_U  trunk/
U   trunk/Makefile
U   trunk/makeopts.in

------------------------------------------------------------------------
r268051 | tilghman | 2010-06-04 14:40:00 -0500 (Fri, 04 Jun 2010) | 13 lines

Merged revisions 268050 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
 r268050 | tilghman | 2010-06-04 14:38:57 -0500 (Fri, 04 Jun 2010) | 6 lines
 
 Build menuselect with the build environment's compiler, not the host (target)'s compiler.
 
 (closes issue ASTERISK-16206)
  Reported by: pprindeville
  Tested by: tilghman
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=268051

By: Digium Subversion (svnbot) 2010-06-04 14:40:42

Repository: asterisk
Revision: 268052

_U  branches/1.6.2/
U   branches/1.6.2/Makefile
U   branches/1.6.2/makeopts.in

------------------------------------------------------------------------
r268052 | tilghman | 2010-06-04 14:40:41 -0500 (Fri, 04 Jun 2010) | 20 lines

Merged revisions 268051 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
 r268051 | tilghman | 2010-06-04 14:40:00 -0500 (Fri, 04 Jun 2010) | 13 lines
 
 Merged revisions 268050 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4
 
 ........
   r268050 | tilghman | 2010-06-04 14:38:57 -0500 (Fri, 04 Jun 2010) | 6 lines
   
   Build menuselect with the build environment's compiler, not the host (target)'s compiler.
   
   (closes issue ASTERISK-16206)
    Reported by: pprindeville
    Tested by: tilghman
 ........
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=268052

By: Philip Prindeville (pprindeville) 2010-06-26 13:42:18

Still not resolved.

Please log into builder and do:

cd trunk
./rebuild "BR2_PACKAGE_NETSNMP="


By: Tilghman Lesher (tilghman) 2010-06-28 13:39:37

We've been over this.  The problem is that your builder INCORRECTLY sets CC to the host architecture.  Fix your build script.

By: Tilghman Lesher (tilghman) 2010-06-28 14:07:26

Make a few simple changes, and it compiles, once again showing that your build environment is faulty:

Index: package/asterisk/asterisk.mk
===================================================================
--- package/asterisk/asterisk.mk        (revision 4032)
+++ package/asterisk/asterisk.mk        (working copy)
@@ -212,7 +212,6 @@
               $(ASTERISK_CONFIGURE_ENV) \
               CC_FOR_BUILD=$(HOSTCC) \
               BUILD_CC=$(HOSTCC) \
-               CC=$(TARGET_CC) \
               CFLAGS='$(TARGET_CFLAGS)' \
               LD=$(TARGET_CROSS)ld \
               CPP=$(TARGET_CROSS)cpp \
@@ -237,14 +236,14 @@

$(ASTERISK_DIR)/$(ASTERISK_BINARY): $(ASTERISK_DIR)/.configured
       cp $(STAGING_DIR)/include/dlfcn.h $(STAGING_DIR)/usr/include/dlfcn.h # Can I do this?
-       $(MAKE) -C $(ASTERISK_DIR) $(TARGET_CONFIGURE_OPTS) \
+       $(MAKE) -C $(ASTERISK_DIR) \
               GLOBAL_MAKEOPTS=$(BASE_DIR)/asterisk.makeopts \
               USER_MAKEOPTS= \
               ASTVARRUNDIR=/var/run/asterisk HOSTCC=gcc

$(TARGET_DIR)/$(ASTERISK_TARGET_BINARY): $(ASTERISK_DIR)/$(ASTERISK_BINARY)
       # mkdir -p $(TARGET_DIR)/$(ASTERISK_MODULE_DIR)
-       $(MAKE1) -C $(ASTERISK_DIR) $(TARGET_CONFIGURE_OPTS) \
+       $(MAKE1) -C $(ASTERISK_DIR) \
               GLOBAL_MAKEOPTS=$(BASE_DIR)/asterisk.makeopts \
               USER_MAKEOPTS= \
               ASTVARRUNDIR=/var/run/asterisk HOSTCC=gcc \

By: Philip Prindeville (pprindeville) 2010-06-29 01:20:47

I'm guessing then that this is a totally different issue and you want me to file a separate bug?

make -C sounds install
make[2]: Entering directory `/home/digium/trunk/build_i586/asterisk-rHEAD/sounds'
mkdir -p /home/digium/.asterisk_sounds_cache
mkdir -p /home/digium/trunk/build_i586/root/var/lib/asterisk/sounds/en
mkdir -p /home/digium/trunk/build_i586/root/var/lib/asterisk/sounds/es
mkdir -p /home/digium/trunk/build_i586/root/var/lib/asterisk/sounds/fr
mkdir -p /home/digium/trunk/build_i586/root/var/lib/asterisk/moh
make[2]: Leaving directory `/home/digium/trunk/build_i586/asterisk-rHEAD/sounds'
mkdir -p /home/digium/trunk/build_i586/root/usr/lib/asterisk/modules
mkdir -p /home/digium/trunk/build_i586/root/usr/sbin
mkdir -p /home/digium/trunk/build_i586/root/etc/asterisk
mkdir -p "/home/digium/trunk/build_i586/root/var/run/asterisk"
mkdir -p /home/digium/trunk/build_i586/root/var/spool/asterisk/voicemail
mkdir -p /home/digium/trunk/build_i586/root/var/spool/asterisk/dictate
mkdir -p /home/digium/trunk/build_i586/root/var/spool/asterisk/system
mkdir -p /home/digium/trunk/build_i586/root/var/spool/asterisk/tmp
mkdir -p /home/digium/trunk/build_i586/root/var/spool/asterisk/meetme
mkdir -p /home/digium/trunk/build_i586/root/var/spool/asterisk/monitor
Installing modules from channels...
Installing modules from pbx...
Installing modules from apps...
Installing modules from codecs...
Installing modules from formats...
Installing modules from cdr...
Installing modules from cel...
Installing modules from bridges...
Installing modules from funcs...
Installing modules from tests...
Installing modules from main...
Installing modules from res...
Installing modules from addons...
/usr/bin/install -c -m 755 main/asterisk /home/digium/trunk/build_i586/root/usr/sbin/
/bin/ln -sf asterisk /home/digium/trunk/build_i586/root/usr/sbin/rasterisk
/usr/bin/install -c -m 755 contrib/scripts/astgenkey /home/digium/trunk/build_i586/root/usr/sbin/
/usr/bin/install -c -m 755 contrib/scripts/autosupport /home/digium/trunk/build_i586/root/usr/sbin/
if [ ! -f /home/digium/trunk/build_i586/root/usr/sbin/safe_asterisk -a ! -f /sbin/launchd ]; then \
cat contrib/scripts/safe_asterisk | sed 's|__ASTERISK_SBIN_DIR__|/usr/sbin|;s|__ASTERISK_VARRUN_DIR__|/var/run/asterisk|;' > /home/digium/trunk/build_i586/root/usr/sbin/safe_asterisk ;\
chmod 755 /home/digium/trunk/build_i586/root/usr/sbin/safe_asterisk;\
fi
/usr/bin/install -c -d /home/digium/trunk/build_i586/root/usr/include/asterisk
/usr/bin/install -c -d /home/digium/trunk/build_i586/root/usr/include/asterisk/doxygen
/usr/bin/install -c -m 644 include/asterisk.h /home/digium/trunk/build_i586/root/usr/include
/usr/bin/install -c -m 644 include/asterisk/*.h /home/digium/trunk/build_i586/root/usr/include/asterisk
/usr/bin/install -c -m 644 include/asterisk/doxygen/*.h /home/digium/trunk/build_i586/root/usr/include/asterisk/doxygen
if [ -n "" ]; then \
rm -f  ;\
fi
mkdir -p /home/digium/trunk/build_i586/root/var/lib/asterisk/documentation
mkdir -p /home/digium/trunk/build_i586/root/var/lib/asterisk/documentation/thirdparty
mkdir -p /home/digium/trunk/build_i586/root/var/log/asterisk/cdr-csv
mkdir -p /home/digium/trunk/build_i586/root/var/log/asterisk/cdr-custom
mkdir -p /home/digium/trunk/build_i586/root/var/log/asterisk/cel-csv
mkdir -p /home/digium/trunk/build_i586/root/var/log/asterisk/cel-custom
mkdir -p /home/digium/trunk/build_i586/root/var/lib/asterisk/keys
mkdir -p /home/digium/trunk/build_i586/root/var/lib/asterisk/firmware
mkdir -p /home/digium/trunk/build_i586/root/var/lib/asterisk/firmware/iax
mkdir -p /home/digium/trunk/build_i586/root/usr/share/man/man8
/usr/bin/install -c -m 644 doc/core-*.xml /home/digium/trunk/build_i586/root/var/lib/asterisk/documentation
/usr/bin/install -c -m 644 doc/appdocsxml.dtd /home/digium/trunk/build_i586/root/var/lib/asterisk/documentation
/usr/bin/install -c -m 644 keys/iaxtel.pub /home/digium/trunk/build_i586/root/var/lib/asterisk/keys
/usr/bin/install -c -m 644 keys/freeworlddialup.pub /home/digium/trunk/build_i586/root/var/lib/asterisk/keys
/usr/bin/install -c -m 644 doc/asterisk.8 /home/digium/trunk/build_i586/root/usr/share/man/man8
/usr/bin/install -c -m 644 contrib/scripts/astgenkey.8 /home/digium/trunk/build_i586/root/usr/share/man/man8
/usr/bin/install -c -m 644 contrib/scripts/autosupport.8 /home/digium/trunk/build_i586/root/usr/share/man/man8
/usr/bin/install -c -m 644 contrib/scripts/safe_asterisk.8 /home/digium/trunk/build_i586/root/usr/share/man/man8
if [ -f contrib/firmware/iax/iaxy.bin ] ; then \
/usr/bin/install -c -m 644 contrib/firmware/iax/iaxy.bin /home/digium/trunk/build_i586/root/var/lib/asterisk/firmware/iax/iaxy.bin; \
fi
+---- Asterisk Installation Complete -------+
+                                           +
+    YOU MUST READ THE SECURITY DOCUMENT    +
+                                           +
+ Asterisk has successfully been installed. +
+ If you would like to install the sample   +
+ configuration files (overwriting any      +
+ existing config files), run:              +
+                                           +
+                make samples               +
+                                           +
+-----------------  or ---------------------+
+                                           +
+ You can go ahead and install the asterisk +
+ program documentation now or later run:   +
+                                           +
+               make progdocs               +
+                                           +
+ **Note** This requires that you have      +
+ doxygen installed on your local system    +
+-------------------------------------------+
make[2]: Entering directory `/home/digium/trunk/build_i586/asterisk-rHEAD'
make[2]: Leaving directory `/home/digium/trunk/build_i586/asterisk-rHEAD'
Installing adsi config files...
Installing configs/asterisk.adsi
Installing configs/telcordia-1.adsi
Installing other config files...
Installing file configs/adsi.conf.sample
Installing file configs/agents.conf.sample
Installing file configs/ais.conf.sample
Installing file configs/alarmreceiver.conf.sample
Installing file configs/alsa.conf.sample
Installing file configs/amd.conf.sample
Installing file configs/app_mysql.conf.sample
Installing file configs/asterisk.conf.sample
Installing file configs/calendar.conf.sample
Installing file configs/ccss.conf.sample
Installing file configs/cdr_adaptive_odbc.conf.sample
Installing file configs/cdr.conf.sample
Installing file configs/cdr_custom.conf.sample
Installing file configs/cdr_manager.conf.sample
Installing file configs/cdr_mysql.conf.sample
Installing file configs/cdr_odbc.conf.sample
Installing file configs/cdr_pgsql.conf.sample
Installing file configs/cdr_sqlite3_custom.conf.sample
Installing file configs/cdr_syslog.conf.sample
Installing file configs/cdr_tds.conf.sample
Installing file configs/cel_adaptive_odbc.conf.sample
Installing file configs/cel.conf.sample
Installing file configs/cel_custom.conf.sample
Installing file configs/cel_pgsql.conf.sample
Installing file configs/cel_sqlite3_custom.conf.sample
Installing file configs/cel_tds.conf.sample
Installing file configs/chan_dahdi.conf.sample
Installing file configs/chan_mobile.conf.sample
Installing file configs/chan_ooh323.conf.sample
Installing file configs/cli_aliases.conf.sample
Installing file configs/cli.conf.sample
Installing file configs/cli_permissions.conf.sample
Installing file configs/codecs.conf.sample
Installing file configs/console.conf.sample
Installing file configs/dbsep.conf.sample
Installing file configs/dnsmgr.conf.sample
Installing file configs/dsp.conf.sample
Installing file configs/dundi.conf.sample
Installing file configs/enum.conf.sample
Installing file configs/extconfig.conf.sample
Installing file configs/extensions.ael.sample
Installing file configs/extensions.conf.sample
Installing file configs/extensions.lua.sample
Installing file configs/extensions_minivm.conf.sample
Installing file configs/features.conf.sample
Installing file configs/festival.conf.sample
Installing file configs/followme.conf.sample
Installing file configs/func_odbc.conf.sample
Installing file configs/gtalk.conf.sample
Installing file configs/h323.conf.sample
Installing file configs/http.conf.sample
Installing file configs/iax.conf.sample
Installing file configs/iaxprov.conf.sample
Installing file configs/indications.conf.sample
Installing file configs/jabber.conf.sample
Installing file configs/jingle.conf.sample
Installing file configs/logger.conf.sample
Installing file configs/manager.conf.sample
Installing file configs/meetme.conf.sample
Installing file configs/mgcp.conf.sample
Installing file configs/minivm.conf.sample
Installing file configs/misdn.conf.sample
Installing file configs/modules.conf.sample
Installing file configs/musiconhold.conf.sample
Installing file configs/muted.conf.sample
Installing file configs/osp.conf.sample
Installing file configs/oss.conf.sample
Installing file configs/phone.conf.sample
Installing file configs/phoneprov.conf.sample
Installing file configs/queuerules.conf.sample
Installing file configs/queues.conf.sample
Installing file configs/res_config_mysql.conf.sample
Installing file configs/res_config_sqlite.conf.sample
Installing file configs/res_fax.conf.sample
Installing file configs/res_ldap.conf.sample
Installing file configs/res_odbc.conf.sample
Installing file configs/res_pgsql.conf.sample
Installing file configs/res_pktccops.conf.sample
Installing file configs/res_snmp.conf.sample
Installing file configs/rpt.conf.sample
Installing file configs/rtp.conf.sample
Installing file configs/say.conf.sample
Installing file configs/sip.conf.sample
Installing file configs/sip_notify.conf.sample
Installing file configs/skinny.conf.sample
Installing file configs/sla.conf.sample
Installing file configs/smdi.conf.sample
Installing file configs/udptl.conf.sample
Installing file configs/unistim.conf.sample
Installing file configs/usbradio.conf.sample
Installing file configs/users.conf.sample
Installing file configs/voicemail.conf.sample
Installing file configs/vpb.conf.sample
if [ "y" = "y" ]; then \
echo "Updating asterisk.conf"; \
sed \
-e 's|^astetcdir.*$|astetcdir => /etc/asterisk|' \
-e 's|^astmoddir.*$|astmoddir => /usr/lib/asterisk/modules|' \
-e 's|^astvarlibdir.*$|astvarlibdir => /var/lib/asterisk|' \
-e 's|^astdbdir.*$|astdbdir => /var/lib/asterisk|' \
-e 's|^astkeydir.*$|astkeydir => /var/lib/asterisk|' \
-e 's|^astdatadir.*$|astdatadir => /var/lib/asterisk|' \
-e 's|^astagidir.*$|astagidir => /var/lib/asterisk/agi-bin|' \
-e 's|^astspooldir.*$|astspooldir => /var/spool/asterisk|' \
-e 's|^astrundir.*$|astrundir => /var/run/asterisk|' \
-e 's|^astlogdir.*$|astlogdir => /var/log/asterisk|' \
/home/digium/trunk/build_i586/root/etc/asterisk/asterisk.conf > /home/digium/trunk/build_i586/root/etc/asterisk/asterisk.conf.tmp \
&& mv /home/digium/trunk/build_i586/root/etc/asterisk/asterisk.conf.tmp /home/digium/trunk/build_i586/root/etc/asterisk/asterisk.conf; \
fi ;\
mkdir -p /home/digium/trunk/build_i586/root/var/spool/asterisk/voicemail/default/1234/INBOX
Updating asterisk.conf
build_tools/make_sample_voicemail /home/digium/trunk/build_i586/root//var/lib/asterisk /home/digium/trunk/build_i586/root//var/spool/asterisk
Installing file phoneprov/000000000000.cfg
Installing file phoneprov/000000000000-directory.xml
Installing file phoneprov/000000000000-phone.cfg
Installing file phoneprov/polycom_line.xml
Installing file phoneprov/polycom.xml
make[1]: Leaving directory `/home/digium/trunk/build_i586/asterisk-rHEAD'
/home/digium/trunk/build_i586/staging_dir/bin/i586-linux-uclibc-strip --remove-section=.comment --remove-section=.note /home/digium/trunk/build_i586/root/usr/sbin/asterisk
/home/digium/trunk/build_i586/staging_dir/bin/i586-linux-uclibc-strip --remove-section=.comment --remove-section=.note /home/digium/trunk/build_i586/root/usr/sbin/stereorize
/home/digium/trunk/build_i586/staging_dir/bin/i586-linux-uclibc-strip: '/home/digium/trunk/build_i586/root/usr/sbin/stereorize': No such file
make: *** [/home/digium/trunk/build_i586/root/usr/sbin/asterisk] Error 1
[digium@builder trunk]$



Seems that "stereorize" is being built for the host system instead of the build system.


By: Tilghman Lesher (tilghman) 2010-06-29 13:15:23

A 'make menuselect' in your build directory shows that stereorize is not being built at all (by default, it is not built).