[Click] cross compile the click

Sascha Alexander Jopen jopen at informatik.uni-bonn.de
Fri Nov 25 04:34:05 EST 2011


Hi,

i'm not sure what the status of patchless click is in click-2.0. Maybe 
you have to enable it with --enable-fixincludes while configuring the 
sources. However, if you do not explicitly need kernel level support, i 
suggest compiling with --disable-linuxmodule and only use the userlevel 
driver. Debugging of your click configurations is much easier in 
userlevel and segmentation faults won't take down your machine, as click 
in kernel space.

Regards,
Sascha

On 11/24/11 17:55, kele kele wrote:
>    Hi,
>        Thanks for telling me how to cross compile the click last days.
>        Now, my target rmilinux kernel is 2.6.21.  click version is 2.0.
>        You tell me use these flags:
> CPPFLAGS="-I/path/to/include/
>
> CFLAGS="-I/path/to/include/dir -MD" \
> CXXFLAGS="-I/path/to/include/dir -MD" \
> LDFLAGS="-L/path/to/library/dir" \
> ./configure \
> --prefix=/usr \
> --target=mipsisa32-xlr-linux \
> --host=mipsisa32-xlr-linux \
> --build=i686-linux-gnu \
> --enable-tools=host \
> --enable-userlevel \
> --disable-linuxmodule
>
>        now , I have use like this:
> CC=mips64-unknown-linux-gnu-gcc
> CPP=mips64-unknown-linux-gnu-cpp
> CXX=mips64-unknown-linux-gnu-g++
> AR=mips64-unknown-linux-gnu-ar
> AS=mips64-unknown-linux-gnu-as
> LD=mips64-unknown-linux-gnu-ld
> OBJCOPY=mips64-unknown-linux-gnu-objcopy
> OBJDUMP=mips64-unknown-linux-gnu-objdump
> RANLIB=mips64-unknown-linux-gnu-ranlib
> READELF=mips64-unknown-linux-gnu-readelf
> SIZE=mips64-unknown-linux-gnu-size
> STRING=mips64-unknown-linux-gnu-string
> STRIP=mips64-unknown-linux-gnu-strip
>
> ./configure \
>         --prefix=/opt/click \
>         --host=mips64-unknown-linux-gnu \
>         --target=mips64-unknown-linux-gnu \
>         --build=i386-linux-gnu \
>         --with-linux=/opt/rmi/1.6/linux/src \
>         --with-linux-map=/opt/rmi/1.6/linux/src/System.map
>
>     And there is a config warning:
> #########################################################
> Your Linux kernel header files cause errors when included by a C++ program,
> so I won't try to compile the linuxmodule driver.
>
> There are two common reasons for this error:
> 1. You have not applied the Linux kernel patch that comes with this
>     distribution.  Apply the right patch and try again.  See the INSTALL
>     file for more information.
> 2. Your Linux configuration enables some functionality that is not yet
>     covered by our patches.  Turn off this functionality and try again,
>     or fix the error and tell us how you did it.  See the config.log file
>     for more detailed information on the error.
> ##########################################################
>
>      with this warning, make linuxmoudle will failed.
>     I found that in clickdir/include/click-linuxmodule, there are only
> directory include0 , include1.
> if configure success, there will be include2 in the directory too.
>     So, I have made an experiment. I configure click-2.0 in kernel
> 2.6.18(centos 5) and
> kernel 2.6.27(fedora 10) with "./configure", all these kernels are without
> click patch.
> The result is that it is succeed in kernel 2.6.27 and faild in kernel
> 2.6.18, the faild imformation
> is same like above config warning.
>     I doubt the config warning is relate  with the kernel version.
>     So can you give me some advices.
>           Thanks!
>                                                   Kelei Jin
>                                                   Zhe Jiang Gong Shang
> University
>                                                   China
>



More information about the click mailing list