Hi,

I am trying to compile klee-uclibc on an x86_64 system with the kernel  
2.6.28-11 and I get a few errors.

Initially I got the an include conflict:
In file included from /usr/include/asm/posix_types.h:4,
                  from /usr/include/linux/posix_types.h:47,
                  from /usr/include/linux/types.h:5,
                  from /usr/include/linux/if_ether.h:24,
                  from ./include/netinet/if_ether.h:26,
                  from ./include/netinet/ether.h:26,
                  from libc/inet/ether_addr.c:31:
/usr/include/asm/posix_types_64.h:10: error: redefinition of typedef  
'__kernel_ino_t'
./include/bits/kernel_types.h:11: error: previous declaration of  
'__kernel_ino_t' was here

I fixed it by patching klee-uclibc/libc/sysdeps/linux/x86_64/bits/ 
kernel_types.h
This is obviously caused by a change of the kernel macros.


However, now I get another conflict:

CC libc/stdlib/_stdlib_strto_l_l.os
In file included from libc/stdlib/strtol_l.c:8:
libc/stdlib/stdlib.c:346: error: conflicting types for 'strtoll_l'
./include/stdlib.h:266: error: previous declaration of 'strtoll_l' was  
here
libc/stdlib/stdlib.c:348: error: conflicting types for 'strtoll_l'
./include/stdlib.h:266: error: previous declaration of 'strtoll_l' was  
here


I suspect these errors may be because of the newer kernel headers and  
an older uclibc version. They most likely show up on 32 bit systems too.

Thus, I have three questions:

What kernel version did you use?

What is the diff between klee-uclibc and uclibc?

Is it is complicated to upgrade to the newest uclibc version?

Thanks,

Cristi


Reply via email to