esden is currently certified at Journeyer level.

Name: Piotr Esden-Tempski
Member since: 2003-01-06 17:11:19
Last Login: N/A

FOAF RDF Share This



even if I am the lead developer of bchat and lcdemu I invest most of my free time in ROCK Linux. My main workfields in roclinux is the dietlibc target (target is a name of a distribution that can be built with ROCK scripts) (dietlibc target is a dietlibc based distribution) There are some smaller things that I do for ROCK like the alpha port (currently suspended because of lack on harddisk >_


Recent blog entries by esden

Syndication: RSS 2.0

Ok ... I have not wrtitten a diary entry for a long time ... now I think I should continue with that.

dietlibc target

For the beginning PERL SUX terribly!!! At least build time ;)

After some intensive work I got the dietlibc target to compile through. It was a lot of work ... but it was very productive. Now most packets do compile and I already made the first test installation of the target.

What is missing (build time)

here is the output of ./scripts/Create-ErrList :

Error logs from default-2.0.0-rc2-x86-dietlibc-expert:
 [1] base/linux24                        [3] base/autoconf
 [5] base/linux24                        [5] base/linux26
 [5] base/autoconf                       [5] base/dump
 [9] base/linux26-src                    [9] base/linux24
 [9] base/linux26                        [9] base/autoconf
 [9] base/dump
151 builds total, 140 completed fine, 11 with errors.

As you can see linux2[46] are not compiling. That is due to some little problems in the drivers but not only that. The biggest problem is the missing perl in the build. That also prevents autoconf to compile.

I have already tryed to compile perl. Some people reported that it is possible and that it works pretty well. Aarad from dietlinux said that I need an other math library. But an other person reported that I only need to set the configuration options in correctly. I have tryed it and it compiled through up to the tiny perl binary that coredumped while executing ... very strange. I will have to invest bit more time in that ... perhups today night. But I have to say Perl has a really nasty and ugly build/configuration system I have seen ever. Autoconf is really nice against it. (autoconf sux too but that is an other story (I will never understand why it has been rewritten in perl >_< ))

dump is also missing. The guys from the dump project use all possible gnu extinations. I have already fixed most problems that occure during the build and will report about that when I am finished. I will also send the diff upstream. Because most things are real bugs in my eyes. This program is not portable the way it is made currently. I was really running up the walls while fixing it.

What is missing (runtime)

ip was missing in my build. It is fixed now because iproute2 was disabled for the target. I also fixed it so that it builds hopefully correctly under dietlibc.

agetty is giving a login prompt and accepts a user name but when you type enter after the username nothing happens besides that agetty get's restarted. Looks like a coredump. It also needs further investigation.

Of course linux kernel is missing in the build so I took the kernel out of the install disk. It will be gone as soon as I get linux kernel working what most likely also means running perl >_< (I really go mad seeing that kernel build needs perl I know that there was a long discussion on the LKML about it but I still am a big enemy of such dependancies perl is not a trivial tool to compile like bash for god sake *headshake* I really do not want to scream more here)

Lot of work

Ok that is all for now... The target still needs a lot of work. But it seems that it will be usable soon.

If you want to help me get the rocklinux dietlibc related patches from the Rock Linux mailinglist apply it to the current SVN:HEAD and test it. They are not yet applyed because Rene is still working on his rc1+fixes tag for his PPC build. But they should come in soon. My dietlibc patches count over 30 parts. and I have another 5 lying on my harddisk. The count will grow. I hope that my work will not create any regressions. The dietlibc target is is also used in the bootdisc target. That means that if I make a mistake there it will break one of the most importaint parts of ROCK. That really scares me. I hope that I will see the bugs as soon as possible and will be able to fix them in time. I really do not want that because of me the release of the final 2.0 ROCK release will have to be postponed. That also means that I need testers!!!

The last word. If you have questions or problems please contact me.

And one more thing. Fefe dietlibc really get's better and better. Congrats! ;)

dietlibc target

I am now finally in the stage 2 of the build. And the first thing that I see, is a problem that is bit more complex (I had this already half year ago as I was working on dietlibc). When you try to compile anything with gcc and the option -pipe it fails. But it fails iregullary. Every 10th time it compiles through. That is a very strange behaviour. I hope that I or someone else will find a solution to this problem.

I will report this bug to the dietlibc guys. Perhups they know this problem and/or a solution.

The program I used for testing looks like this:

int main() {
  return 0;

The error message looks like this:

/usr/dietlibc/lib-i386/start.o(.text+0x11): In function `_start':
: undefined reference to `main'
collect2: ld returned 1 exit status

funny what ?

The fixes that make the dietlibc target compile till the 2nd stage should be in the ROCKLinux cvs soon. So if someone of you likes to can take a look in it. I will appreciate all help.

But till I have a solution i will remove -pipe from the command line using the cmd_wrapper (I really appreciate that we have it in ROCKLinux)

dietlibc target

I fixed the util-linux packet. It was so trivial that it is not really worth a mention.

Now e2fsprogs is on the way. The first error it provided was that strnlen is not avalable. So I took the strlen code included in dietlibc read it and spent some hours understanding it's inner workings. Only because &~ operator was not known to me I needed so much time understanding the code and prooving to myself that it really works ;-)

The operator has the following table:

a | b | a &~ b
0 | 0 | 0
0 | 1 | 0
1 | 0 | 1
1 | 1 | 0

for the ones that do not know this operator either ;-)

And after I understood it I converted the strlen code to strnlen. It is working ... but I think it could be done better.

The other question is where it should be added in dietlibc. This function is a GNU extination ... so it probably should go in libcompat dunno .. will send the patch to dietlibc mailinglist and we will see.


I was reading dietlibc mailing list today and what do I see. Fefe is writing that he read in this diary here about the gcc3 problem and perhups I may write some more about it. So I wrote. It was pretty shocking because I have not imagined that anyone would make an effort and read my diary. So I wave in your direction Fefe *wave* (I also read your diary :-> )

dietlibc target

The mail on dietlibc mailinglist killed my schedule. I wanted to write to the diet mailinglist when I have something to show, cuz till now it is nearly nothing. Packets are compiling but this does not say that they work at all. I will see it in the 2nd stage first.

I still have not fixed linux-utils >_< . The proseminar and lectures are consuming too much time...

I have now merged the changes of Clifford's CVS and my own tree and started a dietlibc target build once more so that everything is clean. Now I can go to bed and sleep some hours....

Addendum to yesterday

Ok the day has not continued so negatively as I expected. I found the problem about curl on my main Intel machine. Because I updated glibc to 2.3.1 some days before it was not working anymore. I recompiled curl and everything was fine.

I also fixed perl on my laptop. Do not ask me how. I simply installed some Bundles and problems were gone and I can now continue to prepare the Seminar.

I also sent a bunch of patches to Clifford fixing another half a ton of packets in the Dietlibc target. Next package that has to be fixed is linux-utils.

Today (as for now)

I forced me to get to the university and hear the "Basic Algorithms" lecture. It was pretty interesting all in all. The guy was talking about searchtrees and operation complexity on them. That is not really hard but amusing.

Now I am hungry -> hunting ;-)

2 older entries...


esden certified others as follows:

  • esden certified esden as Apprentice
  • esden certified blindcoder as Journeyer
  • esden certified salmoni as Journeyer
  • esden certified jbucata as Apprentice
  • esden certified fxn as Journeyer
  • esden certified Fefe as Master
  • esden certified raph as Master
  • esden certified mike1 as Journeyer
  • esden certified rolla as Journeyer

Others have certified esden as follows:

  • esden certified esden as Apprentice
  • salmoni certified esden as Journeyer
  • fxn certified esden as Journeyer
  • blindcoder certified esden as Journeyer
  • mike1 certified esden as Journeyer
  • rolla certified esden as Master

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page