[Click] Compile issues on RHEL 6.4 (2.6.32)

Eddie Kohler ekohler at gmail.com
Sat Feb 23 13:25:50 EST 2013


Just to double check for a misunderstanding: You don't grab a tarball
from git. Are you using the click-2.0.1 release, or the current git
sources, which you can obtain by `git clone` from github.com?


On Sat, Feb 23, 2013 at 1:11 PM, Keith Schoenefeld
<keith at schoenefeld.org> wrote:
> - My understanding is that CentOS is built using the source RPMS for
> RHEL, so CentOS 6.x would be as close to identical as possible with
> RHEL 6.x.
> - I used the stock compiler that comes with RHEL 6.4
> - I grabbed the latest tarball from git and used that, yes.
>
> I will point out that in the last 30 minutes I realized that when I
> tried to insmod click.ko (with stock click 2.0.1, which I did finally
> get to compile) without first running insmod proclikefs.ks -- once I
> did things in the right order it seems to be working (I'm finalizing a
> config right now to test).  That said, the compile issues for the
> current git versions still exist, and I'd much rather be running up to
> date code than stock 2.0.1.  Thanks for the quick response.
>
> -- KS
>
> On Sat, Feb 23, 2013 at 11:34 AM, Eddie Kohler <ekohler at gmail.com> wrote:
>> Hi Keith, sorry for the errors.
>>
>> Some questions, since I don't have RHEL to test.
>> —Is there a Fedora/Centos version that corresponds?
>> —Specific compiler version?
>> —Most importantly, have you tried with current git?
>>
>> Eddie
>>
>>
>> On Fri, Feb 22, 2013 at 11:41 PM, Keith Schoenefeld
>> <keith at schoenefeld.org> wrote:
>>> I'm running RHEL 6.4 with a RedHat kernel.  I've worked through
>>> various compile issues working on the 2.0.1 release code, including
>>> having to recompile the kernel from source with NR_CPUS set to 8
>>> instead of 4096, adding the NETREG line to fixincludes.pl, etc.  I
>>> have 2.0.1 compiling now with no issues, but once I install and run
>>> insmod click.ko I get the error "insmod: error inserting 'click.ko':
>>> -1 Cannot allocate memory".  I tried running strip -g as suggested in
>>> another post, but then I get "insmod: error inserting 'click.ko': -1
>>> Unknown symbol in module".  I've also tried using the latest git
>>> repository.  Using the following configure command:
>>>
>>> ./configure --prefix=/opt/click-kohler-6aa1787 --disable-userlevel
>>> --enable-multithread
>>>
>>> I end up with the following errors (I ran make once to compile
>>> everything that would compile, then again to just get the list of
>>> errors):
>>>
>>>
>>> # make linuxmodule
>>> make[1]: Entering directory `/root/kohler-click-6aa1787/linuxmodule'
>>> make -C /lib/modules/2.6.32-358.el6.click.x86_64/build
>>> M=/root/kohler-click-6aa1787/linuxmodule  modules
>>> make[2]: Entering directory `/usr/src/kernels/2.6.32-358.el6.click.x86_64'
>>>   CXX [M] tohost.o
>>> In file included from
>>> /root/kohler-click-6aa1787/include/click-linuxmodule/include0/linux/tcp.h:186,
>>>                  from
>>> /root/kohler-click-6aa1787/include/click-linuxmodule/include0/linux/ipv6.h:220,
>>>                  from
>>> /root/kohler-click-6aa1787/include/click-linuxmodule/include0/net/ip.h:344,
>>>                  from
>>> /root/kohler-click-6aa1787/include/click-linuxmodule/include0/net/xfrm.h:23,
>>>                  from
>>> /root/kohler-click-6aa1787/linuxmodule/../elements/linuxmodule/tohost.cc:28:
>>> /root/kohler-click-6aa1787/include/click-linuxmodule/include0/net/inet_connection_sock.h:
>>> In function ‘void inet_csk_clear_xmit_timer(sock*, int)’:
>>> /root/kohler-click-6aa1787/include/click-linuxmodule/include0/net/inet_connection_sock.h:208:
>>> error: ‘DEBUG_HASH’ was not declared in this scope
>>> /root/kohler-click-6aa1787/include/click-linuxmodule/include0/net/inet_connection_sock.h:208:
>>> error: ‘DEBUG_HASH2’ was not declared in this scope
>>> /root/kohler-click-6aa1787/include/click-linuxmodule/include0/net/inet_connection_sock.h:208:
>>> error: too many initializers for ‘_ddebug’
>>> /root/kohler-click-6aa1787/include/click-linuxmodule/include0/net/inet_connection_sock.h:
>>> In function ‘void inet_csk_reset_xmit_timer(sock*, int, long unsigned
>>> int, long unsigned int)’:
>>> /root/kohler-click-6aa1787/include/click-linuxmodule/include0/net/inet_connection_sock.h:224:
>>> error: ‘DEBUG_HASH’ was not declared in this scope
>>> /root/kohler-click-6aa1787/include/click-linuxmodule/include0/net/inet_connection_sock.h:224:
>>> error: ‘DEBUG_HASH2’ was not declared in this scope
>>> /root/kohler-click-6aa1787/include/click-linuxmodule/include0/net/inet_connection_sock.h:224:
>>> error: too many initializers for ‘_ddebug’
>>> /root/kohler-click-6aa1787/include/click-linuxmodule/include0/net/inet_connection_sock.h:241:
>>> error: ‘DEBUG_HASH’ was not declared in this scope
>>> /root/kohler-click-6aa1787/include/click-linuxmodule/include0/net/inet_connection_sock.h:241:
>>> error: ‘DEBUG_HASH2’ was not declared in this scope
>>> /root/kohler-click-6aa1787/include/click-linuxmodule/include0/net/inet_connection_sock.h:241:
>>> error: too many initializers for ‘_ddebug’
>>>   CREATE /root/kohler-click-6aa1787/linuxmodule/ksyms.c
>>> nm: 'tohost.o': No such file
>>>   CC [M] ksyms.o
>>>   LD [M]  /root/kohler-click-6aa1787/linuxmodule/click.o
>>> ld: /root/kohler-click-6aa1787/linuxmodule/tohost.o: No such file: No
>>> such file or directory
>>> make[3]: *** [/root/kohler-click-6aa1787/linuxmodule/click.o] Error 1
>>> make[2]: *** [_module_/root/kohler-click-6aa1787/linuxmodule] Error 2
>>> make[2]: Leaving directory `/usr/src/kernels/2.6.32-358.el6.click.x86_64'
>>> make[1]: *** [all] Error 2
>>> make[1]: Leaving directory `/root/kohler-click-6aa1787/linuxmodule'
>>> make: *** [linuxmodule] Error 2
>>>
>>> I'm not sure where to go with the DEBUG_HASH, DEBUG_HASH2, etc. errors
>>> and google hasn't helped me at all.  Does anyone have any
>>> recommendations for getting this working?
>>>
>>> -- KS
>>>
>>> _______________________________________________
>>> click mailing list
>>> click at amsterdam.lcs.mit.edu
>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click



More information about the click mailing list