PDA

View Full Version : Qualche piccola lezione di compilazione?


Redinapoli
13-07-2007, 00:23
Salve a tutti! Avrei una domandina da farvi, per i più esperti banale, ma per me una piccola soddisfazione. :D
Allora, vi riposrto l'esempio che sto tentando di effettuare a casa sul mio PC, così' da rendere più chiara la situazione.

Sto tentando di installare aMSN partendo dai sorgenti, e quindi compilare TCL e TK alla versione 8.5 e compilare anche la SVN di aMsn...

durante il configure mi esce questo risultato:

[marco@dhcppc1 unix]$ ./configure --prefix=/usr
checking whether to use symlinks for manpages... no
checking whether to compress the manpages... no
checking whether to add a package name suffix for the manpages... no
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dirent.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking values.h usability... yes
checking values.h presence... yes
checking for values.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/wait.h usability... yes
checking sys/wait.h presence... yes
checking for sys/wait.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking if the compiler understands -pipe... yes
checking for building with threads... no (default)
checking for sin... no
checking for main in -lieee... yes
checking for main in -linet... no
checking net/errno.h usability... no
checking net/errno.h presence... no
checking for net/errno.h... no
checking for connect... yes
checking for gethostbyname... yes
checking how to build libraries... shared
checking for ranlib... ranlib
checking if 64bit support is requested... no
checking if 64bit Sparc VIS support is requested... no
checking system version... Linux-2.6.18.8.tex5
checking for dlopen in -ldl... yes
checking for ar... ar
checking for build with symbols... no
checking for required early compiler flags... _LARGEFILE64_SOURCE
checking for 64-bit integer type... long long
checking for struct dirent64... no
checking for struct stat64... yes
checking for open64... yes
checking for lseek64... yes
checking for off64_t... yes
checking whether byte ordering is bigendian... no
checking for getcwd... yes
checking for opendir... yes
checking for strtol... yes
checking for strtoll... yes
checking for strtoull... yes
checking for tmpnam... yes
checking for waitpid... yes
checking for strerror... yes
checking for getwd... yes
checking for wait3... yes
checking for uname... yes
checking for realpath... yes
checking sys/modem.h usability... no
checking sys/modem.h presence... no
checking for sys/modem.h... no
checking termios vs. termio vs. sgtty... termios
checking for fd_set in sys/types... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking whether time.h and sys/time.h may both be included... yes
checking for struct tm.tm_zone... yes
checking for gmtime_r... yes
checking for localtime_r... yes
checking for mktime... yes
checking tm_tzadj in struct tm... no
checking tm_gmtoff in struct tm... yes
checking long timezone variable... yes
checking for struct stat.st_blksize... yes
checking for fstatfs... yes
checking for working memcmp... yes
checking for memmove... yes
checking for strstr... yes
checking proper strstr implementation... ok
checking for strtoul... yes
checking proper strtoul implementation... ok
checking for strtod... yes
checking proper strtod implementation... ok
checking for strtod... (cached) yes
checking for Solaris2.4/Tru64 strtod bugs... ok
checking for mode_t... yes
checking for pid_t... yes
checking for size_t... yes
checking for uid_t in sys/types.h... yes
checking for socklen_t... yes
checking for opendir... (cached) yes
checking union wait... yes
checking for strncasecmp... yes
checking for BSDgettimeofday... no
checking for gettimeofday... yes
checking for gettimeofday declaration... present
checking whether char is unsigned... no
checking signed char declarations... yes
checking for a putenv() that copies the buffer... no
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking whether to use nl_langinfo... yes
checking for chflags... no
checking for fts... no
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/filio.h usability... no
checking sys/filio.h presence... no
checking for sys/filio.h... no
checking system version... (cached) Linux-2.6.18.8.tex5
checking FIONBIO vs. O_NONBLOCK for nonblocking I/O... O_NONBLOCK
checking whether to use dll unloading... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating dltest/Makefile
config.status: creating tclConfig.sh
[marco@dhcppc1 unix]$

Ecco, la mia domanda non è sapere come installare aMsn, ma capire una cosa.....alla fine di alcune righe c'è scritto "yes", mentre su altre "no"...

in parole povere, che vuol dire?
che non è è riuscito a fare qualcosa?
oppure va tutto bene, e se qualcosa va storto me ne accorgo solo se esce un messaggio di errore alla fine? :stordita:

PS:se qualcuno se lo stesse chiedendo, stavo seguendo questa guida: http://www.freepenguin.it/tip8.html

W.S.
13-07-2007, 08:34
Lo script configure controlla che l'ambiente abbia tutte le risorse necessarie alla successiva compilazione. In pratica verifica la presenza di uno o più compilatori, di make, delle librerie, etc. e le loro versioni.

Quando c'è qualcosa di sbagliato o mancante viene visualizzato un errore.

I "no" che leggi, non sono errori, alcuni sono normali test dell'ambiente (test 64 bit, cross-compiling, etc..), altri potrebbero segnalare l'assenza di una libreria utilizzata da funzioni minori non fondamentali, in questo caso questo funzioni saranno escluse dalla compilazione quindi, se servono, è meglio installare le librerie segnalate prima di avviare la compilazione (make).

Redinapoli
13-07-2007, 11:51
Lo script configure controlla che l'ambiente abbia tutte le risorse necessarie alla successiva compilazione. In pratica verifica la presenza di uno o più compilatori, di make, delle librerie, etc. e le loro versioni.

Quando c'è qualcosa di sbagliato o mancante viene visualizzato un errore.

I "no" che leggi, non sono errori, alcuni sono normali test dell'ambiente (test 64 bit, cross-compiling, etc..), altri potrebbero segnalare l'assenza di una libreria utilizzata da funzioni minori non fondamentali, in questo caso questo funzioni saranno escluse dalla compilazione quindi, se servono, è meglio installare le librerie segnalate prima di avviare la compilazione (make).

Grazie mille, è sempre una cosa in più che ho imparato! :mano:

Una domanda, se possibile...da cosa si capisce se si tratta di librerie mancanti oppure di test dell'ambiente?
Immagino che non ci sia una regola generale, se non quella di riconoscere da soli ciascun caso, giusto?

W.S.
13-07-2007, 12:04
Immagino che non ci sia una regola generale, se non quella di riconoscere da soli ciascun caso, giusto?

Si più o meno si va ad occhio :) ovvio, se la riga dice:

checking if 64bit support is requested... no

è abbastanza semplice capire che non è un problema (se la nostra macchina è a 32 bit), in altri casi a volte è necessario documentarsi, soprattutto se si vogliono configurazioni particolari.
Comunque, la maggior parte delle volte, se non da errore va tutto bene ;)

Redinapoli
13-07-2007, 12:19
Si più o meno si va ad occhio :) ovvio, se la riga dice:

checking if 64bit support is requested... no

è abbastanza semplice capire che non è un problema (se la nostra macchina è a 32 bit), in altri casi a volte è necessario documentarsi, soprattutto se si vogliono configurazioni particolari.
Comunque, la maggior parte delle volte, se non da errore va tutto bene ;)

Grazie ancora, sei stato gentilissimo :) :)