kohler / click

The Click modular router: fast modular packet processing and analysis
Other
743 stars 321 forks source link

Problem when cross-compiling: error.cc #254

Closed josemariasaldana closed 7 years ago

josemariasaldana commented 8 years ago

Hi, we are cross-compiling Click to run inside an OpenWrt AP. So we have included Click in the OpenWrt build_dir, and we are trying to cross-compile it. In some Linux distributions (i.e. Ubuntu 14.04.1, kernel 3.16.0) it compiles well. However, in some others it doesn't work:

We obtain the next error: BUILDCXX ../../lib/error.cc ../../lib/error.cc: In static member function 'static String ErrorHandler::vxformat(int, const char*, __va_list_tag*)': ../../lib/error.cc:724: error: cannot convert '__va_list_tag**' to '__va_list_tag (*)[1]' in argument passing make[6]: *** [error.bo] Error 1 make[6]: Leaving directory /home/proyecto/Odin_Wi5_firmware_build/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/click-20150424/tools/lib make[5]: *** [lib] Error 2 make[5]: Leaving directory /home/proyecto/Odin_Wi5_firmware_build/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/click-20150424/tools' make[4]: *** [tools] Error 2 make[4]: Leaving directory /home/proyecto/Odin_Wi5_firmware_build/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/click-20150424' make[3]: *** [/home/proyecto/Odin_Wi5_firmware_build/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/click-20150424/.built] Error 2

kohler commented 7 years ago

Old issue. If you're still encountering it, the thing to check is whether HAVE_ADDRESSABLE_VA_LIST is defined. (config.log and include/click/config.h will tell you.) The standards say that it should be OK to take the address of a va_list argument. It looks like that is not the case for this C library. Gonna close, but feel free to reopen.