I cannot for the life of me compile l4linux
l4re and fiasco seem to be working just fine (tested by running the hello world in qemu), but trying to add l4linux on top of l4re has caused me a lot of grief and the following error message: Getting required compilation flags failed. L4OBJ: /home/drxl/l4stuff/builddirs/L4Re-R27MP L4_REQUIRED_MODS: stdlibs log l4re_c-util libio shmc /home/drxl/l4stuff/src/l4linux/arch/l4/Makefile:301: *** Aborting.. Stop. make: *** [sub-make] Error 2 zsh: exit 2 make O=$MY_L4LINUX_OBJDIR I've detailed how I got to that point in painstaking detail here: http://blog.fairchild.dk/notes/2011/01/25/getting-l4linux-up-and-running/ In short I've begged, bargained and even resorted to shell-foo like: find . -type f -name 'Makefile' -exec grep -Hn REQUIRE {} \; |\ sed -e 's,\(.*\)\\$,\1,g' -e 's,^.*=\(.*\)$,\1,g' | sed -n 'H;${g;s/\n//gp}'| \ sed -e 's,[ ]*\([^ ]*\),\1\n,g' | sort -u | uniq | xargs -I ® svn update ® in the l4/pkg dir, to try and fix any unmet dependencies, but to no avail. So I guess I wouldn't mind a little help at this point. best regards Daniel
On Tue Jan 25, 2011 at 05:38:59 +0100, Daniel F. Haaland wrote:
l4re and fiasco seem to be working just fine (tested by running the hello world in qemu), but trying to add l4linux on top of l4re has caused me a lot of grief and the following error message:
Getting required compilation flags failed. L4OBJ: /home/drxl/l4stuff/builddirs/L4Re-R27MP L4_REQUIRED_MODS: stdlibs log l4re_c-util libio shmc /home/drxl/l4stuff/src/l4linux/arch/l4/Makefile:301: *** Aborting.. Stop. make: *** [sub-make] Error 2 zsh: exit 2 make O=$MY_L4LINUX_OBJDIR
I've detailed how I got to that point in painstaking detail here: http://blog.fairchild.dk/notes/2011/01/25/getting-l4linux-up-and-running/
Times out.
In short I've begged, bargained and even resorted to shell-foo like:
So I guess I wouldn't mind a little help at this point.
Did your L4Re build finish successfully? Adam -- Adam adam@os.inf.tu-dresden.de Lackorzynski http://os.inf.tu-dresden.de/~adam/
On Tue, Jan 25, 2011 at 10:37 PM, Adam Lackorzynski <adam@os.inf.tu-dresden.de> wrote:
On Tue Jan 25, 2011 at 05:38:59 +0100, Daniel F. Haaland wrote:
l4re and fiasco seem to be working just fine (tested by running the hello world in qemu), but trying to add l4linux on top of l4re has caused me a lot of grief and the following error message:
Getting required compilation flags failed. L4OBJ: /home/drxl/l4stuff/builddirs/L4Re-R27MP L4_REQUIRED_MODS: stdlibs log l4re_c-util libio shmc /home/drxl/l4stuff/src/l4linux/arch/l4/Makefile:301: *** Aborting.. Stop. make: *** [sub-make] Error 2 zsh: exit 2 make O=$MY_L4LINUX_OBJDIR
I've detailed how I got to that point in painstaking detail here: http://blog.fairchild.dk/notes/2011/01/25/getting-l4linux-up-and-running/
Times out.
Yeah, my Internet provider back in Denmark took a ~24 hour hiatus. That'll teach me not to have just one single copy of my notes in a remote location ;)
In short I've begged, bargained and even resorted to shell-foo like:
So I guess I wouldn't mind a little help at this point.
Did your L4Re build finish successfully?
Yes. I got l4linux to compile now. And I've updated my notes accordingly: http://blog.fairchild.dk/notes/2011/01/25/getting-l4linux-up-and-running/ Feel free to take anything from these. I believe that they are a little more user-friendly than the ones I've seen in your documentation. I've made them agnostic to directory layouts in order to make them pure copy'n'pase, which I hope will speed up the process of getting started for most and prevent some from introducing errors when replacing bits of text like O=/your/build/directory Turns out it was the package dependency system, or lack thereof which was kicking me in the teeth. Repeatedly. So I made this to be run in the src/l4/pkg directory: cd $MY_L4STUFF/src/l4/pkg alias l4_alias="`cat ../mk/aliases.d/* | sort -r | \ sed 's,\([^ ]*\)[ ]*\:=[ ]*\(.*\),tr \" \" \"\\\\n\" | \ sed \"s/^\1$/\2/\"\|,g' | tr -d \"\n\"` cat" find . -type f -name 'Control' -exec grep -Hn requires {} \; |\ sed -e 's,^.*\:\(.*\)$,\1,g' | tr ' ' '\n' | \ l4_alias | sort -u | uniq \ | xargs -I ® svn update ® I almost solved it with my first try, only I didn't know I should look in the Control files of the packages and not the Makefiles and more importantly I was completely oblivious to the existence of the package aliases definition files in ../mk/aliases.d/ The fact that "svn update packagename" fails silently didn't help me much either ;-) Luckily I had the opportunity to ask Björn and Michael about how the dependencies work yesterday in relation to lectures. I guess there is three ways to solve this package dependency issue: 1) You just have to know these things to be allowed to work with l4 fiasco 2) Make sure to have every available package (making the prize of this microkernel a macro-runtime? :-p) 3) Run the above script (or perhaps the equivalent dependency checking perl script you mentioned today?) I think that making l4re more easily accessible for beginners would benefit the project as a whole. best regards Daniel
On Wed Jan 26, 2011 at 23:21:58 +0100, Daniel F. Haaland wrote:
I guess there is three ways to solve this package dependency issue: 1) You just have to know these things to be allowed to work with l4 fiasco 2) Make sure to have every available package (making the prize of this microkernel a macro-runtime? :-p) 3) Run the above script (or perhaps the equivalent dependency checking perl script you mentioned today?)
I think I fixed that particular issue internally (i.e. it's not yet out). Adam -- Adam adam@os.inf.tu-dresden.de Lackorzynski http://os.inf.tu-dresden.de/~adam/
participants (2)
-
Adam Lackorzynski -
Daniel F. Haaland