Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Perl v1305670057.0.0 required" in quadmath build #14944

Closed
p5pRT opened this issue Sep 27, 2015 · 17 comments
Closed

"Perl v1305670057.0.0 required" in quadmath build #14944

p5pRT opened this issue Sep 27, 2015 · 17 comments

Comments

@p5pRT
Copy link

p5pRT commented Sep 27, 2015

Migrated from rt.perl.org#126203 (status was 'resolved')

Searchable as RT126203$

@p5pRT
Copy link
Author

p5pRT commented Sep 27, 2015

From @dcollinsn

Greetings Porters,

While attempting to build a quadmath Perl on my shiny new 64-bit Debian VM, using the following command​:

./Configure -Dusedevel -Dcc='ccache gcc' -Duselongdouble -Duse64bitall -Dusequadmath -Uman1dir -Uman3dir -des

During `make`, I had the following error when make tries to test the built miniperl​:

./miniperl -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
Perl v1305670057.0.0 required--this is only v5.23.4, stopped at dist/Exporter/lib/Exporter.pm line 3.
Compilation failed in require.
BEGIN failed--compilation aborted.
Failed to build miniperl. Please run make minitest

`make minitest` has the same errors. A build with the same ./Configure but -Uusequadmath successfully builds and tests with no failures, except for an unrelated failure in Porting/libperl.t. The build log is attached, the only remarkable warning is several instances of​:

warning​: implicit declaration of function ‘quadmath_snprintf’ [-Wimplicit-function-declaration]

The decimal number `v1305670057` does not seem to be remarkable, 0x4DD2F1A9. Valgrind reports no errors.

@p5pRT
Copy link
Author

p5pRT commented Sep 27, 2015

From @dcollinsn

dcollins@​nightshade64​:~/perldebug$ ./Configure -Dusedevel -Dcc='ccache gcc' -Duselongdouble -Duse64bitall -Dusequadmath -Uman1dir -Uman3dir -des
First let's make sure your kit is complete. Checking...
Locating common programs...
Checking compatibility between /bin/echo and builtin echo (if any)...
Symbolic links are supported.
Checking how to test for symbolic links...
You can test for symbolic links with 'test -h'.
Checking for cross-compile
No targethost for running compiler tests against defined, running locally
Good, your tr supports [​:lower​:] and [​:upper​:] to convert case.
Using [​:upper​:] and [​:lower​:] to convert case.
aix_3 dragonfly irix_4 nonstopux stellar
aix_4 dynixptx irix_5 openbsd sunos_4_0
aix dynix irix_6_0 opus sunos_4_1
altos486 epix irix_6_1 os2 super-ux
amigaos esix4 irix_6 os390 svr4
atheos fps isc_2 os400 svr5
aux_3 freebsd isc posix-bc ti1500
bitrig freemint linux-android powerux ultrix_4
bsdos genix linux qnx umips
catamount gnukfreebsd lynxos riscos unicosmk
convexos gnuknetbsd midnightbsd sco_2_3_0 unicos
cxux gnu mips sco_2_3_1 unisysdynix
cygwin greenhills mirbsd sco_2_3_2 utekv
darwin haiku mpc sco_2_3_3 uwin
dcosx hpux ncr_tower sco_2_3_4 vos
dec_osf i386 netbsd sco
dos_djgpp interix newsos4 solaris_2
Which of these apply, if any? [linux]

You appear to have ELF support. I'll try to use it for dynamic loading.
If dynamic loading doesn't work, read hints/linux.sh for further information.
Operating system name? [linux]
Operating system version? [3.16.0-4-amd64]
Installation prefix to use? (~name ok) [/usr/local]
AFS does not seem to be running...
What installation prefix should I use for installing files? (~name ok)
[/usr/local]
Getting the current patchlevel...
Build a threading Perl? [n]
Build Perl for multiplicity? [n]
Use which C compiler? [ccache gcc]
Checking for GNU cc in disguise and/or its version number...
Now, how can we feed standard input to your C preprocessor...
Directories to use for library searches?
[/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib]
What is the file extension used for shared libraries? [so]
Make shared library basenames unique? [n]
Build Perl for SOCKS? [n]
Try to use long doubles if available? [y]
Checking for optional libraries...
What libraries to use?
[-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc -lquadmath]
What optimizer/debugger flag should be used? [-O2]
Any additional cc flags?
[-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include]
Let me guess what the preprocessor flags are...
Any additional ld flags (NOT including libraries)?
[ -fstack-protector-strong -L/usr/local/lib]
Checking your choice of C compiler and flags for coherency...
Computing filename position in cpp output for #include directives...
<stdlib.h> found.
Checking to see how big your integers are...
Checking to see if you have long long...
Checking to see how big your long longs are...
<inttypes.h> found.
Checking to see if you have int64_t...
Checking which 64-bit integer type we could use...
We could use 'long' for 64-bit integers.
Try to use maximal 64-bit support, if available? [y]
Checking if your C library has broken 64-bit functions...
Checking for GNU C Library...
nm probably won't work on the GNU C Library.
Shall I use /usr/bin/nm to extract C symbols from the libraries? [n]
Checking for C++...
Checking to see how big your double precision numbers are...
<float.h> found.
Checking to see if you have long double...
ldexpl() found.
Checking to see how big your long doubles are...
Checking the kind of long doubles you have...
You have x86 80-bit little endian long doubles.
What is your architecture name [x86_64-linux]
Add the Perl API version to your archname? [n]
This architecture is naturally 64-bit, not changing architecture name.
Long doubles selected.
...setting architecture name to x86_64-linux-ld.
quadmath selected.
...and architecture name already has -quadmath.
Pathname where the public executables will reside? (~name ok)
[/usr/local/bin]
Use relocatable @​INC? [n]
Pathname where the private library files will reside? (~name ok)
[/usr/local/lib/perl5/5.23.4]
Where do you want to put the public architecture-dependent libraries? (~name ok)
[/usr/local/lib/perl5/5.23.4/x86_64-linux-ld]
Other username to test security of setuid scripts with? [none]
Well, the recommended value is *not* secure.
Does your kernel have *secure* setuid scripts? [n]
Installation prefix to use for add-on modules and utilities? (~name ok)
[/usr/local]
Pathname for the site-specific library files? (~name ok)
[/usr/local/lib/perl5/site_perl/5.23.4]
List of earlier versions to include in @​INC? [none]
<malloc/malloc.h> NOT found.
<malloc.h> found.
Checking to see how big your pointers are...
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.
Pathname for the site-specific architecture-dependent library files? (~name ok)
[/usr/local/lib/perl5/site_perl/5.23.4/x86_64-linux-ld]
Do you want to configure vendor-specific add-on directories? [n]
Colon-separated list of additional directories for perl to search? [none]
Checking out function prototypes...
Support DTrace if available? [n]
Install any extra modules (y or n)? [n]
Directory for the main Perl5 html pages? (~name ok) [none]
Directory for the Perl5 module html pages? (~name ok) [none]
Do you want to install perl as /usr/bin/perl? [n]
dlopen() found.
<unistd.h> found.
Do you wish to use dynamic loading? [y]
Source file to use for dynamic loading [ext/DynaLoader/dl_dlopen.xs]
Any special flags to pass to ccache gcc -c to compile shared library modules?
[-fPIC]
What command should be used to create dynamic libraries? [ccache gcc]
Any special flags to pass to ccache gcc to create a dynamically loaded library?
[-shared -O2 -L/usr/local/lib -fstack-protector-strong]
Any special flags to pass to ccache gcc to use dynamic linking? [-Wl,-E]
ld supports scripting
Build a shared libperl.so (y/n) [n]
System manual is in /usr/share/man/man1.
Where do the main Perl5 manual pages (source) go? (~name ok) [undef]
What suffix should be used for the main Perl5 man pages? [1]
You can have filenames longer than 14 characters.
Where do the perl5 library man pages (source) go? (~name ok) [undef]
What suffix should be used for the perl5 library man pages? [3]
Figuring out host name...
Your host name appears to be "nightshade64". Right? [y]
What is your domain name? [.(none)]
What is your e-mail address? [dcollins@​nightshade64]
Address does not look like an Internet one. Use it anyway? [y]
Perl administrator e-mail address [dcollins@​nightshade64]
Do you want to install only the version-specific parts of perl? [y]
What shall I put after the #! to start up perl ("none" to not use #!)?
[/usr/local/bin/perl5.23.4]
Where do you keep publicly executable scripts? (~name ok) [/usr/local/bin]
Pathname where the add-on public executables should be installed? (~name ok)
[/usr/local/bin]
Pathname where the site-specific html pages should be installed? (~name ok)
[none]
Pathname where the site-specific library html pages should be installed? (~name ok)
[none]
Pathname where the site-specific manual pages should be installed? (~name ok)
[undef]
Pathname where the site-specific library manual pages should be installed? (~name ok)
[undef]
Pathname where add-on public executable scripts should be installed? (~name ok)
[/usr/local/bin]
backtrace() found.
Use the "fast stdio" if available? [n]
off_t found.
Checking to see how big your file offsets are...
fpos_t found.
Checking the size of fpos_t...
Try to understand large files, if available? [y]
Rechecking to see how big your file offsets are...
Rechecking the size of fpos_t... 16 bytes.
Using <string.h> instead of <strings.h>.
qgcvt() found.
Checking the kind of doubles you have...
You have IEEE 754 64-bit little endian doubles.
Checking how to print long doubles...
Checking if your long double math functions work right...
Your long double math functions are working correctly.
qgcvt() found.
I'll use qgcvt to convert floats into a string.
fwalk() NOT found.
access() found.
<sys/file.h> defines the *_OK access constants.
accessx() NOT found.
acosh() found.
aintl() NOT found.
alarm() found.
ctime64() NOT found.
localtime64() NOT found.
gmtime64() NOT found.
mktime64() NOT found.
difftime64() NOT found.
asctime64() NOT found.
<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.
We'll include <time.h>.
We'll include <sys/time.h>.
Checking to see if your struct tm has tm_zone field...
Checking to see if your struct tm has tm_gmtoff field...
asctime_r() found.
asinh() found.
atanh() found.
atolf() NOT found.
atoll() found.
Checking whether your compiler can handle __attribute__((format)) ...
Checking whether your compiler allows __printf__ format to be null ...
Checking whether your compiler can handle __attribute__((malloc)) ...
Checking whether your compiler can handle __attribute__((nonnull(1))) ...
Checking whether your compiler can handle __attribute__((noreturn)) ...
Checking whether your compiler can handle __attribute__((pure)) ...
Checking whether your compiler can handle __attribute__((unused)) ...
Checking whether your compiler can handle __attribute__((deprecated)) ...
Checking whether your compiler can handle __attribute__((warn_unused_result)) ...
bcmp() found.
bcopy() found.
getpgrp() found.
You have to use getpgrp() instead of getpgrp(pid).
setpgrp() found.
You have to use setpgrp() instead of setpgrp(pid,pgrp).
Checking whether your compiler can handle __builtin_choose_expr ...
Checking whether your compiler can handle __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.
Checking whether your C compiler can cast negative float to unsigned.
cbrt() found.
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 sa_len in the sock struct ...
Checking the availability struct sockaddr_in6 ...
Checking the availability sin6_scope_id in struct sockaddr_in6 ...
Checking the availability struct ip_mreq ...
Checking the availability struct ip_mreq_source ...
Checking the availability struct ipv6_mreq ...
Checking the availability struct ipv6_mreq_source ...
Checking the availability of certain socket constants...
<sys/uio.h> found.
Checking to see if your system supports struct cmsghdr...
Checking to see if your C compiler knows about "const"...
copysign() found.
copysignl() found.
crypt() found.
<crypt.h> found.
crypt_r() found.
ctermid() found.
ctermid_r() NOT found.
ctime_r() found.
cuserid() found.
<limits.h> found.
DBL_DIG found.
dbmclose() 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
<sys/dir.h> found.
<sys/ndir.h> NOT found.
dirfd() found.
dladdr() found.
dlerror() found.
<dlfcn.h> found.
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.
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.
endpwent_r() NOT found.
endservent() found.
endservent_r() NOT found.
<sys/file.h> defines the O_* constants...
and you have the 3 argument form of open().
<sys/file.h> found.
We'll be including <sys/file.h>.
<fcntl.h> found.
We don't need to include <fcntl.h> if we include <sys/file.h>.
fork() found.
pipe() found.
Figuring out the flag used by open() for non-blocking I/O...
Let's see what value errno gets from read() on a O_NONBLOCK file...
erf() found.
erfc() found.
exp2() found.
expm1() found.
Checking how std your stdio is...
Checking to see what happens if we set the stdio ptr...
Increasing ptr in your stdio decreases cnt by the same amount. Good.
You seem to have 'fast stdio' to directly manipulate the stdio buffers.
fchdir() found.
fchmod() found.
fchown() found.
fcntl() found.
Well, your system has some sort of fd_set available...
and you have the normal fd_set macros.
fdim() found.
fegetround() found.
fgetpos() found.
finite() found.
finitel() found.
flock() found.
fma() found.
fmax() found.
fmin() found.
fp_class() NOT found.
<math.h> found.
Checking to see if you have fpclassify...
fp_classify() NOT found.
fp_classl() NOT found.
pathconf() found.
fpathconf() found.
fpclass() NOT found.
fpclassl() NOT found.
fpgetround() NOT found.
Checking to see if you have fpos64_t...
frexpl() found.
<sys/param.h> found.
<sys/mount.h> found.
Checking to see if your system supports struct fs_data...
fseeko() found.
fsetpos() found.
fstatfs() found.
statvfs() found.
fstatvfs() found.
fsync() found.
ftello() found.
Checking if you have a working futimes()
Yes, you have
<ndbm.h> NOT found.
<gdbm/ndbm.h> NOT found.
<gdbm-ndbm.h> NOT found.
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.
Shall I ignore gethostname() from now on? [n]
gethostbyaddr_r() found.
gethostbyname_r() found.
gethostent_r() found.
getitimer() found.
getlogin() found.
getlogin_r() found.
getmnt() NOT found.
getmntent() found.
getnameinfo() found.
getnetbyaddr() found.
getnetbyname() found.
getnetent() found.
getnetbyaddr_r() found.
getnetbyname_r() found.
getnetent_r() 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.
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.
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.
hypot() found.
ilogb() found.
ilogbl() found.
strchr() found.
inet_aton() found.
inet_ntop() found.
inet_pton() found.
isascii() found.
isblank() found.
Checking to see if you have isfinite...
isfinitel() NOT found.
Checking to see if you have isinf...
isinfl() found.
Checking to see if you have isless...
Checking to see if you have isnan...
isnanl() found.
Checking to see if you have isnormal...
j0() found.
j0l() found.
killpg() found.
localeconv() found.
lchown() found.
LDBL_DIG found.
lgamma() found.
lgamma_r() found.
Checking to see if your libm supports _LIB_VERSION...
Yes, it does (2)
link() found.
llrint() found.
llrintl() found.
llround() found.
llroundl() found.
localtime_r() found.
lockf() found.
log1p() found.
log2() found.
logb() found.
lrint() found.
lrintl() found.
lround() found.
lroundl() 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() found.
mktime() found.
<sys/mman.h> found.
mmap() found.
and it returns (void *).
sqrtl() found.
scalbnl() found.
truncl() found.
modfl() found.
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...
msync() found.
munmap() found.
nan() found.
nearbyint() found.
nextafter() found.
nexttoward() found.
nice() found.
<langinfo.h> found.
nl_langinfo() found.
<quadmath.h> found.
Checking to see if your C compiler knows about "volatile"...
Choosing the C types to be used for Perl's internal types...
Checking how many bits of your UVs your NVs can preserve...
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*256.0*256.0*256.0*256.0*256.0*256.0*256.0*256.0*256.0*256.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...
pause() found.
poll() found.
prctl() found.
readlink() found.
vfork() found.
Do you still want to use vfork()? [n]
pthread_attr_setscope() found.
Checking to see if you have ptrdiff_t...
random_r() found.
readdir() found.
seekdir() found.
telldir() found.
rewinddir() found.
readdir64_r() found.
readdir_r() found.
readv() found.
recvmsg() found.
regcomp() found.
remainder() found.
remquo() found.
rename() found.
rint() found.
rmdir() found.
round() found.
<memory.h> found.
Checking if your memcmp() can compare relative magnitude...
scalbn() 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.
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 __float128... Yes.
sigprocmask() found.
POSIX sigsetjmp found.
snprintf() found.
vsnprintf() found.
sockatmark() 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.
stat() 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...
Checking to see if your struct statfs has f_flags field...
Your compiler supports static __inline__.
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...
strerror() found.
strerror_r() found.
strftime() found.
strlcat() NOT found.
strlcpy() NOT found.
strtod() found.
strtol() found.
strtold() found.
strtoll() found.
strtoq() found.
strtoul() found.
strtoull() found.
strtouq() found.
strxfrm() found.
symlink() found.
syscall() found.
sysconf() found.
system() found.
tcgetpgrp() found.
tcsetpgrp() found.
tgamma() found.
time() found.
time_t found.
timegm() found.
<sys/times.h> found.
times() found.
clock_t found.
tmpnam_r() found.
trunc() found.
truncate() found.
ttyname_r() found.
tzname[] found.
(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() found.
closedir() found.
Checking whether closedir() returns a status...
wait4() found.
waitpid() found.
A working wcscmp() found.
wcstombs() found.
A working wcsxfrm() found.
wctomb() found.
writev() found.
Checking alignment constraints...
Doubles must be aligned on a how-many-byte boundary? [16]
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.
<db.h> NOT found.
Checking the kind of infinities and nans you have...
Checking how many mantissa bits your doubles have...
Checking how many mantissa bits your long doubles have...
Checking how many mantissa bits your NVs have...
Using our internal random number implementation...
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.
Checking the size of gid_t...
Checking the sign of gid_t...
Checking how to print 64-bit integers...
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 pointer is the second argument to getgroups() and setgroups()?
[gid_t]
Checking if your /usr/bin/make program sets $(MAKE)...
mode_t found.
It seems that va_copy() or similar will be needed.
size_t found.
What is the type for the 1st argument to gethostbyaddr? [char *]
What is the type for the 2nd argument to gethostbyaddr? [size_t]
What pager is used on your system? [/usr/bin/less -R]
pid_t found.
Checking how to generate random libraries on your machine...
<values.h> found.
Your select() operates on 64 bits at a time.
Generating a list of signal names and numbers...
Checking the size of size_t...
Checking to see if you have socklen_t...
<socks.h> NOT found.
I'll be using ssize_t for functions returning a byte count.
Checking the size of st_ino...
Checking the sign of st_ino...
Your stdio uses signed chars.
Checking the size of uid_t...
Checking the sign of uid_t...
Checking the format string to be used for uids...
Determining whether we can use sysctl with KERN_PROC_PATHNAME to find executing program...
I'm unable to compile the test program.
I'll assume no sysctl with KERN_PROC_PATHNAME here.
Determining whether we can use _NSGetExecutablePath to find executing program...
I'm unable to compile the test program.
I'll assume no _NSGetExecutablePath here.
It appears we'll be able to prototype varargs functions.
Which compiler compiler (yacc) shall I use? [yacc]
<assert.h> found.
<bfd.h> NOT found.
<execinfo.h> found.
<fenv.h> found.
<fp.h> NOT found.
<fp_class.h> NOT found.
<gdbm.h> NOT found.
<ieeefp.h> NOT found.
<libutil.h> NOT found.
<mntent.h> found.
<net/errno.h> NOT found.
<netinet/tcp.h> found.
<poll.h> found.
<prot.h> NOT found.
Guessing which symbols your C compiler and preprocessor define...
Adding -D_FORTIFY_SOURCE=2 to ccflags...
tcsetattr() found.
You have POSIX termios.h... good!
<stdbool.h> found.
<stddef.h> found.
<stdint.h> found.
<sys/access.h> NOT found.
<sys/filio.h> NOT found.
<sys/ioctl.h> found.
<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...
What extensions do you wish to load dynamically?
[arybase attributes B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/Peek Devel/PPPort Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util Math/BigInt/FastCalc MIME/Base64 mro Opcode PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog threads threads/shared Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate XS/APItest XS/Typemap]
What extensions do you wish to load statically? [none]
Stripping down executable paths...
Creating config.sh...
Doing variable substitutions on .SH files...
Extracting config.h (with variable substitutions)
cflags.SH​: Adding -std=c89.
cflags.SH​: Adding -Werror=declaration-after-statement.
cflags.SH​: Adding -Wextra.
cflags.SH​: Adding -Wc++-compat.
cflags.SH​: Adding -Wwrite-strings.
cflags.SH​: Adding -Wno-format because of usequadmath.
cflags.SH​: cc = ccache gcc
cflags.SH​: ccflags = -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2
cflags.SH​: stdflags = -std=c89
cflags.SH​: optimize = -O2
cflags.SH​: warn = -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format
Extracting cflags (with variable substitutions)
Not re-extracting config.h
Extracting makedepend (with variable substitutions)
Extracting Makefile (with variable substitutions)
Extracting myconfig (with variable substitutions)
Extracting pod/Makefile (with variable substitutions)
Extracting Policy.sh (with variable substitutions)
Extracting runtests (with variable substitutions)
Run make depend now? [y]
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format generate_uudmap.c
ccache gcc -o generate_uudmap -fstack-protector-strong -L/usr/local/lib generate_uudmap.o -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc -lquadmath
./generate_uudmap uudmap.h bitcount.h mg_data.h
sh ./makedepend MAKE="make" cflags
make[1]​: Entering directory '/home/dcollins/perldebug'
rm -f opmini.c
/bin/ln -s op.c opmini.c
rm -f perlmini.c
/bin/ln -s perl.c perlmini.c
echo av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c mro_core.c perl.c perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c sv.c taint.c toke.c util.c deb.c run.c universal.c pad.c globals.c keywords.c perlio.c perlapi.c numeric.c mathoms.c locale.c pp_pack.c pp_sort.c caretx.c dquote.c time64.c miniperlmain.c opmini.c perlmini.c | tr ' ' '\n' >.clist
make[1]​: Leaving directory '/home/dcollins/perldebug'
Finding dependencies for av.o.
Finding dependencies for scope.o.
Finding dependencies for op.o.
Finding dependencies for doop.o.
Finding dependencies for doio.o.
Finding dependencies for dump.o.
Finding dependencies for gv.o.
Finding dependencies for hv.o.
Finding dependencies for mg.o.
Finding dependencies for reentr.o.
Finding dependencies for mro_core.o.
Finding dependencies for perl.o.
Finding dependencies for perly.o.
Finding dependencies for pp.o.
Finding dependencies for pp_hot.o.
Finding dependencies for pp_ctl.o.
Finding dependencies for pp_sys.o.
Finding dependencies for regcomp.o.
Finding dependencies for regexec.o.
Finding dependencies for utf8.o.
Finding dependencies for sv.o.
Finding dependencies for taint.o.
Finding dependencies for toke.o.
Finding dependencies for util.o.
Finding dependencies for deb.o.
Finding dependencies for run.o.
Finding dependencies for universal.o.
Finding dependencies for pad.o.
Finding dependencies for globals.o.
Finding dependencies for keywords.o.
Finding dependencies for perlio.o.
Finding dependencies for perlapi.o.
Finding dependencies for numeric.o.
Finding dependencies for mathoms.o.
Finding dependencies for locale.o.
Finding dependencies for pp_pack.o.
Finding dependencies for pp_sort.o.
Finding dependencies for caretx.o.
Finding dependencies for dquote.o.
Finding dependencies for time64.o.
Finding dependencies for miniperlmain.o.
Finding dependencies for opmini.o.
Finding dependencies for perlmini.o.
Updating makefile...
Now you must run 'make'.

If you compile perl5 on a different machine or from a different object
directory, copy the Policy.sh file from this object directory to the
new one before you run Configure -- this will help you with most of
the policy defaults.

dcollins@​nightshade64​:~/perldebug$ make
echo @​`sh cflags "optimize='-O2'" perlmini.o` -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB perlmini.c
@​ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB perlmini.c
echo @​`sh cflags "optimize='-O2'" opmini.o` -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB opmini.c
@​ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB opmini.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format miniperlmain.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format gv.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format toke.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format perly.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format pad.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format regcomp.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format dump.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format util.c
util.c​: In function �Perl_my_snprintf�​:
util.c​:5106​:13​: warning​: implicit declaration of function �quadmath_snprintf� [-Wimplicit-function-declaration]
  retval = quadmath_snprintf(buffer, len, qfmt, va_arg(ap, NV));
  ^
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format mg.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format reentr.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format mro_core.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format keywords.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format hv.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format av.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format run.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format pp_hot.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format sv.c
sv.c​: In function �Perl_sv_2pv_flags�​:
sv.c​:3154​:21​: warning​: implicit declaration of function �quadmath_snprintf� [-Wimplicit-function-declaration]
  SNPRINTF_G(SvNVX(sv), s, SvLEN(sv), NV_DIG);
  ^
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format pp.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format scope.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format pp_ctl.c
pp_ctl.c​: In function �Perl_pp_formline�​:
pp_ctl.c​:842​:21​: warning​: implicit declaration of function �quadmath_snprintf� [-Wimplicit-function-declaration]
  len = quadmath_snprintf(t, max, qfmt, (int) fieldsize, (int) arg, value);
  ^
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format pp_sys.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format doop.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format doio.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format regexec.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format utf8.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format taint.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format deb.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format universal.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format globals.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format perlio.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format perlapi.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format numeric.c
numeric.c​: In function �S_my_atof_infnan�​:
numeric.c​:1296​:13​: warning​: implicit declaration of function �strtoflt128� [-Wimplicit-function-declaration]
  nv = Perl_strtod(fake, &endp);
  ^
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format mathoms.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format locale.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format pp_pack.c
pp_pack.c​: In function �S_unpack_rec�​:
pp_pack.c​:1770​:33​: warning​: passing argument 2 of �modfl� from incompatible pointer type
  cdouble = Perl_modf(cdouble / anv, &trouble);
  ^
In file included from /usr/include/math.h​:132​:0,
  from perl.h​:2100,
  from pp_pack.c​:33​:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h​:115​:20​: note​: expected �long double *� but argument is of type �NV *�
__MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2));
  ^
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format pp_sort.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format caretx.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format dquote.c
ccache gcc -c -DPERL_CORE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -Wno-format time64.c
ccache gcc -fstack-protector-strong -L/usr/local/lib -o miniperl \
  perlmini.o opmini.o miniperlmain.o gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro_core.o keywords.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o caretx.o dquote.o time64.o -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc -lquadmath
./miniperl -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
Perl v1305670057.0.0 required--this is only v5.23.4, stopped at dist/Exporter/lib/Exporter.pm line 3.
Compilation failed in require.
BEGIN failed--compilation aborted.
Failed to build miniperl. Please run make minitest
makefile​:372​: recipe for target 'lib/buildcustomize.pl' failed
make​: *** [lib/buildcustomize.pl] Error 1
dcollins@​nightshade64​:~/perldebug$

@p5pRT
Copy link
Author

p5pRT commented Sep 27, 2015

From @dcollinsn

Here is a perl -V from a not-quad-math build​:

Summary of my perl5 (revision 5 version 23 subversion 4) configuration​:
  Commit id​: 7290064
  Platform​:
  osname=linux, osvers=3.16.0-4-amd64, archname=x86_64-linux-thread-multi-ld
  uname='linux nightshade64 3.16.0-4-amd64 #1 smp debian 3.16.7-ckt11-1+deb8u4 (2015-09-19) x86_64 gnulinux '
  config_args='-Dusedevel -Dprefix=/usr/local/perl-afl -Dcc=ccache afl-gcc -Duselongdouble -Duse64bitall -Doptimize=-g -Uversiononly -Uman1dir -Uman3dir'
  hint=recommended, useposix=true, d_sigaction=define
  useithreads=define, usemultiplicity=define
  use64bitint=define, use64bitall=define, uselongdouble=define
  usemymalloc=n, bincompat5005=undef
  Compiler​:
  cc='ccache afl-gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
  optimize='-g',
  cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
  ccversion='', gccversion='4.9.2', gccosandvers=''
  intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
  d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
  ivtype='long', ivsize=8, nvtype='long double', nvsize=16, Off_t='off_t', lseeksize=8
  alignbytes=16, prototype=define
  Linker and Libraries​:
  ld='ccache afl-gcc', ldflags =' -fstack-protector-strong -L/usr/local/lib'
  libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib
  libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
  perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
  libc=libc-2.19.so, so=so, useshrplib=false, libperl=libperl.a
  gnulibc_version='2.19'
  Dynamic Linking​:
  dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
  cccdlflags='-fPIC', lddlflags='-shared -g -L/usr/local/lib -fstack-protector-strong'

Characteristics of this binary (from libperl)​:
  Compile-time options​: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
  PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV
  PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
  PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
  PERL_PRESERVE_IVUV PERL_USE_DEVEL USE_64_BIT_ALL
  USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
  USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE
  USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_LONG_DOUBLE
  USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API
  Built under linux
  Compiled at Sep 26 2015 21​:44​:11
  @​INC​:
  ../perl/lib
  /usr/local/perl-afl/lib/site_perl/5.23.4/x86_64-linux-thread-multi-ld
  /usr/local/perl-afl/lib/site_perl/5.23.4
  /usr/local/perl-afl/lib/5.23.4/x86_64-linux-thread-multi-ld
  /usr/local/perl-afl/lib/5.23.4
  .

dcollins@​nightshade64​:~/perldebug$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper
Target​: x86_64-linux-gnu
Configured with​: ../src/configure -v --with-pkgversion='Debian 4.9.2-10' --with-bugurl=file​:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --with-arch-32=i586 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model​: posix
gcc version 4.9.2 (Debian 4.9.2-10)
dcollins@​nightshade64​:~/perldebug$ ld -v
GNU ld (GNU Binutils for Debian) 2.25

@p5pRT
Copy link
Author

p5pRT commented Sep 27, 2015

From @dcollinsn

This is an error related to the interpretation of require statements. A bare scalar version :

dcollins@​nightshade64​:~/perldebug$ ./miniperl -e 'require 5.006'
Perl v1305670057.0.0 required--this is only v5.23.4, stopped at -e line 1.
dcollins@​nightshade64​:~/perldebug$ ./miniperl -e 'require v5.006'
dcollins@​nightshade64​:~/perldebug$

***With a quadmath debugging miniperl...

dcollins@​nightshade64​:~/perldebug$ ./miniperl -Dx -e 'require 5.006'
{
1 TYPE = leave ===> NULL
  TARG = 1
  FLAGS = (VOID,KIDS,PARENS,SLABBED)
  PRIVATE = (REFC)
  REFCNT = 1
  {
2 TYPE = enter ===> 3
  FLAGS = (UNKNOWN,SLABBED,MORESIB)
  }
  {
3 TYPE = nextstate ===> 4
  FLAGS = (VOID,SLABBED,MORESIB)
  LINE = 1
  PACKAGE = "main"
  SEQ = 4294967246
  }
  {
5 TYPE = require ===> 1
  FLAGS = (SCALAR,KIDS,SLABBED)
  PRIVATE = (0x1)
  {
4 TYPE = const ===> 5
  FLAGS = (SCALAR,SLABBED)
  SV = NV(1.30567e+09)
  }
  }
}

EXECUTING...

Perl v1305670057.0.0 required--this is only v5.23.4, stopped at -e line 1.

***With a notquadmath debugging miniperl...

dcollins@​nightshade64​:~/perldebug$ ./miniperl -Dx -e 'require 5.006'
{
1 TYPE = leave ===> NULL
  TARG = 1
  FLAGS = (VOID,KIDS,PARENS,SLABBED)
  PRIVATE = (REFC)
  REFCNT = 1
  {
2 TYPE = enter ===> 3
  FLAGS = (UNKNOWN,SLABBED,MORESIB)
  }
  {
3 TYPE = nextstate ===> 4
  FLAGS = (VOID,SLABBED,MORESIB)
  LINE = 1
  PACKAGE = "main"
  SEQ = 4294967246
  }
  {
5 TYPE = require ===> 1
  FLAGS = (SCALAR,KIDS,SLABBED)
  PRIVATE = (0x1)
  {
4 TYPE = const ===> 5
  FLAGS = (SCALAR,SLABBED)
  SV = NV(5.006)
  }
  }
}

EXECUTING...

@p5pRT
Copy link
Author

p5pRT commented Sep 27, 2015

From @bulk88

On Sat Sep 26 19​:25​:52 2015, dcollinsn@​gmail.com wrote​:

Greetings Porters,

While attempting to build a quadmath Perl on my shiny new 64-bit
Debian VM, using the following command​:

./Configure -Dusedevel -Dcc='ccache gcc' -Duselongdouble -Duse64bitall
-Dusequadmath -Uman1dir -Uman3dir -des

During `make`, I had the following error when make tries to test the
built miniperl​:

./miniperl -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c
'echo >&2 Failed to build miniperl. Please run make minitest; exit 1'
Perl v1305670057.0.0 required--this is only v5.23.4, stopped at
dist/Exporter/lib/Exporter.pm line 3.
Compilation failed in require.
BEGIN failed--compilation aborted.
Failed to build miniperl. Please run make minitest

`make minitest` has the same errors. A build with the same ./Configure
but -Uusequadmath successfully builds and tests with no failures,
except for an unrelated failure in Porting/libperl.t. The build log is
attached, the only remarkable warning is several instances of​:

warning​: implicit declaration of function ‘quadmath_snprintf’ [-
Wimplicit-function-declaration]

The decimal number `v1305670057` does not seem to be remarkable,
0x4DD2F1A9. Valgrind reports no errors.

Playing with this calculator, http​://babbage.cs.qc.edu/courses/cs341/IEEE-754.html

FP 5.006 as float 32 is 0x40A03126, as float 64 is 0x4014062,4DD2F1AA0 (comma inserted by me). Notice your "0x4DD2F1A9" is very close to low 4 bytes of the float 64 which are "0x4DD2F1AA0". I've seen stuff like this before when the %f is used instead of %lf in Perl_my_snprintf, and is it really 8 bytes or 10/12/16 byte floats.

--
bulk88 ~ bulk88 at hotmail.com

@p5pRT
Copy link
Author

p5pRT commented Sep 27, 2015

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Sep 27, 2015

From @mauke

Am 27.09.2015 um 07​:41 schrieb bulk88 via RT​:

Playing with this calculator, http​://babbage.cs.qc.edu/courses/cs341/IEEE-754.html

FP 5.006 as float 32 is 0x40A03126, as float 64 is 0x4014062,4DD2F1AA0
(comma inserted by me). Notice your "0x4DD2F1A9" is very close to low 4
bytes of the float 64 which are "0x4DD2F1AA0". I've seen stuff like this
before when the %f is used instead of %lf in Perl_my_snprintf, and is it
really 8 bytes or 10/12/16 byte floats.

That surprises me because at least in standard C printf there is no way
to pass floats to it (it's a vararg function).

printf %f takes a double, not float.

printf %lf had undefined behavior in C89/C90 but was made equivalent to
%f in C99.

C99 added long double, with printf format %Lf.

...

Now I'm looking at the code in util.c.

There's a potential memory leak in Perl_my_snprintf/USE_QUADMATH.
quadmath_format_single can return a malloc'd string. If
quadmath_snprintf returns -1, perl croaks without freeing qfmt.

This also applies to sv.c. And what's up with this error message?

Perl_croak_nocontext("panic​: quadmath_snprintf failed, format \"%s|'",
qfmt);

|' looks like someone messed up their shift key while typing \".

--
Lukas Mai <plokinom@​gmail.com>

@p5pRT
Copy link
Author

p5pRT commented Oct 22, 2015

From @dcollinsn

Problem persists under gcc 5.2 and current blead, see attached build log with bonus compiler warnings

@p5pRT
Copy link
Author

p5pRT commented Oct 22, 2015

From @dcollinsn

build.log

@p5pRT
Copy link
Author

p5pRT commented Apr 11, 2016

From @tonycoz

On Sat Sep 26 19​:25​:52 2015, dcollinsn@​gmail.com wrote​:

Greetings Porters,

While attempting to build a quadmath Perl on my shiny new 64-bit
Debian VM, using the following command​:

./Configure -Dusedevel -Dcc='ccache gcc' -Duselongdouble -Duse64bitall
-Dusequadmath -Uman1dir -Uman3dir -des

Build with -Duselongdouble or -Dusequadmath - not both.

Building with both confuses the build, mostly because parts of the process test quadmath first and others test longdouble first.

The attached makes Configure abort if both are provided.

I considered having one override the other - but which did the user really want?

Tony

@p5pRT
Copy link
Author

p5pRT commented Apr 11, 2016

From @tonycoz

0001-make-Configure-abort-if-both-Duselongdouble-and-Duse.patch
From 99b748044ec2674a742600a470d753a96d9b55da Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Mon, 11 Apr 2016 13:55:45 +1000
Subject: make Configure abort if both -Duselongdouble and -Dusequadmath are
 requested

See [perl #126203]
---
 Configure | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/Configure b/Configure
index 2e19e2c..69377ba 100755
--- a/Configure
+++ b/Configure
@@ -5238,6 +5238,20 @@ case "$usequadmath" in
 *)                    usequadmath="$undef"  ;;
 esac
 
+: Fail if both uselongdouble and usequadmath are requested
+case "$usequadmath:$uselongdouble" in
+define:define)
+	$cat <<EOM >&4
+
+*** You requested the use of the quadmath library and use
+*** of long doubles.
+***
+*** Please select one or the other.
+EOM
+	exit 1
+        ;;
+esac
+
 : Looking for optional libraries
 echo " "
 echo "Checking for optional libraries..." >&4
-- 
2.1.4

@p5pRT
Copy link
Author

p5pRT commented Jul 11, 2016

From @dcollinsn

I accidentally triggered this again today while debugging something else.
Any chance Tony's patch can be applied?

On Sun, Apr 10, 2016 at 11​:57 PM, Tony Cook via RT <
perlbug-followup@​perl.org> wrote​:

On Sat Sep 26 19​:25​:52 2015, dcollinsn@​gmail.com wrote​:

Greetings Porters,

While attempting to build a quadmath Perl on my shiny new 64-bit
Debian VM, using the following command​:

./Configure -Dusedevel -Dcc='ccache gcc' -Duselongdouble -Duse64bitall
-Dusequadmath -Uman1dir -Uman3dir -des

Build with -Duselongdouble or -Dusequadmath - not both.

Building with both confuses the build, mostly because parts of the process
test quadmath first and others test longdouble first.

The attached makes Configure abort if both are provided.

I considered having one override the other - but which did the user really
want?

Tony

---
via perlbug​: queue​: perl5 status​: open
https://rt-archive.perl.org/perl5/Ticket/Display.html?id=126203

From 99b748044ec2674a742600a470d753a96d9b55da Mon Sep 17 00​:00​:00 2001
From​: Tony Cook <tony@​develop-help.com>
Date​: Mon, 11 Apr 2016 13​:55​:45 +1000
Subject​: make Configure abort if both -Duselongdouble and -Dusequadmath are
requested

See [perl #126203]
---
Configure | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/Configure b/Configure
index 2e19e2c..69377ba 100755
--- a/Configure
+++ b/Configure
@​@​ -5238,6 +5238,20 @​@​ case "$usequadmath" in
*) usequadmath="$undef" ;;
esac

+​: Fail if both uselongdouble and usequadmath are requested
+case "$usequadmath​:$uselongdouble" in
+define​:define)
+ $cat <<EOM >&4
+
+*** You requested the use of the quadmath library and use
+*** of long doubles.
+***
+*** Please select one or the other.
+EOM
+ exit 1
+ ;;
+esac
+
: Looking for optional libraries
echo " "
echo "Checking for optional libraries..." >&4
--
2.1.4

@p5pRT
Copy link
Author

p5pRT commented Jul 11, 2016

From @tonycoz

On Sun Jul 10 19​:41​:48 2016, dcollinsn@​gmail.com wrote​:

I accidentally triggered this again today while debugging something
else.
Any chance Tony's patch can be applied?

Applied as a2c0610.

Leaving the ticket open for now, because of the leak also reported.

Tony

@p5pRT
Copy link
Author

p5pRT commented Feb 9, 2017

From @tonycoz

On Sun, 10 Jul 2016 21​:55​:57 -0700, tonyc wrote​:

On Sun Jul 10 19​:41​:48 2016, dcollinsn@​gmail.com wrote​:

I accidentally triggered this again today while debugging something
else.
Any chance Tony's patch can be applied?

Applied as a2c0610.

Leaving the ticket open for now, because of the leak also reported.

Fixed in fb926b4.

Tony

@p5pRT
Copy link
Author

p5pRT commented Feb 9, 2017

@tonycoz - Status changed from 'open' to 'pending release'

@p5pRT
Copy link
Author

p5pRT commented May 30, 2017

From @khwilliamson

Thank you for filing this report. You have helped make Perl better.

With the release today of Perl 5.26.0, this and 210 other issues have been
resolved.

Perl 5.26.0 may be downloaded via​:
https://metacpan.org/release/XSAWYERX/perl-5.26.0

If you find that the problem persists, feel free to reopen this ticket.

@p5pRT
Copy link
Author

p5pRT commented May 30, 2017

@khwilliamson - Status changed from 'pending release' to 'resolved'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant