[Click] compile errors

Remo Strotkamp remo at nec-labs.com
Tue Apr 27 19:40:29 EDT 2004


hey all,

while trying to cross-compile the click router for an arm platform,
I came accross some compile errors:

#1 for userland click on an alignement picky machine, the compile fails
   for elements/userlevel/fromfile.cc for line:
            memcpy(buffer, chunk, sizeof(*ph));

  which is not really surprising as ph doesn't seem to be defined
  anywhere. I got it to compile by inserting the following line right
  before the offending one (WARNING: I don't know if that's the right
   thing to do AT ALL, but it makes it compile and I don't plan to use
  FromFile....)
 
            const fake_pcap_pkthdr *ph;


#2  when crosscompiling the kernel (had quite some rejects with the  
    different patches (click, click-wifi, arm, xscale,....) the 
    click-wifi module wouldn't compile. The reason here seemed to have
    been that the drivers/net/wifi/click-wifi.c is missing an #include
    <linux/init.h> line...
    (but that might be due to the patch rejects and me not cleaning up
     the mess properly )


while trying to configure the click router, the scrip tells me that I
need to apply the provided patches, even though I did. Anybody any
ideas where that one's coming from?


thanks a lot in advance

remo

here's the offending configure command:

 ./configure   --host=arm-linux --enable-tools=mixed --enable-grid \
     --enable-local --with-linux=/usr/local/arm/src/linux-2.4.19/


here's the relevant part of the config.log file:



configure:9161: checking for C++-includable kernel header files
configure:9189: arm-linux-g++ -w -W -Wall -fno-exceptions -fno-rtti  -c
-g -O2  -D__KERNEL__ -I/usr/local/arm/src/linux-2.4.19//include
conftest.cc >&5
configure:9192: $? = 0
configure:9195: test -s conftest.o
configure:9198: $? = 0
configure:9209: result: yes
configure:9214: checking whether -fpermissive is required
configure:9254: arm-linux-g++ -w -W -Wall -fno-exceptions -fno-rtti  -o
conftest -g -O2  -D__KERNEL__
-I/usr/local/arm/src/linux-2.4.19//include  conftest.cc  >&5
In file included from
/usr/local/arm/src/linux-2.4.19/include/linux/rwsem.h:19,
                 from
/usr/local/arm/src/linux-2.4.19/include/asm/semaphore.h:10,
                 from
/usr/local/arm/src/linux-2.4.19/include/linux/fs.h:200,
                 from
/usr/local/arm/src/linux-2.4.19/include/linux/capability.h:17,
                 from
/usr/local/arm/src/linux-2.4.19/include/linux/binfmts.h:5,
                 from
/usr/local/arm/src/linux-2.4.19/include/linux/sched.h:9,
                 from
/usr/local/arm/src/linux-2.4.19/include/linux/skbuff.h:19,
                 from configure:9296:
/usr/local/arm/src/linux-2.4.19/include/asm/system.h:39: parse error
before 
   string constant
In file included from
/usr/local/arm/src/linux-2.4.19/include/asm/pgalloc.h:30,
                 from
/usr/local/arm/src/linux-2.4.19/include/linux/highmem.h:5,
                 from
/usr/local/arm/src/linux-2.4.19/include/linux/skbuff.h:27,
                 from configure:9296:
/usr/local/arm/src/linux-2.4.19/include/asm/proc/pgalloc.h: In function
`pte_t* 
   pte_alloc_one(mm_struct*, long unsigned int)':
/usr/local/arm/src/linux-2.4.19/include/asm/proc/pgalloc.h:25: invalid 
   conversion from `void*' to `pte_t*'
configure:9257: $? = 1
configure: failed program was:
| #line 9225 "configure"
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define CLICK_VERSION "1.4pre1"
| #if defined(__cplusplus) && !defined(__KERNEL__)
| #include <stdlib.h>
| #endif
| #define HAVE_NEW_HDR 1
| #define LINUX_SRCDIR "/usr/local/arm/src/linux-2.4.19/"
| #define FREEBSD_INCLUDEDIR "/usr/include"
| #define NUM_CLICK_CPUS 1
| #define HAVE_STRERROR 1
| #define HAVE_SNPRINTF 1
| #define HAVE_STRTOUL 1
| #define HAVE_TCGETPGRP 1
| #define HAVE_VSNPRINTF 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_INT64_TYPES 1
| #define HAVE_ENDIAN_H 1
| #define CLICK_BYTE_ORDER 1234
| #define HAVE_BYTESWAP_H 1
| #define HAVE_ADDRESSABLE_VA_LIST 1
| #define HAVE_UNISTD_H 1
| #define HAVE_TERMIO_H 1
| #define HAVE_POLL_H 1
| #define HAVE_NETDB_H 1
| #define HAVE_DLFCN_H 1
| #define HAVE_DYNAMIC_LINKING 1
| #define HAVE_DLFCN_H 1
| #define HAVE_LARGE_FILE_SUPPORT 1
| #define SIZEOF_OFF_T 4
| #define HAVE_SYS_MMAN_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_MADVISE 1
| #define HAVE_CLICKFS 1
| #define HAVE_CLICK_KERNEL 1
| #define HAVE_LINUX_STRLEN_EXPOSED 1
| #define HAVE_LINUX_POLLING 1
| #define HAVE_STRIDE_SCHED 1
| #define HAVE_LINUX_IF_TUN_H 1
| #define HAVE_PCAP 1
| #define HAVE_USERLEVEL_DRIVER 1
| /* end confdefs.h.  */
| #define MODULE
| #define _FEATURES_H
| #define new xxx_new
| #define this xxx_this
| #define delete xxx_delete
| #define class xxx_class
| #define virtual xxx_virtual
| #define typename xxx_typename
| #define private xxx_private
| #define protected xxx_protected
| #define public xxx_public
| #define namespace xxx_namespace
| #include <linux/skbuff.h>
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:9274: result: yes
configure:9279: checking whether -fpermissive is allowed
configure:9319: arm-linux-g++ -w -W -Wall -fno-exceptions -fno-rtti 
-fpermissive -o conftest -g -O2  -D__KERNEL__
-I/usr/local/arm/src/linux-2.4.19//include  conftest.cc  >&5
In file included from
/usr/local/arm/src/linux-2.4.19/include/linux/rwsem.h:19,
                 from
/usr/local/arm/src/linux-2.4.19/include/asm/semaphore.h:10,
                 from
/usr/local/arm/src/linux-2.4.19/include/linux/fs.h:200,
                 from
/usr/local/arm/src/linux-2.4.19/include/linux/capability.h:17,
                 from
/usr/local/arm/src/linux-2.4.19/include/linux/binfmts.h:5,
                 from
/usr/local/arm/src/linux-2.4.19/include/linux/sched.h:9,
                 from
/usr/local/arm/src/linux-2.4.19/include/linux/skbuff.h:19,
                 from configure:9361:
/usr/local/arm/src/linux-2.4.19/include/asm/system.h:39: parse error
before 
   string constant
configure:9322: $? = 1
configure: failed program was:
| #line 9290 "configure"
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define CLICK_VERSION "1.4pre1"
| #if defined(__cplusplus) && !defined(__KERNEL__)
| #include <stdlib.h>
| #endif
| #define HAVE_NEW_HDR 1
| #define LINUX_SRCDIR "/usr/local/arm/src/linux-2.4.19/"
| #define FREEBSD_INCLUDEDIR "/usr/include"
| #define NUM_CLICK_CPUS 1
| #define HAVE_STRERROR 1
| #define HAVE_SNPRINTF 1
| #define HAVE_STRTOUL 1
| #define HAVE_TCGETPGRP 1
| #define HAVE_VSNPRINTF 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_INT64_TYPES 1
| #define HAVE_ENDIAN_H 1
| #define CLICK_BYTE_ORDER 1234
| #define HAVE_BYTESWAP_H 1
| #define HAVE_ADDRESSABLE_VA_LIST 1
| #define HAVE_UNISTD_H 1
| #define HAVE_TERMIO_H 1
| #define HAVE_POLL_H 1
| #define HAVE_NETDB_H 1
| #define HAVE_DLFCN_H 1
| #define HAVE_DYNAMIC_LINKING 1
| #define HAVE_DLFCN_H 1
| #define HAVE_LARGE_FILE_SUPPORT 1
| #define SIZEOF_OFF_T 4
| #define HAVE_SYS_MMAN_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_MADVISE 1
| #define HAVE_CLICKFS 1
| #define HAVE_CLICK_KERNEL 1
| #define HAVE_LINUX_STRLEN_EXPOSED 1
| #define HAVE_LINUX_POLLING 1
| #define HAVE_STRIDE_SCHED 1
| #define HAVE_LINUX_IF_TUN_H 1
| #define HAVE_PCAP 1
| #define HAVE_USERLEVEL_DRIVER 1
| /* end confdefs.h.  */
| #define MODULE
| #define _FEATURES_H
| #define new xxx_new
| #define this xxx_this
| #define delete xxx_delete
| #define class xxx_class
| #define virtual xxx_virtual
| #define typename xxx_typename
| #define private xxx_private
| #define protected xxx_protected
| #define public xxx_public
| #define namespace xxx_namespace
| #include <linux/skbuff.h>
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:9339: result: no
configure:9368: WARNING:
=========================================

Your header files must be patched before a C++ program
can include them. Apply the patch that came with this distribution
if you want to compile Click as a Linux module.

=========================================

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://amsterdam.lcs.mit.edu/pipermail/click/attachments/20040427/e546bef0/attachment.htm


More information about the click mailing list