dpkg compile/development times
I got to the point with some of my recent dpkg-hackery where I wanted
to compile the result. However, I found that it was difficult for a
couple of reasons.
Firstly, the way the build process has been changed to use automake,
libtool &c has made it much more fragile, and dependent on recent
versions of many of these tools - which are only available in
unstable. I understand that Klee hopes to fix this.
However, even when you get it going it's still very slow. Klee, what
kind of computer do you have ? I'm doing my development on
effectively the same 20Mb 486DX/33 that I wrote dpkg on in the first
At the moment the slowness of the compiles isn't bothering me _too_
much because I'm not in a tight edit-compile-test cycle, but this is
bound to become a problem eventually.
In particular, libtool is extremely slow, and requires all the files
to be compiled twice.
Some timings: I compiled the lib directory after editing dpkg-db.h,
and that took nearly 10 minutes. Editing a single short file in the
lib directory and then using Emacs M-x compile produces:
- 4 seconds while Emacs and make start up.
- 13 seconds while dependencies are calculated and libtool is
called and thinks about what to do
- 7 seconds to compile the file
- 6 seconds to compile the file again
- 17 seconds while libtool in link mode decides what to do
- 4 seconds while gcc generates a shared library
- 5 seconds while ar generates an unshared library
Total time: 49 seconds (before even considering linking any other
programs against this), of which all but 11 or 12 seconds are
overhead - and that's with everything loaded into RAM from repeated
In the old scheme (which admittedly didn't have automatic dependencies
or shared libraries) the time for this task was probably more like the
16 seconds for the things which were done then. In other words, the
total elapsed time has trebled, and the overhead has jumped from 4-5
seconds to 37 or so, a factor of about eight !
Can something not be done ? I could buy a better computer, but I
don't have any spare money at the moment.
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
Trouble? e-mail to email@example.com .