[Rule-list] [Observations] Compiling on a RULE Computer

Geoff Burling llywrch at agora.rdrop.com
Sun Aug 11 02:17:06 EEST 2002


Just some notes on a few attempts to compile software on a
486 with RULE. Consider this a status report in learning
(1) what rpms should be included in a development package,
& (2) any issues I encountered doing this.

First off, gcc needs to be added in addition to performing
an install with RULE. RH 7.2 has two versions of gcc --
2.96 & 3.0 -- each with different dependencies. I believe I
documented this in the app database.

Adding the packages to get X working, I was able to compile
AfterStep with no problems. I couldn't get it to work due
to some hardware issues. (The monitor attached to the
486 doesn't support graphical displays due to the pinout.)

With my current install, I had problems getting nmap to
compile. First off, I needed to install the flex & bison
packages to get the configure script to work; then when
I compiled, the process died with a fatal error:

gcc -g -O2 -Wall  -Ilibpcap-possiblymodified  -DHAVE_CONFIG_H -DNMAP_VERSION=\"2.53\" -DNMAP_NAME=\"nmap\" -DNMAP_URL=\"www.insecure.org/nmap/\" -DNMAPDATADIR=\"/usr/local/share/nmap\" -I. -Ilibpcap-possiblymodified   -c -o nmap.o nmap.c
In file included from nmap.h:257,
                 from nmap.c:1:
tcpip.h:358: conflicting types for `inet_aton'
/usr/include/arpa/inet.h:74: previous declaration of `inet_aton'

I have gotten this both with gcc 2.96 & 3.0. I suspect
I may have to add further packages (supporting C++), but
I haven't looked into this problem further.

At this point, I decided a better test would be to compile
the kernel. I installed the kernel source files as root,
then tried to run ``make xconfig"; the make script failed
to find wish & died. (Well, I'm not too daunted by this;
and why should I bother with an X option when I should be
using a CLI?) Next I tried ``make config", & the script
kept dying, complaining that it needed the ncurses libraries.
This I overcame with two steps: first I kept editting
/etc/ld.so.conf (it only had one directory listed) & running
/sbin/ldconfig. The /etc/ld.so.conf file I ended up using
had the last three lines borrowed from a functional Linux
box:

[geoff at zander nmap-2.53]$ more /etc/ld.so.conf
/usr/lib
/usr/kerberos/lib
/usr/local/lib
/usr/X11R6/lib

Second, I finally realized that I needed to add the
ncurses-devel package. Once past that stage, I was able to
run ``make config" successfully & then ``make dep" & ``make bzImage".
There were some warning messages, but I'm not yet sure whether
these were caused by my mistakes in ``make config", or they
are errors in code. I'll try to clear this up with more
testing.

Now for the datum I'm sure a lot of you want to know: just
how long did it take a 486 to compile a 2.4 kernel? Before each
step I would touch a file named ``*.start", then pipe the message
output to a file named ``*.out"; the date of the file recorded the
end time of the compile. Here are the results:

[root at zander linux-2.4.7-10]# ls -l make*
-rw-r--r--    1 root     root            0 Aug  9 09:42 make.bzImage
-rw-r--r--    1 root     root        89380 Aug  9 23:08 make.bzImage.out
-rw-r--r--    1 root     root        34929 Aug  8 22:47 make.dep.out
-rw-r--r--    1 root     root            0 Aug  8 22:24 make.dep.start
-rw-r--r--    1 root     root         1521 Aug 10 11:28 make.msgs

(The make.msgs file records all of the warnings I received during the
compile.)

``make dep" took about 23 minutes, most of it configuring the
kernel. ``make bzImage" took 13 hours & 26 minutes. As a comparison,
the same machine compiled the 1.0x kernel in 3 to 4 hours.

Geoff





_______________________________________________
Rule Project HOME PAGE:  http://www.rule-project.org/rule/
Original Rule Development Site http://savannah.gnu.org/projects/rule/Rule-list at mail.freesoftware.fsf.org
http://mail.freesoftware.fsf.org/mailman/listinfo/rule-list



This full static mirror of the Run Up to Date Linux Everywhere Project mailing list, originally hosted at http://lists.hellug.gr/mailman/listinfo/rule-list, is kept online by Free Software popularizer, researcher and trainer Marco Fioretti. To know how you can support this archive, and Marco's work in general, please click here