Is it possible to compile syslogd-1.4.1 against uClibc

frank sabella vze2gz6q at verizon.net
Wed Nov 23 11:55:54 UTC 2005


>From: "Nathanael D. Noblet" <nathanael at gnat.ca>
>Date: Tue Nov 22 18:39:25 CST 2005
>To: vze2gz6q at verizon.net
>Cc: uclibc at uclibc.org
>Subject: Re: Is it possible to compile syslogd-1.4.1 against uClibc

>On Tue, 2005-11-22 at 16:43 -0600, frank sabella wrote:
>> I have tried using todays svn buildroot and uClibc-20051122. The make fails.
>> I also tried uClibc-0.9.28 but the result was the same.
>> 
>> Syslogd compiles fine on my host i386 with gcc-3.3.5 and binutils-2.15.92.0.2 so I 
>> tried compiling in buildroot with gcc-3.3.5 and several versions of binutils. Nothing 
>> worked for me.The only change I made to the uClibc conf was for P3 arch.
>> 
>> The error message changes silghtly each time i compile but this is basically it. 
>> 
>
>You're using kernel 2.6? This error stems from two things, the kernel
>module structure changed and I *think* if I recall correctly buildroot
>not patching something properly. I had the same problem. I can't find
>the solution I employed at the moment. Do a google search. I know there
>is a patch out there that fixes this for syslog. If I find it again I'll
>send it along but am quite busy for the next few days...
>
>> 
>> In file included from ksym_mod.c:97:
>> /router/apps/buildroot/build_i686/staging_dir/i686-linux-uclibc/sys-include/linux/module.h:41: error: field `at
>> tr' has incomplete type
>> /router/apps/buildroot/build_i686/staging_dir/i686-linux-uclibc/sys-include/linux/module.h:49: error: field `ko
>> bj' has incomplete type
>> ksym_mod.c:99: warning: `struct kernel_sym' declared inside parameter list
>> ksym_mod.c:99: warning: its scope is only this definition or declaration, which is probably not what you want
>> ksym_mod.c:139: error: field `module' has incomplete type
>> ksym_mod.c:141: error: field `module_info' has incomplete type
>> ksym_mod.c: In function `InitMsyms':
>> ksym_mod.c:210: warning: passing arg 1 of `get_kernel_syms' from incompatible pointer type
>> ksym_mod.c:224: error: invalid application of `sizeof' to an incomplete type
>> ksym_mod.c:232: warning: passing arg 1 of `get_kernel_syms' from incompatible pointer type
>> ksym_mod.c:248: error: dereferencing pointer to incomplete type
>> ksym_mod.c:248: error: dereferencing pointer to incomplete type
>> ksym_mod.c:255: error: increment of pointer to unknown structure
>> ksym_mod.c:255: error: arithmetic on pointer to an incomplete type
>> ksym_mod.c: In function `AddModule':
>> ksym_mod.c:413: error: invalid application of `sizeof' to an incomplete type
>> make[1]: *** [ksym_mod.o] Error 1
>> make[1]: Leaving directory `/router/apps/buildroot/build_i686/sysklogd-1.4.1'
>> make: *** [/router/apps/buildroot/build_i686/sysklogd-1.4.1/klogd] Error 2
>
>-- 
>Nathanael D. Noblet
>Gnat Solutions
>http://www.gnat.ca/
>T 250.385.4613
>C 250.893.4613


Hi Nathanael

Thanks for the responding! 

Actually, after searching in vain for quite some time I remembered that the LFS project
can be built against uClibc, and they have a nice patch repository.

I found the correct patch at: http://www.linuxfromscratch.org/patches/downloads/sysklogd/ 
 
The patch I used was 'sysklogd-1.4.1-kernel_headers-1.patch'

How to apply it can be found at: http://www.linuxfromscratch.org/lfs/view/stable/chapter06/sysklogd.html

A heads-up for anyone else using these patches, as I have tried several. 
They don't patch cleanly, so expect patch errors. 

The patch mentioned above can be easily corrected by removing the '#' from 
line 23. 

Cheers

-Frank



More information about the uClibc mailing list