Documente Academic
Documente Profesional
Documente Cultură
This installation shell script will examine your system and ask you questions
to determine how the perl5 package should be installed. If you get
stuck on a question, you may use a ! shell escape to start a subshell or
execute a command. Many of the questions will have default answers in square
brackets; typing carriage return will give you the default.
On some of the questions which ask for file or directory names you are allowed
to use the ~name construct to specify the login directory belonging to "name",
even if you don't have a shell which knows about that. Questions where this is
allowed will be marked "(~name ok)".
[Type carriage return to continue]
The prompter used in this script allows you to use shell variables and
backticks in your answers. You may use $1, $2, etc... to refer to the words
in the default answer, as if the default line was a set of arguments given to a
script shell. This means you may also use $* to repeat the whole default line,
so you do not have to re-type everything to add something to the default.
Everytime there is a substitution, you will have to confirm. If there is an
error (e.g. an unmatched backtick), the default answer will remain unchanged
and you will be prompted again.
If you are in a hurry, you may run 'Configure -d'. This will bypass nearly all
the questions and use the computed defaults (or the previous answers if there
was already a config.sh file). Type 'Configure -h' for a list of options.
You may also start interactively and then answer '& -d' at any prompt to turn
on the non-interactive behaviour for the remainder of the execution.
[Type carriage return to continue]
Much effort has been expended to ensure that this shell script will run on any
Unix system. If despite that it blows up on yours, your best bet is to edit
Configure and run it again. If you can't run Configure for some reason,
you'll have to generate a config.sh file by hand. Whatever problems you
have, let me (perlbug@perl.org) know how I blew it.
This installation script affects things in two ways:
1) it may do direct variable substitutions on some of the files included
in this kit.
2) it builds a config.h file for inclusion in C programs. You may edit
any of these files as the need arises after running this script.
If you make a mistake on a question, there is no easy way to back up to it
currently. The easiest thing to do is to edit config.sh and rerun all the SH
files. Configure will offer to let you do this before it runs the SH files.
[Type carriage return to continue]
Locating common programs...
awk is in /bin/awk.
cat is in /bin/cat.
chmod is in /bin/chmod.
comm is in /usr/bin/comm.
cp is in /bin/cp.
echo is in /bin/echo.
expr is in /usr/bin/expr.
grep is in /bin/grep.
ls is in /bin/ls.
mkdir is in /bin/mkdir.
rm is in /bin/rm.
sed is in /bin/sed.
sort is in /bin/sort.
touch is in /bin/touch.
tr is in /usr/bin/tr.
uniq is in /usr/bin/uniq.
Don't worry if any of the following aren't found...
ar is in /usr/bin/ar.
bison is in /usr/bin/bison.
byacc is in /usr/bin/byacc.
cpp is in /usr/bin/cpp.
csh is in /bin/csh.
date is in /bin/date.
egrep is in /bin/egrep.
gmake is in /usr/bin/gmake.
gzip is in /bin/gzip.
less is in /usr/bin/less.
ln is in /bin/ln.
make is in /usr/bin/make.
more is in /bin/more.
nm is in /usr/bin/nm.
nroff is in /usr/bin/nroff.
I don't see pg out there, offhand.
test is in /usr/bin/test.
uname is in /bin/uname.
zip is in /usr/bin/zip.
Substituting less -R for less.
Using the test built into your sh.
Checking compatibility between /bin/echo and builtin echo (if any)...
They are compatible. In fact, they may be identical.
The following message is sponsored by
Dresden.pm<--The stars should be here.
Dear Perl user, system administrator or package
maintainer, the Perl community sends greetings to
you. Do you (emblematical) greet back [Y/n]? n
Do you wish to wrap malloc calls to protect against potential overflows? [y]
Do you wish to attempt to use the malloc that comes with perl5? [n]
Your system wants malloc to return 'void *', it would seem.
Your system uses void free(), it would seem.
The installation process will also create a directory for
architecture-dependent site-specific extensions and modules.
Pathname for the site-specific architecture-dependent library files? (~name ok)
[/home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2/x86_64-linux]
bcmp() found.
bcopy() found.
getpgrp() found.
Checking to see which flavor of getpgrp is in use...
You have to use getpgrp() instead of getpgrp(pid).
setpgrp() found.
Checking to see which flavor of setpgrp is in use...
You have to use setpgrp() instead of setpgrp(pid,pgrp).
Checking whether your compiler can handle __builtin_choose_expr ...
All good!
Your C compiler supports __builtin_choose_expr.
Checking whether your compiler can handle __builtin_expect ...
Your C compiler supports __builtin_expect.
bzero() found.
<stdarg.h> found.
<varargs.h> found.
We'll include <stdarg.h> to get va_dcl definition.
You have <stdarg.h> and <stdlib.h>, so checking for C99 variadic macros.
You have C99 variadic macros.
You have void (*signal())().
Checking whether your C compiler can cast large floats to int32.
Nope, it can't.
Checking whether your C compiler can cast negative float to unsigned.
Yup, it can.
vprintf() found.
Your vsprintf() returns (int).
chown() found.
chroot() found.
chsize() NOT found.
class() NOT found.
clearenv() found.
Hmm... Looks like you have Berkeley networking support.
socketpair() found.
Checking the availability of certain socket constants...
<sys/uio.h> found.
crypt() found.
<crypt.h> found.
crypt_r() found.
ctermid() found.
ctermid_r() NOT found.
ctime_r() found.
cuserid() found.
<limits.h> found.
<float.h> found.
DBL_DIG found.
dbmclose() found.
<dbm.h> NOT found.
<rpcsvc/dbm.h> NOT found.
dbminit() prototype NOT found.
difftime() found.
<dirent.h> found.
Your directory entries are struct dirent.
Your directory entry does not know about the d_namlen field.
Checking to see if DIR has a dd_fd member variable
No, it does not.
<sys/dir.h> found.
<sys/ndir.h> NOT found.
dirfd() found.
dlerror() found.
<dlfcn.h> found.
On a few systems, the dynamically loaded modules that perl generates and uses
will need a different extension than shared libs. The default will probably
be appropriate.
What is the extension of dynamically loaded modules [so]
Checking whether your dlsym() needs a leading underscore ...
dlsym doesn't need a leading underscore.
drand48_r() found.
drand48() prototype found.
dup2() found.
eaccess() found.
endgrent() found.
<grp.h> found.
endgrent_r() NOT found.
endhostent() found.
<netdb.h> found.
endhostent_r() NOT found.
endnetent() found.
endnetent_r() NOT found.
endprotoent() found.
endprotoent_r() NOT found.
endpwent() found.
<pwd.h> found.
getpagesize() found.
getprotobyname() found.
getprotobynumber() found.
getprotoent() found.
getpgid() found.
getpgrp2() NOT found.
getppid() found.
getpriority() found.
getprotobyname_r() found.
getprotobynumber_r() found.
getprotoent_r() found.
<netinet/in.h> found.
<arpa/inet.h> found.
htonl() found.
ilogbl() found.
strchr() found.
inet_aton() found.
inet_ntop() found.
inet_pton() found.
isascii() found.
isfinite() NOT found.
isinf() found.
isnan() found.
isnanl() found.
killpg() found.
lchown() found.
LDBL_DIG found.
<math.h> found.
Checking to see if your libm supports _LIB_VERSION...
Yes, it does (2)
link() found.
localtime_r() found.
localeconv() found.
lockf() found.
lseek() prototype found.
lstat() found.
madvise() found.
malloc_size() NOT found.
malloc_good_size() NOT found.
mblen() found.
mbstowcs() found.
mbtowc() found.
memchr() found.
memcmp() found.
memcpy() found.
memmove() found.
memset() found.
mkdir() found.
mkdtemp() found.
mkfifo() found.
mkstemp() found.
mkstemps() NOT found.
mktime() found.
<sys/mman.h> found.
mmap() found.
and it returns (void *).
sqrtl() found.
scalbnl() found.
modfl() found.
modfl() prototype found.
Checking to see whether your modfl() is okay for large values...
Your modfl() seems okay for large values.
mprotect() found.
msgctl() found.
msgget() found.
msgsnd() found.
msgrcv() found.
You have the full msg*(2) library.
Checking to see if your system supports struct msghdr...
Yes, it does.
msync() found.
munmap() found.
nice() found.
<langinfo.h> found.
nl_langinfo() found.
Checking to see if your C compiler knows about "volatile"...
Yup, it does.
Choosing the C types to be used for Perl's internal types...
(IV will be long, 8 bytes)
(UV will be unsigned long, 8 bytes)
(NV will be double, 8 bytes)
Checking how many bits of your UVs your NVs can preserve...
Your NVs can preserve only 53 bits of your UVs.
Checking to find the largest integer value your NVs can hold...
The largest integer your NVs can preserve is equal to 256.0*256.0*256.0*256.0*25
6.0*256.0*2.0*2.0*2.0*2.0*2.0
Checking whether NV 0.0 is all bits zero in memory...
0.0 is represented as all bits zero in memory
Checking to see if you have off64_t...
You do not have off64_t.
(Your off_t is 64 bits, so you could use that.)
pause() found.
poll() found.
readlink() found.
You have Linux-like /proc/self/exe.
vfork() found.
Perl can only use a vfork() that doesn't suffer from strict
restrictions on calling functions or modifying global data in
the child. For example, glibc-2.1 contains such a vfork()
that is unsuitable. If your system provides a proper fork()
call, chances are that you do NOT want perl to use vfork().
Do you still want to use vfork()? [n]
Ok, we won't use vfork().
pthread_attr_setscope() found.
random_r() found.
readdir() found.
seekdir() found.
telldir() found.
rewinddir() found.
readdir64_r() found.
readdir_r() found.
readv() found.
recvmsg() found.
rename() found.
rmdir() found.
<memory.h> found.
We won't be including <memory.h>.
I'll use memmove() instead of bcopy() for overlapping copies.
I'll use memmove() instead of memcpy() for overlapping copies.
Checking if your memcmp() can compare relative magnitude...
Yes, it can.
sbrk() prototype found.
select() found.
semctl() found.
semget() found.
semop() found.
You have the full sem*(2) library.
You do not have union semun in <sys/sem.h>.
You can use union semun for semctl IPC_STAT.
You can also use struct semid_ds* for semctl IPC_STAT.
sendmsg() found.
setegid() found.
seteuid() found.
setgrent() found.
setgrent_r() NOT found.
sethostent() found.
sethostent_r() NOT found.
setitimer() found.
setlinebuf() found.
setlocale() found.
<locale.h> found.
setlocale_r() NOT found.
setnetent() found.
setreuid() found.
setresuid() found.
setrgid() NOT found.
setruid() NOT found.
setservent() found.
setservent_r() NOT found.
setsid() found.
setvbuf() found.
<sfio.h> NOT found.
shmctl() found.
shmget() found.
shmat() found.
and it returns (void *).
shmdt() found.
You have the full shm*(2) library.
sigaction() found.
<sunmath.h> NOT found.
Checking to see if you have signbit() available to work on double... Yes.
sigprocmask() found.
POSIX sigsetjmp found.
snprintf() found.
vsnprintf() found.
Checking whether your snprintf() and vsnprintf() work okay...
Your snprintf() and vsnprintf() seem to be working okay.
sockatmark() found.
sockatmark() prototype found.
socks5_init() NOT found.
Checking whether sprintf returns the length of the string...
sprintf returns the length of the string (as ANSI says it should)
srand48_r() found.
srandom_r() found.
setresgid() prototype NOT found.
setresuid() prototype NOT found.
<sys/stat.h> found.
Checking to see if your struct stat has st_blocks field...
<sys/vfs.h> found.
<sys/statfs.h> found.
Checking to see if your system supports struct statfs...
Yes, it does.
Checking to see if your struct statfs has f_flags field...
No, it doesn't.
Checking how to access stdio streams by file descriptor number...
I can't figure out how to access stdio streams by file descriptor number.
strcoll() found.
Checking to see if your C compiler can copy structs...
Yup, it can.
strerror() found.
(You also have sys_errlist[], so we could roll our own strerror.)
strerror_r() found.
strftime() found.
strlcat() NOT found.
strlcpy() NOT found.
strtod() found.
strtol() found.
strtold() found.
strtoll() found.
Checking whether your strtoll() works okay...
Your strtoll() seems to be working okay.
strtoq() found.
strtoul() found.
Checking whether your strtoul() works okay...
Your strtoul() seems to be working okay.
strtoull() found.
Checking whether your strtoull() works okay...
Your strtoull() seems to be working okay.
strtouq() found.
Checking whether your strtouq() works okay...
Your strtouq() seems to be working okay.
strxfrm() found.
symlink() found.
syscall() found.
syscall() prototype found.
sysconf() found.
system() found.
tcgetpgrp() found.
tcsetpgrp() found.
telldir() prototype found.
time() found.
Looking for the type returned by time() on this system.
time_t found.
timegm() found.
<sys/times.h> found.
times() found.
Looking for the type returned by times() on this system.
clock_t found.
tmpnam_r() found.
truncate() found.
ttyname_r() found.
tzname[] found.
In the following, larger digits indicate more significance. A big-endian
machine like a Pyramid or a Motorola 680?0 chip will come out to 4321. A
little-endian machine like a Vax or an Intel 80?86 chip would be 1234. Other
machines may have weird orders like 3412. A Cray will report 87654321,
an Alpha will report 12345678. If the test program works the default is
probably right.
I'm now running the test program...
(The test program ran ok.)
byteorder=12345678
Checking to see whether you can access character data unalignedly...
(Testing for character data alignment may crash the test. That's okay.)
It seems that you must access character data in an aligned manner.
ualarm() found.
umask() found.
unordered() NOT found.
unsetenv() found.
usleep() found.
<ustat.h> found.
<utime.h> found.
Looking for extensions...
A number of extensions are supplied with perl5. You may choose to
compile these extensions for dynamic loading (the default), compile
them into the perl5 executable (static loading), or not include
them at all. Answer "none" to include no extensions.
Note that DynaLoader is always built and need not be mentioned here.
What extensions do you wish to load dynamically?
[attributes B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper DB_File Devel
/DProf Devel/Peek Devel/PPPort Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filt
er/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV L
ist/Util Math/BigInt/FastCalc MIME/Base64 mro NDBM_File Opcode PerlIO/encoding P
erlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Sysl
og Text/Soundex threads threads/shared Time/HiRes Time/Piece Unicode/Normalize X
S/APItest XS/APItest/KeywordRPN XS/Typemap]
What extensions do you wish to load statically? [none]
<sys/select.h> found.
Testing to see if we should include <time.h>, <sys/time.h> or both.
I'm now running the test program......
Succeeded with -DI_TIME -DI_SYSTIME -DS_TIMEVAL
We'll include <time.h>.
We'll include <sys/time.h>.
Checking to see if your struct tm has tm_zone field...
Yes, it does.
Checking to see if your struct tm has tm_gmtoff field...
Yes, it does.
asctime_r() found.
atolf() NOT found.
atoll() found.
Checking whether your compiler can handle __attribute__((format)) ...
Your C compiler supports __attribute__((format)).
crypt() found.
<crypt.h> found.
crypt_r() found.
ctermid() found.
ctermid_r() NOT found.
ctime_r() found.
cuserid() found.
<limits.h> found.
<float.h> found.
DBL_DIG found.
dbmclose() found.
<dbm.h> NOT found.
<rpcsvc/dbm.h> NOT found.
fchdir() found.
fchmod() found.
fchown() found.
fcntl() found.
Checking if fcntl-based file locking works...
Yes, it seems to work.
Checking to see how well your C compiler handles fd_set and friends ...
Hmm, your compiler has some difficulty with fd_set. Checking further...
Well, your system has some sort of fd_set available...
and you have the normal fd_set macros.
fgetpos() found.
finite() found.
finitel() found.
flock() found.
flock() prototype found.
fp_class() NOT found.
pathconf() found.
fpathconf() found.
fpclass() NOT found.
fpclassify() NOT found.
fpclassl() NOT found.
Checking to see if you have fpos64_t...
You do not have fpos64_t.
frexpl() found.
<sys/param.h> found.
<sys/mount.h> found.
Checking to see if your system supports struct fs_data...
No, it doesn't.
fseeko() found.
(Your long is 64 bits, so you could use fseek.)
fsetpos() found.
fstatfs() found.
statvfs() found.
fstatvfs() found.
fsync() found.
ftello() found.
(Your long is 64 bits, so you could use ftell.)
Checking if you have a working futimes()
Yes, you have
<ndbm.h> NOT found.
<gdbm/ndbm.h> found.
<gdbm-ndbm.h> NOT found.
dbm_open() found.
Checking if your <gdbm/ndbm.h> uses prototypes...
Your <gdbm/ndbm.h> does not seem to have prototypes
getaddrinfo() found.
getcwd() found.
getservbyport() found.
getservent() found.
getservbyname_r() found.
getservbyport_r() found.
getservent_r() found.
getservent() prototype found.
getspnam() found.
<shadow.h> found.
getspnam_r() found.
gettimeofday() found.
gmtime_r() found.
hasmntopt() found.
<netinet/in.h> found.
<arpa/inet.h> found.
htonl() found.
ilogbl() found.
strchr() found.
inet_aton() found.
inet_ntop() found.
inet_pton() found.
isascii() found.
isfinite() NOT found.
isinf() found.
isnan() found.
isnanl() found.
killpg() found.
lchown() found.
LDBL_DIG found.
<math.h> found.
Checking to see if your libm supports _LIB_VERSION...
Yes, it does (2)
link() found.
localtime_r() found.
localeconv() found.
lockf() found.
lseek() prototype found.
lstat() found.
madvise() found.
malloc_size() NOT found.
malloc_good_size() NOT found.
mblen() found.
mbstowcs() found.
mbtowc() found.
memchr() found.
memcmp() found.
memcpy() found.
memmove() found.
memset() found.
mkdir() found.
mkdtemp() found.
mkfifo() found.
mkstemp() found.
mkstemps() NOT found.
mktime() found.
<sys/mman.h> found.
mmap() found.
and it returns (void *).
sqrtl() found.
scalbnl() found.
modfl() found.
modfl() prototype found.
Checking to see whether your modfl() is okay for large values...
Your modfl() seems okay for large values.
mprotect() found.
msgctl() found.
msgget() found.
msgsnd() found.
msgrcv() found.
You have the full msg*(2) library.
Checking to see if your system supports struct msghdr...
Yes, it does.
msync() found.
munmap() found.
nice() found.
<langinfo.h> found.
nl_langinfo() found.
Checking to see if your C compiler knows about "volatile"...
Yup, it does.
Choosing the C types to be used for Perl's internal types...
(IV will be long, 8 bytes)
(UV will be unsigned long, 8 bytes)
(NV will be double, 8 bytes)
Checking how many bits of your UVs your NVs can preserve...
Your NVs can preserve only 53 bits of your UVs.
Checking to find the largest integer value your NVs can hold...
The largest integer your NVs can preserve is equal to 256.0*256.0*256.0*256.0*25
6.0*256.0*2.0*2.0*2.0*2.0*2.0
Checking whether NV 0.0 is all bits zero in memory...
0.0 is represented as all bits zero in memory
Checking to see if you have off64_t...
You do not have off64_t.
(Your off_t is 64 bits, so you could use that.)
pause() found.
poll() found.
readlink() found.
You have Linux-like /proc/self/exe.
vfork() found.
Perl can only use a vfork() that doesn't suffer from strict
restrictions on calling functions or modifying global data in
the child. For example, glibc-2.1 contains such a vfork()
that is unsuitable. If your system provides a proper fork()
call, chances are that you do NOT want perl to use vfork().
Do you still want to use vfork()? [n]
Ok, we won't use vfork().
pthread_attr_setscope() found.
random_r() found.
readdir() found.
seekdir() found.
telldir() found.
rewinddir() found.
readdir64_r() found.
readdir_r() found.
readv() found.
recvmsg() found.
rename() found.
rmdir() found.
<memory.h> found.
We won't be including <memory.h>.
I'll use memmove() instead of bcopy() for overlapping copies.
I'll use memmove() instead of memcpy() for overlapping copies.
Checking if your memcmp() can compare relative magnitude...
Yes, it can.
sbrk() prototype found.
select() found.
semctl() found.
semget() found.
semop() found.
You have the full sem*(2) library.
You do not have union semun in <sys/sem.h>.
You can use union semun for semctl IPC_STAT.
You can also use struct semid_ds* for semctl IPC_STAT.
sendmsg() found.
setegid() found.
seteuid() found.
setgrent() found.
setgrent_r() NOT found.
sethostent() found.
sethostent_r() NOT found.
setitimer() found.
setlinebuf() found.
setlocale() found.
<locale.h> found.
setlocale_r() NOT found.
setnetent() found.
setnetent_r() NOT found.
setprotoent() found.
setpgid() found.
setpgrp2() NOT found.
setpriority() found.
setproctitle() NOT found.
setprotoent_r() NOT found.
setpwent() found.
setpwent_r() NOT found.
setregid() found.
setresgid() found.
setreuid() found.
setresuid() found.
setrgid() NOT found.
setruid() NOT found.
setservent() found.
setservent_r() NOT found.
setsid() found.
setvbuf() found.
<sfio.h> NOT found.
shmctl() found.
shmget() found.
shmat() found.
and it returns (void *).
shmdt() found.
You have the full shm*(2) library.
sigaction() found.
<sunmath.h> NOT found.
Checking to see if you have signbit() available to work on double... Yes.
sigprocmask() found.
strtold() found.
strtoll() found.
Checking whether your strtoll() works okay...
Your strtoll() seems to be working okay.
strtoq() found.
strtoul() found.
Checking whether your strtoul() works okay...
Your strtoul() seems to be working okay.
strtoull() found.
Checking whether your strtoull() works okay...
Your strtoull() seems to be working okay.
strtouq() found.
Checking whether your strtouq() works okay...
Your strtouq() seems to be working okay.
strxfrm() found.
symlink() found.
syscall() found.
syscall() prototype found.
sysconf() found.
system() found.
tcgetpgrp() found.
tcsetpgrp() found.
telldir() prototype found.
time() found.
Looking for the type returned by time() on this system.
time_t found.
timegm() found.
<sys/times.h> found.
times() found.
Looking for the type returned by times() on this system.
clock_t found.
tmpnam_r() found.
truncate() found.
ttyname_r() found.
tzname[] found.
wcstombs() found.
wctomb() found.
writev() found.
Checking alignment constraints...
Doubles must be aligned on a how-many-byte boundary? [8]
Checking to see how big your characters are (hey, you never know)...
What is the size of a character (in bytes)? [1]
Checking how long a character is (in bits)...
What is the length of a character (in bits)? [8]
Checking to see how your cpp does stuff like concatenate tokens...
Oh! Smells like ANSI's been here.
We can catify or stringify, separately or together!
<db.h> found.
Checking Berkeley DB version ...
You have Berkeley DB Version 2 or greater.
db.h is from Berkeley DB Version 4.3.29
libdb is from Berkeley DB Version 4.3.29
db.h and libdb are compatible.
Looks OK.
Checking return type needed for hash for Berkeley DB ...
Your version of Berkeley DB uses u_int32_t for hash.
Checking return type needed for prefix for Berkeley DB ...
Your version of Berkeley DB uses size_t for prefix.
Looking for a random number function...
Good, found drand48().
Use which function to generate random numbers? [drand48]
Determining whether or not we are on an EBCDIC system...
Nope, no EBCDIC, probably ASCII or some ISO Latin. Or UTF-8.
Checking how to flush all pending stdio output...
Your fflush(NULL) works okay for output streams.
Let's see if it clobbers input pipes...
fflush(NULL) seems to behave okay with input streams.
Looking for the type for group ids returned by getgid().
gid_t found.
Checking the size of gid_t...
Your gid_t is 4 bytes long.
Checking the sign of gid_t...
Your gid_t is unsigned.
Checking how to print 64-bit integers...
We will use %ld.
Checking the format strings to be used for Perl's internal types...
Looking for the type used for file modes for system calls (e.g. fchmod()).
mode_t found.
It seems that va_copy() or similar will be needed.
Looking for the type used for the length parameter for string functions.
size_t found.
Checking to see what type of arguments are accepted by gethostbyaddr().
What is the type for the 1st argument to gethostbyaddr? [char *]
What is the type for the 2nd argument to gethostbyaddr? [size_t]
Checking to see what type of argument is accepted by gethostbyname().
Your system accepts const char *.
Checking to see what type of 1st argument is accepted by getnetbyaddr().
Your system accepts in_addr_t.
What pager is used on your system? [/bin/less -R]
File /bin/less -R doesn't exist. Use that name anyway? [y]
Looking for the type of process ids on this system.
pid_t found.
Checking how to generate random libraries on your machine...
/bin/ar appears to generate random libraries itself.
<values.h> found.
Checking max offsets that gmtime () accepts
Sizeof time_t = 8
Checking max offsets that localtime () accepts
Checking to see what type of arguments are accepted by select().
Your system accepts fd_set *.
Checking to see on how many bits at a time your select() operates...
Your select() operates on 64 bits at a time.
<sys/wait.h> found.
<ustat.h> found.
<utime.h> found.
Looking for extensions...
A number of extensions are supplied with perl5. You may choose to
compile these extensions for dynamic loading (the default), compile
them into the perl5 executable (static loading), or not include
them at all. Answer "none" to include no extensions.
Note that DynaLoader is always built and need not be mentioned here.
What extensions do you wish to load dynamically?
[attributes B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper DB_File Devel
/DProf Devel/Peek Devel/PPPort Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filt
er/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV L
ist/Util Math/BigInt/FastCalc MIME/Base64 mro NDBM_File Opcode PerlIO/encoding P
erlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Sysl
og Text/Soundex threads threads/shared Time/HiRes Time/Piece Unicode/Normalize X
S/APItest XS/APItest/KeywordRPN XS/Typemap]
What extensions do you wish to load statically? [none]
<pthread.h> found.
<sys/types.h> found.
<sys/select.h> found.
Testing to see if we should include <time.h>, <sys/time.h> or both.
I'm now running the test program......
Succeeded with -DI_TIME -DI_SYSTIME -DS_TIMEVAL
We'll include <time.h>.
We'll include <sys/time.h>.
Checking to see if your struct tm has tm_zone field...
Yes, it does.
Checking to see if your struct tm has tm_gmtoff field...
Yes, it does.
asctime_r() found.
atolf() NOT found.
atoll() found.
Checking whether your compiler can handle __attribute__((format)) ...
Your C compiler supports __attribute__((format)).
Checking whether your compiler allows __printf__ format to be null ...
Your C compiler doesn't allow __printf__ format to be null.
Checking whether your compiler can handle __attribute__((malloc)) ...
Your C compiler supports __attribute__((malloc)).
Checking whether your compiler can handle __attribute__((nonnull(1))) ...
Your C compiler supports __attribute__((nonnull)).
Checking whether your compiler can handle __attribute__((noreturn)) ...
Your C compiler supports __attribute__((noreturn)).
Checking whether your compiler can handle __attribute__((pure)) ...
Your C compiler supports __attribute__((pure)).
Checking whether your compiler can handle __attribute__((unused)) ...
Your C compiler supports __attribute__((unused)).
Checking whether your compiler can handle __attribute__((deprecated)) ...
Your C compiler supports __attribute__((deprecated)).
Checking whether your compiler can handle __attribute__((warn_unused_result)) ..
.
Your C compiler supports __attribute__((warn_unused_result)).
bcmp() found.
bcopy() found.
getpgrp() found.
Checking to see which flavor of getpgrp is in use...
You have to use getpgrp() instead of getpgrp(pid).
setpgrp() found.
Checking to see which flavor of setpgrp is in use...
You have to use setpgrp() instead of setpgrp(pid,pgrp).
Checking whether your compiler can handle __builtin_choose_expr ...
All good!
Your C compiler supports __builtin_choose_expr.
Checking whether your compiler can handle __builtin_expect ...
Your C compiler supports __builtin_expect.
bzero() found.
<stdarg.h> found.
<varargs.h> found.
We'll include <stdarg.h> to get va_dcl definition.
You have <stdarg.h> and <stdlib.h>, so checking for C99 variadic macros.
You have C99 variadic macros.
crypt() found.
<crypt.h> found.
crypt_r() found.
ctermid() found.
ctermid_r() NOT found.
ctime_r() found.
cuserid() found.
<limits.h> found.
<float.h> found.
DBL_DIG found.
dbmclose() found.
finite() found.
finitel() found.
flock() found.
flock() prototype found.
fp_class() NOT found.
pathconf() found.
fpathconf() found.
fpclass() NOT found.
fpclassify() NOT found.
fpclassl() NOT found.
Checking to see if you have fpos64_t...
You do not have fpos64_t.
frexpl() found.
<sys/param.h> found.
<sys/mount.h> found.
Checking to see if your system supports struct fs_data...
No, it doesn't.
fseeko() found.
(Your long is 64 bits, so you could use fseek.)
fsetpos() found.
fstatfs() found.
statvfs() found.
fstatvfs() found.
fsync() found.
ftello() found.
(Your long is 64 bits, so you could use ftell.)
Checking if you have a working futimes()
Yes, you have
<ndbm.h> NOT found.
<gdbm/ndbm.h> found.
<gdbm-ndbm.h> NOT found.
dbm_open() found.
Checking if your <gdbm/ndbm.h> uses prototypes...
Your <gdbm/ndbm.h> does not seem to have prototypes
getaddrinfo() found.
getcwd() found.
getespwnam() NOT found.
getfsstat() NOT found.
getgrent() found.
getgrent_r() found.
getgrgid_r() found.
getgrnam_r() found.
gethostbyaddr() found.
gethostbyname() found.
gethostent() found.
gethostname() found.
uname() found.
Every now and then someone has a gethostname() that lies about the hostname
but can't be fixed for political or economic reasons. If you wish, I can
pretend gethostname() isn't there and maybe compute hostname at run-time
thanks to the 'hostname' command.
Shall I ignore gethostname() from now on? [n]
gethostbyaddr_r() found.
gethostbyname_r() found.
gethostent_r() found.
getnetbyname_r() found.
getnetent_r() found.
getnetent() prototype found.
getpagesize() found.
getprotobyname() found.
getprotobynumber() found.
getprotoent() found.
getpgid() found.
getpgrp2() NOT found.
getppid() found.
getpriority() found.
getprotobyname_r() found.
getprotobynumber_r() found.
getprotoent_r() found.
getprotoent() prototype found.
getprpwnam() NOT found.
getpwent() found.
getpwent_r() found.
getpwnam_r() found.
getpwuid_r() found.
getservbyname() found.
getservbyport() found.
getservent() found.
getservbyname_r() found.
getservbyport_r() found.
getservent_r() found.
getservent() prototype found.
getspnam() found.
<shadow.h> found.
getspnam_r() found.
gettimeofday() found.
gmtime_r() found.
hasmntopt() found.
<netinet/in.h> found.
<arpa/inet.h> found.
htonl() found.
ilogbl() found.
strchr() found.
inet_aton() found.
inet_ntop() found.
inet_pton() found.
isascii() found.
isfinite() NOT found.
isinf() found.
isnan() found.
isnanl() found.
killpg() found.
lchown() found.
LDBL_DIG found.
<math.h> found.
Checking to see if your libm supports _LIB_VERSION...
Yes, it does (2)
link() found.
localtime_r() found.
localeconv() found.
lockf() found.
lseek() prototype found.
lstat() found.
madvise() found.
malloc_size() NOT found.
modfl() found.
modfl() prototype found.
Checking to see whether your modfl() is okay for large values...
Your modfl() seems okay for large values.
mprotect() found.
msgctl() found.
msgget() found.
msgsnd() found.
msgrcv() found.
You have the full msg*(2) library.
Checking to see if your system supports struct msghdr...
Yes, it does.
msync() found.
munmap() found.
nice() found.
<langinfo.h> found.
nl_langinfo() found.
Checking to see if your C compiler knows about "volatile"...
Yup, it does.
Choosing the C types to be used for Perl's internal types...
(IV will be long, 8 bytes)
(UV will be unsigned long, 8 bytes)
(NV will be double, 8 bytes)
Checking how many bits of your UVs your NVs can preserve...
Your NVs can preserve only 53 bits of your UVs.
Checking to find the largest integer value your NVs can hold...
The largest integer your NVs can preserve is equal to 256.0*256.0*256.0*256.0*25
6.0*256.0*2.0*2.0*2.0*2.0*2.0
Checking whether NV 0.0 is all bits zero in memory...
0.0 is represented as all bits zero in memory
Checking to see if you have off64_t...
You do not have off64_t.
(Your off_t is 64 bits, so you could use that.)
pause() found.
poll() found.
readlink() found.
You have Linux-like /proc/self/exe.
vfork() found.
Perl can only use a vfork() that doesn't suffer from strict
restrictions on calling functions or modifying global data in
the child. For example, glibc-2.1 contains such a vfork()
that is unsuitable. If your system provides a proper fork()
call, chances are that you do NOT want perl to use vfork().
Do you still want to use vfork()? [n]
Ok, we won't use vfork().
pthread_attr_setscope() found.
random_r() found.
readdir() found.
seekdir() found.
telldir() found.
rewinddir() found.
readdir64_r() found.
readdir_r() found.
readv() found.
recvmsg() found.
rename() found.
rmdir() found.
<memory.h> found.
We won't be including <memory.h>.
I'll use memmove() instead of bcopy() for overlapping copies.
I'll use memmove() instead of memcpy() for overlapping copies.
Checking if your memcmp() can compare relative magnitude...
Yes, it can.
sbrk() prototype found.
select() found.
semctl() found.
semget() found.
semop() found.
You have the full sem*(2) library.
You do not have union semun in <sys/sem.h>.
<locale.h> found.
setlocale_r() NOT found.
setnetent() found.
setnetent_r() NOT found.
setprotoent() found.
setpgid() found.
setpgrp2() NOT found.
setpriority() found.
setproctitle() NOT found.
setprotoent_r() NOT found.
setpwent() found.
setpwent_r() NOT found.
setregid() found.
setresgid() found.
setreuid() found.
setresuid() found.
setrgid() NOT found.
setruid() NOT found.
setservent() found.
strtod() found.
strtol() found.
strtold() found.
strtoll() found.
Checking whether your strtoll() works okay...
Your strtoll() seems to be working okay.
strtoq() found.
strtoul() found.
Checking whether your strtoul() works okay...
Your strtoul() seems to be working okay.
strtoull() found.
Checking whether your strtoull() works okay...
Your strtoull() seems to be working okay.
strtouq() found.
Checking whether your strtouq() works okay...
Your strtouq() seems to be working okay.
strxfrm() found.
symlink() found.
syscall() found.
syscall() prototype found.
sysconf() found.
system() found.
tcgetpgrp() found.
tcsetpgrp() found.
telldir() prototype found.
time() found.
Looking for the type returned by time() on this system.
time_t found.
timegm() found.
<sys/times.h> found.
times() found.
Looking for the type returned by times() on this system.
clock_t found.
tmpnam_r() found.
truncate() found.
ttyname_r() found.
tzname[] found.
In the following, larger digits indicate more significance. A big-endian
machine like a Pyramid or a Motorola 680?0 chip will come out to 4321. A
little-endian machine like a Vax or an Intel 80?86 chip would be 1234. Other
machines may have weird orders like 3412. A Cray will report 87654321,
an Alpha will report 12345678. If the test program works the default is
probably right.
I'm now running the test program...
(The test program ran ok.)
byteorder=12345678
Checking to see whether you can access character data unalignedly...
(Testing for character data alignment may crash the test. That's okay.)
It seems that you must access character data in an aligned manner.
ualarm() found.
umask() found.
unordered() NOT found.
unsetenv() found.
usleep() found.
usleep() prototype found.
ustat() found.
closedir() found.
Checking whether closedir() returns a status...
Yes, it does.
wait4() found.
waitpid() found.
wcstombs() found.
wctomb() found.
writev() found.
Checking alignment constraints...
Doubles must be aligned on a how-many-byte boundary? [8]
Checking to see how big your characters are (hey, you never know)...
What is the size of a character (in bytes)? [1]
Checking how long a character is (in bits)...
What is the length of a character (in bits)? [8]
Checking to see how your cpp does stuff like concatenate tokens...
Oh! Smells like ANSI's been here.
We can catify or stringify, separately or together!
<db.h> found.
Checking Berkeley DB version ...
You have Berkeley DB Version 2 or greater.
db.h is from Berkeley DB Version 4.3.29
libdb is from Berkeley DB Version 4.3.29
db.h and libdb are compatible.
Looks OK.
Checking return type needed for hash for Berkeley DB ...
Your version of Berkeley DB uses u_int32_t for hash.
Checking return type needed for prefix for Berkeley DB ...
Your version of Berkeley DB uses size_t for prefix.
Looking for a random number function...
Good, found drand48().
Use which function to generate random numbers? [drand48]
Determining whether or not we are on an EBCDIC system...
Nope, no EBCDIC, probably ASCII or some ISO Latin. Or UTF-8.
Checking how to flush all pending stdio output...
Your fflush(NULL) works okay for output streams.
Let's see if it clobbers input pipes...
fflush(NULL) seems to behave okay with input streams.
Looking for the type for group ids returned by getgid().
gid_t found.
Checking the size of gid_t...
Your gid_t is 4 bytes long.
Checking the sign of gid_t...
Your gid_t is unsigned.
Checking how to print 64-bit integers...
We will use %ld.
Checking the format strings to be used for Perl's internal types...
Checking the format string to be used for gids...
getgroups() found.
setgroups() found.
What type of pointer is the second argument to getgroups() and setgroups()?
Usually this is the same as group ids, gid_t, but not always.
What type pointer is the second argument to getgroups() and setgroups()?
[gid_t]
Would you like to build with Misc Attribute Decoration? This is development
work leading to a Perl 5 to Perl 6 convertor, which imposes a space and speed
overhead on the interpreter.
If this doesn't make any sense to you, just accept the default 'n'.
Build Perl with MAD? [n]
<stddef.h> found.
<sys/access.h> NOT found.
<sys/filio.h> NOT found.
<sys/ioctl.h> found.
<sys/sockio.h> not found, assuming socket ioctls are in <sys/ioctl.h>.
<syslog.h> found.
<sys/mode.h> NOT found.
<sys/poll.h> found.
<sys/resource.h> found.
<sys/security.h> NOT found.
<sys/statvfs.h> found.
<sys/un.h> found.
<sys/utsname.h> found.
<sys/wait.h> found.
<ustat.h> found.
<utime.h> found.
Looking for extensions...
A number of extensions are supplied with perl5. You may choose to
compile these extensions for dynamic loading (the default), compile
them into the perl5 executable (static loading), or not include
them at all. Answer "none" to include no extensions.
Note that DynaLoader is always built and need not be mentioned here.
What extensions do you wish to load dynamically?
[attributes B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper DB_File Devel
/DProf Devel/Peek Devel/PPPort Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filt
er/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV L
ist/Util Math/BigInt/FastCalc MIME/Base64 mro NDBM_File Opcode PerlIO/encoding P
erlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Sysl
og Text/Soundex threads threads/shared Time/HiRes Time/Piece Unicode/Normalize X
S/APItest XS/APItest/KeywordRPN XS/Typemap]
What extensions do you wish to load statically? [none]