OpenWrt Forum Archive

Topic: OpenWRT SVN (r11128) build broken on busybox

The content of this topic has been archived on 4 May 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I just upgraded my OpenWRT SVN source with r11128 today. I did a make distclean and then make to rebuild firmware for my LaFonera. However, the compilation broke on busybox as show below:

make[3]: Entering directory `/opt/tmp/trunk/package/busybox'
make -C /opt/tmp/trunk/build_dir/mips/busybox-1.8.2 CC="mips-linux-uclibc-gcc" CROSS_COMPILE="mips-linux-uclibc-" KBUILD_HAVE_NLS=no EXTRA_CFLAGS="-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time -fhonour-copts" ARCH="mips" IPKG_ARCH="mips" all
make[4]: Entering directory `/opt/tmp/trunk/build_dir/mips/busybox-1.8.2'
  CC      applets/applets.o
In file included from /opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.3/lib/gcc/mips-linux-uclibc/4.2.3/../../../../mips-linux-uclibc/sys-include/assert.h:32,
                 from applets/applets.c:10:
/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.3/lib/gcc/mips-linux-uclibc/4.2.3/../../../../mips-linux-uclibc/sys-include/features.h:329:2: error: #error It appears you have defined _FILE_OFFSET_BITS=64. Unfortunately, uClibc was built without large file support enabled.
In file included from /opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.3/lib/gcc/mips-linux-uclibc/4.2.3/../../../../mips-linux-uclibc/sys-include/stdio.h:72,
                 from include/libbb.h:24,
                 from include/busybox.h:10,
                 from applets/applets.c:11:
/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.3/lib/gcc/mips-linux-uclibc/4.2.3/../../../../mips-linux-uclibc/sys-include/bits/uClibc_stdio.h:72:2: error: #error Sorry... uClibc was built without large file support!
In file included from include/libbb.h:24,
                 from include/busybox.h:10,
                 from applets/applets.c:11:
/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.3/lib/gcc/mips-linux-uclibc/4.2.3/../../../../mips-linux-uclibc/sys-include/stdio.h:83: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fpos_t'
In file included from include/libbb.h:24,
                 from include/busybox.h:10,
                 from applets/applets.c:11:
/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.3/lib/gcc/mips-linux-uclibc/4.2.3/../../../../mips-linux-uclibc/sys-include/stdio.h:701: error: expected declaration specifiers or '...' before 'fpos_t'
/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.3/lib/gcc/mips-linux-uclibc/4.2.3/../../../../mips-linux-uclibc/sys-include/stdio.h:703: error: expected ';', ',' or ')' before '*' token
make[5]: *** [applets/applets.o] Error 1
make[4]: *** [applets] Error 2
make[4]: Leaving directory `/opt/tmp/trunk/build_dir/mips/busybox-1.8.2'
make[3]: *** [/opt/tmp/trunk/build_dir/mips/busybox-1.8.2/.built] Error 2
make[3]: Leaving directory `/opt/tmp/trunk/package/busybox'
make[2]: *** [package/busybox/compile] Error 2
make[2]: Leaving directory `/opt/tmp/trunk'
make[1]: *** [/opt/tmp/trunk/staging_dir/mips/stamp/.package_compile] Error 2
make[1]: Leaving directory `/opt/tmp/trunk'
make: *** [world] Error 2

I took a look at the staging_dir/toolchain-mips_gcc4.2.3/mips-linux-uclibc/sys-include/stdio.h file on lines 701 and 703 and didn't find any problem with it as reported above. Can anyone who is more knowledgeable assist me to get this problem resolved?

Thank you.

Please retest using the default gcc version

Thanks for your response. Now, I reconfigured my OpenWRT SVN source with the default gcc-4.2.1 and the compilation broke in the process of installing/packaging gcc as shown below:

 make[1] world
 make[2] toolchain/install
 make[3] -C toolchain/kernel-headers prepare
 make[3] -C toolchain/uClibc prepare
 make[3] -C toolchain/binutils prepare
 make[3] -C toolchain/binutils compile
 make[3] -C toolchain/binutils install
 make[3] -C toolchain/gcc prepare
 make[3] -C toolchain/gcc compile
 make[3] -C toolchain/uClibc compile
 make[3] -C toolchain/gcc install
make -r world: build failed. Please re-run make with V=99 to see what's going on
make: *** [world] Error 1

And, here it the error messages when I compiled the source with make V=99:

/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1-final/./gcc/xgcc -shared-libgcc -B/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1-final/./gcc -nostdinc++ -L/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1-final/mips-linux-uclibc/libstdc++-v3/src -L/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1-final/mips-linux-uclibc/libstdc++-v3/src/.libs -B/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/mips-linux-uclibc/bin/ -B/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/mips-linux-uclibc/lib/ -isystem /opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/mips-linux-uclibc/include -isystem /opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/mips-linux-uclibc/sys-include -DHAVE_CONFIG_H -I. -I/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava -I./include -I./gcj -I/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava -Iinclude -I/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/include -I/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/classpath/include -Iclasspath/include -I/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/classpath/native/fdlibm -I/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/../boehm-gc/include -I../boehm-gc/include -I/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/libltdl -I/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/libltdl -I/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/.././libjava/../gcc -I/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/../zlib -I/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\"/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1\" -DTOOLEXECLIBDIR=\"/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/mips-linux-uclibc/lib\" -DJAVA_HOME=\"/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1\" -DBOOT_CLASS_PATH=\"/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/share/java/libgcj-4.2.1.jar\" -DJAVA_EXT_DIRS=\"/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/share/java/ext\" -DGCJ_ENDORSED_DIRS=\"/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/share/java/gcj-endorsed\" -DGCJ_VERSIONED_LIBDIR=\"/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/lib/gcj-4.2.1\" -DPATH_SEPARATOR=\":\" -DLIBGCJ_DEFAULT_DATABASE=\"/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/lib/gcj-4.2.1/classmap.db\" -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\"gcj-4.2.1/classmap.db\" -g -Os -MT jni-libjvm.lo -MD -MP -MF .deps/jni-libjvm.Tpo -c /opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/jni-libjvm.cc  -fPIC -DPIC
In file included from /opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/mips-linux-uclibc/sys-include/string.h:26,
                 from /opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/gcj/cni.h:22,
                 from /opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/jni-libjvm.cc:11:
/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/mips-linux-uclibc/sys-include/features.h:382:4: error: #error It appears you have defined _FILE_OFFSET_BITS=64. Unfortunately, uClibc was built without large file support enabled.
In file included from /opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/mips-linux-uclibc/sys-include/stdio.h:72,
                 from /opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/classpath/include/jni.h:48,
                 from /opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/jni-libjvm.cc:15:
/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/mips-linux-uclibc/sys-include/bits/uClibc_stdio.h:72:2: error: #error Sorry... uClibc was built without large file support!
In file included from /opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/classpath/include/jni.h:48,
                 from /opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/jni-libjvm.cc:15:
/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/mips-linux-uclibc/sys-include/stdio.h:83: error: '__STDIO_fpos64_t' does not name a type
In file included from /opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/classpath/include/jni.h:48,
                 from /opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1/libjava/jni-libjvm.cc:15:
/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/mips-linux-uclibc/sys-include/stdio.h:705: error: 'fpos_t' has not been declared
/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/mips-linux-uclibc/sys-include/stdio.h:707: error: expected ',' or '...' before '*' token
make[7]: *** [jni-libjvm.lo] Error 1
make[7]: Leaving directory `/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1-final/mips-linux-uclibc/libjava'
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory `/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1-final/mips-linux-uclibc/libjava'
make[5]: *** [all-target-libjava] Error 2
make[5]: Leaving directory `/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1-final'
make[4]: *** [all] Error 2
make[4]: Leaving directory `/opt/tmp/trunk/build_dir/toolchain-mips_gcc4.2.1/gcc-4.2.1-final'
make[3]: *** [/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.1/stamp/.gcc_installed] Error 2
make[3]: Leaving directory `/opt/tmp/trunk/toolchain/gcc'
make[2]: *** [toolchain/gcc/install] Error 2
make[2]: Leaving directory `/opt/tmp/trunk'
make[1]: *** [/opt/tmp/trunk/staging_dir/mips/stamp/.toolchain_install] Error 2
make[1]: Leaving directory `/opt/tmp/trunk'
make: *** [world] Error 2

It looks to me the culprit is on the same stdio.h file.

Did you do a "make distclean" after changing the gcc version? Besides that, the default gcc version is 4.1.2, not 4.2.1.

Yup and I did a make distclean. Thanks for pointing this out. I am going to report back soon with gcc-4.1.2.

Please do a fresh checkout and don't change the default GCC version.

mazilo any news on your progress? I seem to be stuck with the exact same error and am using gcc-4.1.2.

electricchild wrote:

mazilo any news on your progress? I seem to be stuck with the exact same error and am using gcc-4.1.2.

[s]It looks like gcc-4.1.2 works; however, I am now stuck with trying to compile the iksemal package as shown below[/s].
Sorry folks. I had to strike the above statement because I found the problem has nothing to do with gcc, but rather the compilation of gcc requires CONFIG_LARGEFILE option.

Anyway, I am still trying to figure out why iksemel package fails to configure as shown below (even when I chose the default gcc-4.1.2):

(cd /opt/tmp/trunk/build_dir/mips/iksemel-1.3/./; if [ -x ./configure ]; then cp -fpR /opt/tmp/trunk/scripts/config.{guess,sub} /opt/tmp/trunk/build_dir/mips/iksemel-1.3// && AR=mips-linux-uclibc-ar AS="mips-linux-uclibc-gcc -c -Os -pipe -mips32 -mtune=mips32 -funit-at-a-time -fhonour-copts" LD=mips-linux-uclibc-ld NM=mips-linux-uclibc-nm CC="mips-linux-uclibc-gcc" GCC="mips-linux-uclibc-gcc" CXX=mips-linux-uclibc-g++ RANLIB=mips-linux-uclibc-ranlib STRIP=mips-linux-uclibc-strip OBJCOPY=mips-linux-uclibc-objcopy OBJDUMP=mips-linux-uclibc-objdump SIZE=mips-linux-uclibc-size CFLAGS="-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time -fhonour-copts " CXXFLAGS="-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time -fhonour-copts " CPPFLAGS="-I/opt/tmp/trunk/staging_dir/mips/usr/include -I/opt/tmp/trunk/staging_dir/mips/include " LDFLAGS="-L/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.3/lib -L/opt/tmp/trunk/staging_dir/mips/usr/lib -L/opt/tmp/trunk/staging_dir/mips/lib " PKG_CONFIG_PATH="/opt/tmp/trunk/staging_dir/mips/usr/lib/pkgconfig:/opt/tmp/trunk/staging_dir/host/usr/lib/pkgconfig" PKG_CONFIG_LIBDIR="/opt/tmp/trunk/staging_dir/mips/usr/lib/pkgconfig" LIBS="-lgnutls -lgcrypt -lgpg-error"   ./configure --target=mips-linux --host=mips-linux --build=x86_64-suse-linux --program-prefix="" --program-suffix="" --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --disable-nls --enable-shared --enable-static --with-libgnutls-prefix="/opt/tmp/trunk/staging_dir/mips/usr"  ; fi; )
configure: loading site script /opt/tmp/trunk/include/site/mips-linux-uclibc
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for mips-linux-strip... mips-linux-uclibc-strip
checking build system type... x86_64-suse-linux-gnu
checking host system type... mips-unknown-linux-gnu
checking for mips-linux-gcc... mips-linux-uclibc-gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.
make[3]: *** [/opt/tmp/trunk/build_dir/mips/iksemel-1.3/.configured] Error 77
make[3]: Leaving directory `/opt/tmp/trunk/feeds/packages/libs/iksemel'
make[2]: *** [package/feeds/packages/iksemel/compile] Error 2
make[2]: Leaving directory `/opt/tmp/trunk'
make[1]: *** [/opt/tmp/trunk/staging_dir/mips/stamp/.package_compile] Error 2
make[1]: Leaving directory `/opt/tmp/trunk'
make: *** [world] Error 2

(Last edited by mazilo on 15 May 2008, 21:15)

I had a feeling it was due to LFS. After reading your post I actually enabled LFS in uclibc (UCLIBC_HAS_LFS) and it worked as well. I'll check back here to see if anyone else gives feedback on the iksemel package problem.

(Last edited by electricchild on 15 May 2008, 21:54)

electricchild wrote:

I had a feeling it was due to LFS. After reading your post I actually enabled LFS in uclibc (UCLIBC_HAS_LFS) and it worked as well.

The uClibc-0.9.28.2 On my OpenWRT SVN tree has this UCLIBC_HAS_LFS option set to yes by default. Yet, the iksemel-1.3 compilation fails during configuration with the same error messages saying uClibc was built without large file support!

mazilo, did you try going to the build directory for each of the major components (uclibc, busybox, kernel, etc) and do a "make clean"? (Instead of in the main openwrt directory?) I think this might be a good way to clean out any junk binaries that were formed prior to this error that may be interfering with the package and causing it to think that LFS isn't activated. Also go into all your configuration files and check the LFS flags (not for uclibc because you already did that, but for the openwrt buildroot config and busybox config as well).

Try these out and then post back. If anyone else has any suggestions please post back. Thanks!

electricchild wrote:

mazilo, did you try going to the build directory for each of the major components (uclibc, busybox, kernel, etc) and do a "make clean"? (Instead of in the main openwrt directory?) I think this might be a good way to clean out any junk binaries that were formed prior to this error that may be interfering with the package and causing it to think that LFS isn't activated.

I tried make distclean and got the same errors incompiling iksemel. I also tried to remove staging_dir and build_dir directories to rebuild/recompile and still got the same problem.

Also go into all your configuration files and check the LFS flags (not for uclibc because you already did that, but for the openwrt buildroot config and busybox config as well).

Done these too. All the .config files you mentioned have the LFS option enabled and the still problem persists.

BTW, I even freshly downloaded a copy of OpenWRT SVN trunk, executed make menuconfig to ONLY enable asterisk14 with the rests remain default, and the compilation on iksemel package yielded the same error messages in the stage of configuration. Of course, when you use the default .config, it is defaulted to gcc-3.x.x for broadcom platform. Changing to Atheros platform will default to gcc-4.1.2 and this too gives the same iksemel configuration problem.

I thought I ran into this problem way back and got it fixed; however, I don't remember how I fixed it. sad

Yeah. I can confirm that iksemel is broken here too.

Just by the way, you can do the following instead of doing a fresh checkout:

cd /path/to/working/copy
svn revert -R .
svn status --no-ignore

The lines printed by the "svn status --no-ignore" command that start with "?" are not known by the subversion working copy.  Delete them.  The lines starting with "I" are ignored by the subversion working copy.  Delete them too.  Now if you run "svn status --no-ignore" again there should be nothing left.

Run "svn update" to make sure you've got the latest changes, or "svn update -r12345" to update to a specific revision.

Doing this saves a bit of bandwidth over a full checkout.

Wodin wrote:

Doing this saves a bit of bandwidth over a full checkout.

Thanks for sharing this information and it definitely helps to reduce the bandwidth. Speaking of which, the make distclean really doesn't need to remove/re-download the contents of feeds directory

I upgraded my OpenWRT SVN source to r11222 and now it can compile the iksemal package to produce the binary static/shared libraries. However, it looks like the asterisk-1.4.19.1/2 is having problem to locate the iksemal libraries that are there. See the following outputs from asterisk-1.4.19.2 compilation where the configuration calls for iksemel library using this switch --with-iksemel=${STAGING}/usr:

make[3]: Entering directory `/opt/tmp/OpenWRT/feeds/packages/net/asterisk-1.4.19.2'
( cd /opt/tmp/trunk/build_dir/mips/asterisk-1.4.19.2; ./bootstrap.sh )
Generating the configure script ...
(cd /opt/tmp/trunk/build_dir/mips/asterisk-1.4.19.2/./; if [ -x ./configure ]; then cp -fpR /opt/tmp/trunk/scripts/config.{guess,sub} /opt/tmp/trunk/build_dir/mips/asterisk-1.4.19.2// && AR=mips-linux-uclibc-ar AS="mips-linux-uclibc-gcc -c -Os -pipe -mips32 -mtune=mips32 -funit-at-a-time -fhonour-copts" LD=mips-linux-uclibc-ld NM=mips-linux-uclibc-nm CC="mips-linux-uclibc-gcc" GCC="mips-linux-uclibc-gcc" CXX=mips-linux-uclibc-g++ RANLIB=mips-linux-uclibc-ranlib STRIP=mips-linux-uclibc-strip OBJCOPY=mips-linux-uclibc-objcopy OBJDUMP=mips-linux-uclibc-objdump SIZE=mips-linux-uclibc-size CFLAGS="-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time -fhonour-copts -I/opt/tmp/trunk/staging_dir/mips/usr/include -I/opt/tmp/trunk/staging_dir/mips/include -I/opt/tmp/trunk/staging_dir/mips/usr/include/speex" CXXFLAGS="-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time -fhonour-copts -I/opt/tmp/trunk/staging_dir/mips/usr/include -I/opt/tmp/trunk/staging_dir/mips/include -I/opt/tmp/trunk/staging_dir/mips/usr/include/speex" CPPFLAGS="-I/opt/tmp/trunk/staging_dir/mips/usr/include -I/opt/tmp/trunk/staging_dir/mips/include " LDFLAGS="-L/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.3/lib -L/opt/tmp/trunk/staging_dir/mips/usr/lib -L/opt/tmp/trunk/staging_dir/mips/lib -L/opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.3/lib -L/opt/tmp/trunk/staging_dir/mips/usr/lib -L/opt/tmp/trunk/staging_dir/mips/lib" PKG_CONFIG_PATH="/opt/tmp/trunk/staging_dir/mips/usr/lib/pkgconfig:/opt/tmp/trunk/staging_dir/host/usr/lib/pkgconfig" PKG_CONFIG_LIBDIR="/opt/tmp/trunk/staging_dir/mips/usr/lib/pkgconfig" LIBS="$LIBS -luClibc++ -ldl -lpthread" ac_cv_lib_speex_speex_encode=yes ./configure --target=mips-linux --host=mips-linux --build=x86_64-suse-linux --program-prefix="" --program-suffix="" --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --disable-nls --without-curl --without-curses --without-gsm --without-imap --without-isdnnet --without-kde --with-ltdl="/opt/tmp/trunk/staging_dir/mips/usr" --without-misdn --without-nbs --with-ncurses="/opt/tmp/trunk/staging_dir/mips/usr" --without-netsnmp --without-newt --without-odbc --without-ogg --without-osptk --without-oss --with-popt="/opt/tmp/trunk/staging_dir/mips/usr" --without-pri --without-qt --without-radius --without-spandsp --without-suppserv --without-tds --without-termcap --without-tinfo --without-tonezone --without-vorbis --without-vpb --with-z="/opt/tmp/trunk/staging_dir/mips/usr" --without-zaptel  --with-asound="/opt/tmp/trunk/staging_dir/mips/usr" --with-gnutls="/opt/tmp/trunk/staging_dir/mips/usr" --with-iksemel="/opt/tmp/trunk/staging_dir/mips/usr" --with-h323="/opt/tmp/trunk/build_dir/mips/openh323" --with-pwlib="/opt/tmp/trunk/build_dir/mips/pwlib" --with-speex="/opt/tmp/trunk/staging_dir/mips/usr" --with-ssl="/opt/tmp/trunk/staging_dir/mips/usr" --with-postgres="/opt/tmp/trunk/staging_dir/mips/usr" --with-sqlite="/opt/tmp/trunk/staging_dir/mips/usr" ; fi; )
configure: loading site script /opt/tmp/trunk/include/site/mips-linux-uclibc
checking build system type... x86_64-suse-linux-gnu
checking host system type... mips-unknown-linux-gnu
checking for mips-linux-gcc... mips-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 mips-linux-uclibc-gcc accepts -g... yes
checking for mips-linux-uclibc-gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... mips-linux-uclibc-gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for AIX... no
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 minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for mips-linux-uname... no
checking for uname... /bin/uname
configure: WARNING: In the future, Autoconf will not detect cross-tools
whose name does not start with the host triplet.  If you think this
configuration is useful to you, please write to autoconf@gnu.org.
checking for mips-linux-gcc... (cached) mips-linux-uclibc-gcc
checking for mips-linux-g++... mips-linux-uclibc-g++
checking for mips-linux-ld... mips-linux-uclibc-ld
checking for mips-linux-ranlib... mips-linux-uclibc-ranlib
checking for mips-linux-gcc... (cached) mips-linux-uclibc-gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether mips-linux-uclibc-gcc accepts -g... (cached) yes
checking for mips-linux-uclibc-gcc option to accept ISO C89... (cached) none needed
checking whether we are using the GNU C++ compiler... yes
checking whether mips-linux-uclibc-g++ accepts -g... yes
checking how to run the C preprocessor... mips-linux-uclibc-gcc -E
checking how to run the C++ preprocessor... mips-linux-uclibc-g++ -E
checking for a sed that does not truncate output... /opt/tmp/trunk/staging_dir/host/bin/sed
checking for egrep... grep -E
checking for ld used by mips-linux-uclibc-gcc... mips-linux-uclibc-ld
checking if the linker (mips-linux-uclibc-ld) is GNU ld... yes
checking for gawk... gawk
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for mips-linux-ranlib... (cached) mips-linux-uclibc-ranlib
checking for GNU make... make
checking for mips-linux-strip... /opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.3/bin/mips-linux-strip
checking for mips-linux-ar... /opt/tmp/trunk/staging_dir/toolchain-mips_gcc4.2.3/bin/mips-linux-ar
checking for awk... /usr/bin/awk
checking for grep... (cached) /usr/bin/grep
checking for find... /usr/bin/find
checking for compress... :
checking for basename... /usr/bin/basename
checking for id... /usr/bin/id
checking for dirname... /usr/bin/dirname
checking for sh... /bin/sh
checking for ln... /bin/ln
checking for dot... /usr/bin/dot
checking for wget... /usr/bin/wget
checking for mips-linux-soxmix... no
checking for soxmix... no
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for working alloca.h... yes
checking for alloca... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for ANSI C header files... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for inttypes.h... (cached) yes
checking libintl.h usability... no
checking libintl.h presence... no
checking for libintl.h... no
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.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.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.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 syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking for unistd.h... (cached) yes
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for an ANSI C-conforming const... yes
checking for uid_t in sys/types.h... yes
checking for inline... inline
checking for mode_t... yes
checking for off_t... yes
checking for pid_t... yes
checking for size_t... yes
checking for struct stat.st_blksize... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for working volatile... yes
checking for ptrdiff_t... yes
checking for unistd.h... (cached) yes
checking for working chown... no
checking whether closedir returns void... yes
checking for error_at_line... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... cross
configure: WARNING: result yes guessed because of cross compilation
checking for working vfork... (cached) yes
checking for _LARGEFILE_SOURCE value needed for large files... no
checking whether mips-linux-uclibc-gcc needs -traditional... no
checking for working memcmp... (cached) yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... no
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking for function prototypes... yes
checking whether setvbuf arguments are reversed... (cached) no
checking return type of signal handlers... void
checking whether lstat dereferences a symlink specified with a trailing slash... (cached) yes
checking whether stat accepts an empty string... (cached) no
checking for working strcoll... no
checking for strftime... (cached) yes
checking for working strnlen... no
checking for working strtod... no
checking for pow... no
checking for pow in -lm... yes
checking for utime.h... (cached) yes
checking whether utime accepts a null argument... no
checking for vprintf... yes
checking for _doprnt... no
checking for asprintf... yes
checking for atexit... yes
checking for bzero... (cached) yes
checking for dup2... yes
checking for endpwent... yes
checking for floor... no
checking for ftruncate... yes
checking for getcwd... (cached) yes
checking for gethostbyname... yes
checking for gethostname... yes
checking for getloadavg... no
checking for gettimeofday... yes
checking for inet_ntoa... yes
checking for isascii... yes
checking for localtime_r... yes
checking for memchr... yes
checking for memmove... yes
checking for memset... yes
checking for mkdir... yes
checking for munmap... yes
checking for pow... (cached) no
checking for putenv... yes
checking for re_comp... yes
checking for regcomp... yes
checking for rint... no
checking for select... yes
checking for setenv... yes
checking for socket... yes
checking for sqrt... no
checking for strcasecmp... yes
checking for strcasestr... yes
checking for strchr... yes
checking for strcspn... yes
checking for strdup... yes
checking for strerror... (cached) yes
checking for strlcat... yes
checking for strlcpy... yes
checking for strncasecmp... yes
checking for strndup... yes
checking for strnlen... yes
checking for strrchr... yes
checking for strsep... yes
checking for strspn... yes
checking for strstr... yes
checking for strtol... yes
checking for strtoq... yes
checking for unsetenv... yes
checking for utime... yes
checking for vasprintf... yes
checking for library containing gethostbyname_r... none required
checking for gethostbyname_r with 6 arguments... yes
checking for gethostbyname_r with 5 arguments... no
checking for PTHREAD_RWLOCK_INITIALIZER... yes
checking for PTHREAD_RWLOCK_PREFER_WRITER_NP... yes
checking for compiler atomic operations... no
checking for compiler 'attribute pure' support... yes
checking for compiler 'attribute malloc' support... yes
checking for compiler 'attribute const' support... yes
checking for compiler 'attribute unused' support... yes
checking for compiler 'attribute always_inline' support... yes
checking for compiler 'attribute deprecated' support... yes
checking for -ffunction-sections support... yes
checking for --gc-sections support... yes
checking for -Wdeclaration-after-statement support... yes
checking for -fno-strict-overflow... yes
checking for res_ninit... no
checking for RTLD_NOLOAD... yes
checking for IP_MTU_DISCOVER... yes
checking libkern/OSAtomic.h usability... no
checking libkern/OSAtomic.h presence... no
checking for libkern/OSAtomic.h... no
checking for int... yes
checking size of int... (cached) 4
checking for snd_spcm_init in -lasound... yes
checking /opt/tmp/trunk/staging_dir/mips/usr/include/alsa/asoundlib.h usability... yes
checking /opt/tmp/trunk/staging_dir/mips/usr/include/alsa/asoundlib.h presence... yes
checking for /opt/tmp/trunk/staging_dir/mips/usr/include/alsa/asoundlib.h... yes
checking for cap_from_text in -lcap... no
checking if "struct ifaddrs *p; getifaddrs(&p)" compiles using ifaddrs.h... no
checking for iks_start_sasl in -liksemel... no
configure: ***
configure: *** The Iksemel Jabber Library installation on this system appears to be broken.
configure: *** Either correct the installation, or run configure
configure: *** without explicitly specifying --with-iksemel
make[3]: *** [/opt/tmp/trunk/build_dir/mips/asterisk-1.4.19.2/.configured] Error 1
make[3]: Leaving directory `/opt/tmp/OpenWRT/feeds/packages/net/asterisk-1.4.19.2'
make[2]: *** [package/feeds/packages/asterisk-1.4.x/compile] Error 2
make[2]: Leaving directory `/opt/tmp/trunk'
make[1]: *** [/opt/tmp/trunk/staging_dir/mips/stamp/.package_compile] Error 2
make[1]: Leaving directory `/opt/tmp/trunk'
make: *** [world] Error 2

And, here is the iksemel libraries:

[mazilo@Mi:/opt/tmp/trunk/staging_dir/mips/usr/lib 74%] ~ dir libiksemel.*
-rw-r--r-- 1 mazilo users 76718 2008-05-20 14:29 libiksemel.a
lrwxrwxrwx 1 mazilo users    19 2008-05-20 14:29 libiksemel.so -> libiksemel.so.3.1.0
lrwxrwxrwx 1 mazilo users    19 2008-05-20 14:29 libiksemel.so.3 -> libiksemel.so.3.1.0
-rwxr-xr-x 1 mazilo users 58935 2008-05-20 14:29 libiksemel.so.3.1.0

To fix this problem, I had to modify the Makefile under feeds/packages/network/asterisk-1.4.x/Makefile to remove the --with-iksemel=${STAGING}/usr as shown below:

ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk14-chan-gtalk),)
  CONFIGURE_ARGS+= \
        --with-gnutls="$(STAGING_DIR)/usr" \ <===== make sure to remove this "\" trailing back slash
#       --with-iksemel="$(STAGING_DIR)/usr"
else

Anyway, thank you all who fixed this problem through the feeds/packages/libs/iksemel/Makefile.

mazilo wrote:

To fix this problem, I had to modify the Makefile under feeds/packages/network/asterisk-1.4.x/Makefile to remove the --with-iksemel=${STAGING}/usr as shown below:

ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk14-chan-gtalk),)
  CONFIGURE_ARGS+= \
        --with-gnutls="$(STAGING_DIR)/usr" \ <===== make sure to remove this "\" (back slash)
#       --with-iksemel="$(STAGING_DIR)/usr"
else

Apparently, this quick hack has an adverse effect in the sense the asterisk compilation fails to produce chan_gtalk.so module. Has anyone encountered this problem?

The discussion might have continued from here.