# I dont know how to install software... :(



## zakka (Mar 7, 2009)

Hi, I installed FreeBSD and did minimum install.

after install I noticed that I need distributions / ports and games.
after that I tryed to install Screen

so what I did:
downloaded http://ftp.gnu.org/gnu/screen/screen-4.0.3.tar.gz

gunzip'ed and tar'ed to same dir, everything seem to be well

told 'sh ./configure'
and everything was well (at least I didn't see anything weird)

then I edited Makefile:
DESTDIR = ./daa

(I did that dir earlier to my home dir)

and then just commanded 'make'


then I got ~20 screens of "warning: incompatible implicit declaration of built-in function" 'module name'

And I don't have any idea what to try next

But I don't see any errors there, just warnings. But still it wont compile it.



I think ppl know error without pasting full log so I'll just paste some last lines of errors:

...
layer.c: In function 'LMsg':
layer.c:1097: warning: incompatible implicit declaration of built-in function 'strlen'
layer.c:1100: warning: incompatible implicit declaration of built-in function 'strncpy'
layer.c:1100: warning: passing argument 2 of 'strncpy' makes pointer from integer without a cast
gcc -c -I. -I.    -g -O2 sched.c
gcc -c -I. -I.    -g -O2 teln.c
gcc -c -I. -I.    -g -O2 nethack.c
gcc -c -I. -I.    -g -O2 encoding.c
encoding.c: In function 'LoadFontTranslation':
encoding.c:1567: warning: incompatible implicit declaration of built-in function 'strlen'
gcc  -o screen screen.o ansi.o fileio.o mark.o misc.o resize.o socket.o  search.o tty.o term.o window.o utmp.o loadav.o putenv.o help.o  termcap.o input.o attacher.o pty.o process.o display.o comm.o  kmapdef.o acls.o braille.o braille_tsi.o logfile.o layer.o  sched.o teln.o nethack.o encoding.o -lcurses  -lutil -lutil -lcrypt


----------



## Mel_Flynn (Mar 7, 2009)

The handbook covers this extensively.

General advice: when new to OS, go with the standard install, you go minimum once you're comfy.


----------



## DutchDaemon (Mar 7, 2009)

You don't have to download tarballs and compile them by hand. Well, you do, but there's a mechanism that will take care of it: the Ports tree.

Start reading the Handbook, especially Chapter 4.

(or: what Mel said)


----------



## zakka (Mar 7, 2009)

Thanks for link mel & dutch, had missed that book and it seem to be good one too.



			
				Mel_Flynn said:
			
		

> General advice: when new to OS, go with the standard install, you go minimum once you're comfy.



Well, maybe... I have tried linux/unix sometimes now (first one was when Intel released mmx 200) but every time I have done full install, and it has worked well... and because I still need windows I haven't had enough interest for extra OS just for surfing in net.

But now I plan to try different route and just try to get it working at all, Tho I was hoping I could have run programs from sources, but looks like it was bit too challenging, maybe later that part.

(Tho, I'll admit that I'm cheating bit, I took easy route and used installer, didn't even had to setup nic's, everything was nice automatic


----------



## DutchDaemon (Mar 7, 2009)

Note that Ports *are* sources; they're only adapted to and sometimes patched for FreeBSD (ports are ported, you see). You'll compile them, so you control the options and flags. One of the most outstanding advantages to ports (all 19,000+ of them) is that _all_ of them have _all_ of their dependencies in the Ports tree, so you'll never have to scour the net for that missing lib.


----------



## Mel_Flynn (Mar 7, 2009)

Plus ports are patched to work with FreeBSD. Like strlen being in <string.h>.


```
$ ls /usr/ports/sysutils/screen/files/
CVS                             patch-doc_Makefile.in
opt-cjkwidth                    patch-os.h
opt-hostinlocked                patch-osdef.h.in
opt-showencoding                patch-pty.c
patch-Makefile.in               patch-resize.c
patch-aa                        patch-screen.h
patch-ab                        patch-terminfo::checktc.c
patch-ad                        patch-tty.sh
patch-af                        patch-utmp.c
patch-ansi.c

$ grep string.h /usr/ports/sysutils/screen/files/*
/usr/ports/sysutils/screen/files/patch-screen.h:+#include <string.h>
```


----------

