Subject: Compilation of BitchX

From: tlawton <[email-masked]>
Date: Sun, 24 May 1998 13:05:25 +0000

Hi,

 Has anyone managed to compile BitchX for ARMLinux, or can anyone tell me
what's wrong? I don't think there's anything wrong with my system as I've
managed to compile a kernel, and PINE. So far I've set up symbolic links from
the places it's looking for some files to the places where those can be found
but it's still not working.

 Thanks,
 
 Tom
 
Below here is a selection, taken from te configure log, of the bits that
failed.

configure:857: gcc -E  conftest.c >/dev/null 2>conftest.out
configure:853: sys/select.h: No such file or directory
configure: failed program was:
#line 852 "configure"
#include "confdefs.h"
#include <sys/select.h>
configure:847: checking for sys/syslimits.h
configure:857: gcc -E  conftest.c >/dev/null 2>conftest.out
configure:853: sys/syslimits.h: No such file or directory
configure: failed program was:
#line 852 "configure"
#include "confdefs.h"
#include <sys/syslimits.h>
configure:847: checking for sys/filio.h
configure:857: gcc -E  conftest.c >/dev/null 2>conftest.out
configure:853: sys/filio.h: No such file or directory
configure: failed program was:
#line 852 "configure"
#include "confdefs.h"
#include <sys/filio.h>
configure:1768: gcc -o conftest -O2   conftest.c -ldir   1>&5
ld: cannot open -ldir: No such file or directory
configure: failed program was:
#line 1757 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char opendir();

int main() {
opendir()
; return 0; }
configure: In function `main':
configure:2909: warning: initialization discards `const' from pointer target type
configure:3217: gcc -o conftest -O2   conftest.c -lsocket  -lncurses  1>&5
ld: cannot open -lsocket: No such file or directory
configure: failed program was:
#line 3206 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char socket();

int main() {
socket()
; return 0; }
configure:3241: checking for socket in -linet
configure:3260: gcc -o conftest -O2   conftest.c -linet  -lncurses  1>&5
ld: cannot open -linet: No such file or directory
configure: failed program was:
#line 3249 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char socket();

int main() {
socket()
; return 0; }
configure:3284: checking for gethostname in -lnsl
configure:3303: gcc -o conftest -O2   conftest.c -lnsl  -lncurses  1>&5
ld: cannot open -lnsl: No such file or directory
configure: failed program was:
#line 3292 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char gethostname();

int main() {
gethostname()
; return 0; }
configure:3326: checking for getpwnam in -lsun
configure:3345: gcc -o conftest -O2   conftest.c -lsun  -lncurses  1>&5
ld: cannot open -lsun: No such file or directory
configure: failed program was:
#line 3334 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char getpwnam();

int main() {
getpwnam()
; return 0; }
configure:3366: checking for inet_addr in -ldgc
configure:3385: gcc -o conftest -O2   conftest.c -ldgc  -lncurses  1>&5
ld: cannot open -ldgc: No such file or directory
configure: failed program was:
#line 3374 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char inet_addr();

int main() {
inet_addr()
; return 0; }
configure:3406: checking for gethostbyname in -lresolv
configure:3425: gcc -o conftest -O2   conftest.c -lresolv  -lncurses  1>&5
ld: cannot open -lresolv: No such file or directory
configure: failed program was:
#line 3414 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char gethostbyname();

int main() {
gethostbyname()
; return 0; }
configure:3446: checking for crypt in -lcrypt
configure:3465: gcc -o conftest -O2   conftest.c -lcrypt  -lncurses  1>&5
ld: cannot open -lcrypt: No such file or directory
configure: failed program was:
#line 3454 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char crypt();

int main() {
crypt()
; return 0; }
configure:3486: checking for malloc in -lgnumalloc
configure:3505: gcc -o conftest -O2   conftest.c -lgnumalloc  -lncurses  1>&5
ld: cannot open -lgnumalloc: No such file or directory
configure: failed program was:
#line 3494 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char malloc();

int main() {
malloc()
; return 0; }
configure:3524: checking for malloc in -lbsdmalloc
configure:3543: gcc -o conftest -O2   conftest.c -lbsdmalloc  -lncurses  1>&5
ld: cannot open -lbsdmalloc: No such file or directory
configure: failed program was:
#line 3532 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
char malloc();

int main() {
malloc()
; return 0; }

-- 

.... The United States has never lost a war in which mules were used. 
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Matthew Wilcox <[email-masked]>
Date: Sun, 24 May 1998 14:54:25 +0100 (BST)

tlawton
> but it's still not working.

Umm.  can you be more precise about `set up symlinks'?  In particular,
you should have symlinks from:

/usr/include/linux to /usr/src/linux/include/linux
/usr/include/asm to /usr/src/linux/include/asm
/usr/include/scsi to /usr/src/linux/include/scsi

Configuring the kernel will set the rest of the necessary symlinks up.

-- 
Set Alias$Case Set Alias$[ |||| |MSet Alias$Otherwise Set Alias$[ \ Matthew
"" |MSet Alias$When If %0=%%0 Then Set Alias$[ "" ||MIf %0=%%0    \ Wilcox
Then Set Alias$Otherwise Set Alias$[ |||||||||||||||| ||MIf       \
%0=%%0 Then Set Alias$When Set Alias$[ ||||||||||||||||
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Sun, 24 May 1998 15:24:23 +0100 (BST)

> Below here is a selection, taken from te configure log, of the bits that

Erm, yes - that log looks correct.  What exactly is the problem?
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [email-masked]      --- ---
  | | | |  http://www.arm.uk.linux.org/~rmk/armlinux.html    /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |

---

From: Philip Blundell <[email-masked]>
Date: Sun, 24 May 1998 15:21:37 +0100

>configure: failed program was:

You're missing some system header files.  Try reinstalling the libc headers.

p.

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Sun, 24 May 1998 20:29:39 +0100 (BST)

> You're missing some system header files.  Try reinstalling the libc headers.

Not if you're using libc4.

All that this log contains is the results of the autoconf configuration script
detecting what resources the system has available, which it has detected properly.
What I'd like to know is what the real problem is.
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [email-masked]      --- ---
  | | | |  http://www.arm.uk.linux.org/~rmk/armlinux.html    /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |

---

From: James Craig <[email-masked]>
Date: Sun, 24 May 1998 22:18:22 +0100 (BST)

> What I'd like to know is what the real problem is.
Yep, I saw the log, and wondered what exactly was wrong. All those things
are *meant* to fail, they're just it finding out that things aren't
present - quite normal really.

It's nice to know I'm in good company in that belief. :)

--
James Craig <[email-masked]>
            <[email-masked]>

---

From: tlawton <[email-masked]>
Date: Sun, 24 May 1998 23:34:44 +0000

Hi,

>Erm, yes - that log looks correct.  What exactly is the problem?

 Apologies. I'd thought it was the fact it couldn't find the files that was
causing problems. Wonderfully helpful is make - give me ARM assembler and
its handy errors any day over C :)

*** I found in the dox:
  
	Linux kernel version 1.3.80 made changes to the system include
files. A small definition was removed which will cause a lot of screen
orientated programs to fail on compiling. Both ircii-2.8 and BitchX
will fail when compiling on the file alias.c with an error message about
speed_t or ospeed being undefined. Instead of hacking around this
behaviour within BitchX, edit include/defs.h and supply at the start 
of the file either one of the following for the offending error:

Solution: (ospeed)
add "extern short ospeed;"

Solution: (speed_t)
add "#define speed_t unsigned short"

 But I don't have an defs.h anywhere on the HD, except for in
/usr/src/BitchX/include/, and making these changes to that file still gives
the same trouble except the "parse error before 'ospeed" changes to the fact
that it is multiply defined.

*** (stdout and stderr combined from doing "make" in /usr/src/BitchX)

make[1]: Entering directory `/usr/src/BitchX/source'
gcc -O2    -D_VERSION_=\"BitchX\"  -I../include  -c alias.c
In file included from ../include/irc.h:88,
                 from alias.c:11:
/usr/arm-unknown-linuxaout/include/termcap.h:39: parse error before `ospeed'
/usr/arm-unknown-linuxaout/include/termcap.h:39: warning: data definition has no type or storage class
make[1]: *** [alias.o] Error 1
make[1]: Leaving directory `/usr/src/BitchX/source'
make: *** [BitchX] Error 2

Thanks for any info,

Tom

PS Can anyone tell me what is "net-pf-5" and why every time I boot up I am
told it can't be found. The system works fine so I guess it's not vital.

PPS Does the "strip" command remove debugging information from a binary and
therefore decrease its size?

PPPS Can anyone supply the mknod numbers for using hde and hdf. Before the
messing around with my system I've done, they were working but now only hda
is mentioned when the kernel boots up, and in the /dev/ directory there is
only up to hdd

-- 

.... "I'm tired." - Jussie Hammalein