problems building server following mini_http example

Martin Pohlack mp26 at
Tue Mar 8 12:01:29 CET 2005

Tiago Jorge wrote:
>>Well, you could try to "port" all the dietlibc backends to be used 
>>with another libc, *maybe* a recompile with the other libc is 
>>sufficient (currently they are all compiled with against the dietlibc).
> Hello...
> Following your advice, i think i'm gonna lose two or three days trying 
> to port the dietlibc backends.
> I went to the dir l4/pkg/l4vfs/lib/libc_backends/ and tried to recompile 
> it with the l4env_freebsd mode.
> It all went well with file_table and select. In file_table and select 
> i've changed the Makefile to l4env_freebsd and changed these line to: 
> CFLAGS   = -ffunction-sections -I/home/tiago/l4/include.
> First thing: i'm don't no if i'm doing this right and what do you mean 
> when you say "port" to another libc, because i don't know what are the 
> specific parts that use the dielibc.

Well, by "port" I mean fixing problems like the ones below ...
There should not be much dietlibc specific stuff, but constants like
O_RDONLY make trouble sometimes as they should be the same everywhere
(clients and servers) and oskit has an own idea about this sometimes ...

> if you could give me some 
> guidelines, i would be very thankfull.

Please do not expect to much here as this is currently no main project here.

Basically you should check all the libs in l4vfs and libc_backends_l4vfs.

> In the other hand, when i try to do similar procedure in io and 
> socket_io it gives me some problems, for example, when i add the 
> l4env_freebsd mode and the path to libgen.h it give me the following:
>   ... Compiling operations.o
> LD_PRELOAD=/home/tiago/l4/tool/gendep/ 
> GENDEP_TARGET=operations.o GENDEP_BINARY=cc1  gcc -c     -DRAM_BASE=0x0  
> -DSYSTEM_x86_586_l4v2 -DARCH_x86 -DCPUTYPE_586 -DL4API_l4v2  
> -I../../../../idl/OBJ-x86-l4v2 -I../../../../../../include/x86/l4v2 
> -I/home/tiago/drops/include/x86/l4v2 -I../../../../../../include/l4v2 
> -I/home/tiago/drops/include/l4v2 -I../../../../../../include/x86 
> -I/home/tiago/drops/include/x86 -I../../../../../../include 
> -I/home/tiago/drops/include -nostdinc -DOSKIT 
> -I../../../../../../../oskit10/freebsd/libc/include 
> -I../../../../../../../oskit10/freebsd/3.x/src/include 
> -I../../../../../../../oskit10/freebsd/3.x/src/sys 
> -I../../../../../../../oskit10 -I../../../../../../include/c++/3.3 
> -I../../../../../../include/c++/3.3/drops 
> -I/home/tiago/drops/include/oskit10 
> -I/home/tiago/drops/include/oskit10/oskit/freebsd 
> -I/home/tiago/drops/include/c++/3.3 
> -I/home/tiago/drops/include/c++/3.3/drops 
> -I/usr/lib/gcc-lib/i486-linux/3.3.4/include -ffunction-sections 
> -I../../../../../../include/dietlibc -gstabs+     -g -O2 

Looks like you mixed oskit and dietlibc headers, probably not such a
good idea.  Stick to one libc or "know what you are doing".


More information about the l4-hackers mailing list