squid 3.0.13 don't cross-compile from x86_64-pc-linux-gnu to i586 uclibc. The build process in squid is a bit crap. First, if build cf_gen to build configuration. cf_gen is generated using the dest toolchain, no hist one. So it fail to execute as in http://www2.us.squid-cache.org/mail-archive/squid-users/200706/0308.html. I bypasses this issue by build cf_gen on host, then put it in a PATH directory and patching src/Makefile.am to use that previous cf_gen. But now, I get a new issue : i586-geode-linux-uclibc-g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/etc/squid/squid.conf\" -I. -I../include -I. -I. -I../include -I../include -I../lib/libTrie/include -Wall -Wpointer-arith -Wwrite-strings -fhuge-objects -D_REENTRANT -Os -pipe -march=k6-2 -fomit-frame-pointer -I/usr/i586-geode-linux-uclibc/usr/include/ -I/usr/i586-geode-linux-uclibc/include/ -MT client_db.o -MD -MP -MF $depbase.Tpo -c -o client_db.o client_db.cc &&\ mv -f $depbase.Tpo $depbase.Po cc1plus: warning: switch "-fhuge-objects" is no longer supported depbase=`echo client_side.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ i586-geode-linux-uclibc-g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/etc/squid/squid.conf\" -I. -I../include -I. -I. -I../include -I../include -I../lib/libTrie/include -Wall -Wpointer-arith -Wwrite-strings -fhuge-objects -D_REENTRANT -Os -pipe -march=k6-2 -fomit-frame-pointer -I/usr/i586-geode-linux-uclibc/usr/include/ -I/usr/i586-geode-linux-uclibc/include/ -MT client_side.o -MD -MP -MF $depbase.Tpo -c -o client_side.o client_side.cc &&\ mv -f $depbase.Tpo $depbase.Po cc1plus: warning: switch "-fhuge-objects" is no longer supported client_side.cc: In function `ClientSocketContext* parseHttpRequest(RefCount<ConnStateData>&, HttpParser*, method_t*, HttpVersion*)': client_side.cc:1939: error: `strnstr' was not declared in this scope client_side.cc:1939: warning: unused variable 'strnstr' make[3]: *** [client_side.o] Error 1 make[3]: Leaving directory `/usr/i586-geode-linux-uclibc/tmp/portage/net-proxy/squid-3.0.13/work/squid-3.0.STABLE13/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/usr/i586-geode-linux-uclibc/tmp/portage/net-proxy/squid-3.0.13/work/squid-3.0.STABLE13/src' make[1]: *** [all] Error 2 make[1]: Leaving directory `/usr/i586-geode-linux-uclibc/tmp/portage/net-proxy/squid-3.0.13/work/squid-3.0.STABLE13/src' make: *** [all-recursive] Error 1 Reproducible: Always Steps to Reproduce: 1. crossdev -t --gcc 3.4.6-r2 --libc 0.9.30.1-r1 --kernel 2.6.28-r1 --stable i586-geode-linux-uclibc 2. crosswraper --init 3. i586-geode-linux-uclibc-emerge -vat squid
You can attach your fixes to one bug, another bug just saying it is broken doesn't really help anything ;) *** This bug has been marked as a duplicate of bug 266581 ***
Actually the bug report was for strnstr, so not directly #266581. But you're right. I fixed the strnstr by exporting export ac_cv_func_strnstr=no. My first read of configure was wrong.