[Oberon] Unix Port of Aos

Guenter Feldmann fld at informatik.uni-bremen.de
Sun Jul 1 18:54:46 MEST 2007


Am Samstag 30 Juni 2007 18:27 schrieb R. Clayton:
> On an x86 debian testing system (updated weekly), the second alpha release of
> UnixAos doesn't find libc.so:
> 
>   $ ~/projects/Aos/package/bin/aos 
>   UnixAos Boot Loader 03.04.2007
>   Unix.dlopen: loading library /lib/libc.so failed
>   Kernel.CallBodies: Initializing Threads
>   Kernel.CallBodies: Initializing Reals
>   [ and so on ]
> 
> Given that
> 
>   $ locate libc.so
>   /lib/i686/cmov/libc.so.6
>   /lib/libc.so.6
>   /usr/lib/libc.so
> 
>   $ 
> 
> poking around in src/x86/Linux/Unix.Mod suggests that replacing
> 
>   libc := Dlopen("/lib/libc.so", 2);
> 
> with
> 
>   libc := Dlopen("libc.so", 2);
> 
> should fix it, but I don't know how to incoproate the change into the
> executable to test it.

I's very easy. Just recompile the module and then perfom the command

	BootLinker.Link LinuxOberonCore := ...

in the x86.Linux.Tool. 

The right place to fix Aos would be:

	x86/Linux/Glue.Mod:
		libcname = "libc.so"		==>	libcname := "libc.so.6"
	x86/Linux/Unix.Mod:
		libc := Dlopen( "/lib/libc.so", 2 )	==> libc := Dlopen( Glue.libcname, 2 )	


Or fix it in Linux with
	
	ln -s  /lib/libc.sp.6  /lib/libc.so

-- Guenter


More information about the Oberon mailing list