[K42-discussion] What is the correct version of gcc, glibc, binutils, linux and linuxthreads required for a successful K42 build ?

Orran Y Krieger okrieg at us.ibm.com
Wed Dec 21 04:09:55 EST 2005


Elvis,

There is perhaps some confusion here.  K42 is intimate with a particular 
toolchain version (e.g., we know how virtual function tables are laid out 
for our stub compiler), and that toolchain has to be built a specific way 
to be able to build K42.   Its a pretty major project to build the 
toolchain, its got nothing whatsoever to do with building the K42 kernel, 
and most people that want to hack on K42 want to know nothing about 
building the toolchain.  Once you have the toolchain, building K42 is 
relatively straightforward.   We have tried to do a reasonable job of 
documenting how to build K42 itself.   If you want to work/play on the OS, 
really the best bet today is to just use the binary version of the 
toolchain that is distributed at UNM and Toronto.   If you want to build 
your own version... its digging into a big pit. 

Unfortunately, the toolchain problem is agrevated by the fact that we are 
locked into an older version of the toolchain.  With more recent vesions 
the kind of scripts that the Cell guys use would work for us as well. 
Someone at the university of new mexico agreed a while back to work on 
upgrading us to a new version of the toolchain, but have not heard 
anything about that recently?  Any progress on this guys?

         -- Orran





"Elvis John Dowson" <elvis_dowson at hotmail.com> 
Sent by: k42-discussion-bounces at ozlabs.org
12/18/2005 07:07 PM

To
"'Andrew Baumann'" <andrewb at cse.unsw.edu.au>, "'Jimi Xenidis'" 
<jimix at watson.ibm.com>
cc
k42-discussion at ozlabs.org
Subject
RE: [K42-discussion]  What is the correct version of gcc, glibc, binutils, 
linux and linuxthreads required for a successful K42 build ?






Hi,
     I would like to learn how to build it from scratch and from the cvs
sources. 

One thing I can say for certain, the present documentation and 
distribution
mode is completely unworkable. 

I'm using a Linux Fedora Core 4 distribution. All the build.sh scripts 
that
I tried using doesnt work. I even tried various compatible builds of gcc,
glibc, etc, known to match with the linux kernel and still it doesnt build
correctly. 

To top it all, I dont have the bitkeeper program or the bk command.
Searching the net, I read about the bitkeeper controversy. They sent me a
link to a bkbits client, build it didnt have a bk command utility after I
built the sources. 

So I can even follow the instructions give below to patch the kernel even,
as posted on the K42-Tornado Operating System website :
http://www.eecg.toronto.edu/~tornado/#overview 

Linux patches for the K42 target architecture: 
----------------------------------------------
patch25.bz2
patch26.bz2
patch26b.bz2 - Apply this patch on top of the patch26.bz2 patch using:
bzip2 -dc patch26b.bz2 | bk receive -a linux-026

All in all, quite unworkable and badly supported as a distribution. I've
spend more than 4 days (18 hours a day for a total of 72 hours) straight,
starting from scratch, to attempt to build the K42 sources, with no 
results,
so far).

The Cell SystemSim distribution was much cleaner and I could resolve all 
the
build dependencies easily, with less effort. With K42, it doesnt seem to 
be
the case. 

I've downloaded the document sources and built the html files, that was 
kind
of amusing by the way, when compared to a windows development
environment,... I mean I wasted so much time, just to figure out that I 
had
to build the html files from SGML sources !! That was crazy. I mean, you
guys must be wasting so much time with the infrastructure, support 
structure
and the organization of this entire project. The results were quite nice 
and
fancy in the end, but I think one tends to get into nitty gritty details 
and
lose sight of the forest from the trees, if you know what I mean. 

I guess once you get it working, it would be good, but for me, the initial
experience is not good, for the moment, for no reason other than having
outdated documentation for the build process. 

I come from a DO-178B real-time embedded avionics software development
background and have worked on a variety of platforms and tools, plus
scientific engineering aerospace application development and OpenGL. 

All those environments, platforms and tools were fairly straightforward to
work with and the time spend learning would directly map to results for a
given task. 

Here, I feel it's time wasted on unproductive tasks that do not lend 
itself
towards getting results for a given task (case in point, building the
documentation set from the sgml files, outdated and scattered build
instructions, problems with tools (bitkeeper), incomplete distributions 
and
supplied toolsets ( no netap host application for recieving simulator
network interface broadcast packets, etc )

I think its easy for someone internally at IBM to do all the development,
but for an external developer, the state of the distribution is quite
unworkable. Agreed that you have pre-built distributions that are 500MB
large, but I should also be able to build from the sources too.

Anyway, I'm just telling you all this to let you know how I feel, in the
hope that sometime in the future you could address some of these points, 
so
that the experience is better for someone attempting to work on the K42
project, externally, other than the internal IBM development team.

Best regards,

Elvis Dowson



-----Original Message-----
From: Andrew Baumann [mailto:andrewb at cse.unsw.edu.au] 
Sent: Monday, December 19, 2005 3:11 AM
To: Elvis John Dowson
Cc: k42-discussion at ozlabs.org
Subject: Re: [K42-discussion] What is the correct version of gcc, glibc,
binutils, linux and linuxthreads required for a successful K42 build ?

On Sun, 18 Dec 2005 11:16 pm, Elvis John Dowson wrote:
> Would it be possible for someone to tell me which version of gcc, glibc,
> binutils, linux, linuxthreads and patches are required for a successful
K42
> build ?

Building a toolchain and all the supporting software for use with K42 
isn't 
exactly easy. If you can, I strongly suggest using one of Amos Waterland's 

K42 toolchain/library packages (for i386) from here:
http://www.cs.unm.edu/~k42/pub/k42-devkit

As for versions, in that package are a gcc-3.3.3 prerelease,
binutils-2.14.90, 
and glibc 2.3.2. The version of linux being used is specific to K42, so 
you 
definitely need to get that from the k42-packages tree.

Andrew
_______________________________________________
K42-discussion mailing list
K42-discussion at ozlabs.org
https://ozlabs.org/mailman/listinfo/k42-discussion

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ozlabs.org/pipermail/k42-discussion/attachments/20051220/a8b40481/attachment.htm 


More information about the K42-discussion mailing list