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

-Dusedtrace builds on solaris fail to build perldtrace.h on time #13334

Closed
p5pRT opened this issue Oct 6, 2013 · 16 comments
Closed

-Dusedtrace builds on solaris fail to build perldtrace.h on time #13334

p5pRT opened this issue Oct 6, 2013 · 16 comments

Comments

@p5pRT
Copy link

p5pRT commented Oct 6, 2013

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

Searchable as RT120120$

@p5pRT
Copy link
Author

p5pRT commented Oct 6, 2013

From @rjbs

Created by @rjbs

When building -Dusedtrace on Solaris, make fails because perldtrace.h is needed
before it is built. If I `make perldtrace.h` by hand, the build will proceed
as normal. I'm using Sun CC and gmake.

I do not have this problem building on OS X. I will attach the full build
details.

Perl Info

Flags:
    category=core
    severity=medium

Site configuration information for perl 5.19.5:

Configured by rjbs at Sun Oct  6 09:08:59 EDT 2013.

Summary of my perl5 (revision 5 version 19 subversion 5) configuration:
  Commit id: d62e4400a62cae85d546fe1f5b0731630b537851
  Platform:
    osname=solaris, osvers=2.10, archname=i86pc-solaris
    uname='sunos lab 5.10 generic_142910-17 i86pc i386 i86pc '
    config_args='-des -Dusedevel -Dusedtrace'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=undef, usemultiplicity=undef
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=undef, use64bitall=undef, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='/opt/SUNWspro/bin/cc', ccflags ='-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV',
    optimize='-O',
    cppflags='-I/usr/local/include'
    ccversion='Sun C 5.9 SunOS_i386 2007/05/03', gccversion='', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='/opt/SUNWspro/bin/cc', ldflags =' -L/usr/lib -L/usr/ccs/lib -L/opt/SUNWspro/prod/lib -L/lib -L/usr/local/lib '
    libpth=/usr/lib /usr/ccs/lib /opt/SUNWspro/prod/lib /lib /usr/local/lib
    libs=-lsocket -lnsl -ldl -lm -lc
    perllibs=-lsocket -lnsl -ldl -lm -lc
    libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-KPIC', lddlflags='-G -L/usr/lib -L/usr/ccs/lib -L/opt/SUNWspro/prod/lib -L/lib -L/usr/local/lib'



@INC for perl 5.19.5:
    lib
    /usr/local/lib/perl5/site_perl/5.19.5/i86pc-solaris
    /usr/local/lib/perl5/site_perl/5.19.5
    /usr/local/lib/perl5/5.19.5/i86pc-solaris
    /usr/local/lib/perl5/5.19.5
    .


Environment for perl 5.19.5:
    HOME=/export/home/rjbs
    LANG=en_US.UTF-8
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/export/home/rjbs/bin:/export/home/rjbs/bin:/icg/lib/perl/site_perl/bin:/usr/pkg/lib/perl5/site_perl/bin:/usr/pkg/lib/perl5/bin:/icg/wrapper:/icg/admin/bin:/icg/bin:/icg/sbin:/usr/pkg/bin:/usr/pkg/sbin:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/games
    PERL_AUTOINSTALL=--skipdeps
    PERL_BADLANG (unset)
    SHELL=/bin/zsh

@p5pRT
Copy link
Author

p5pRT commented Oct 6, 2013

From @rjbs

build attached

--
rjbs

@p5pRT
Copy link
Author

p5pRT commented Oct 6, 2013

From @rjbs

~/tmp/perl$ ./Configure -des -Dusedevel -Dusedtrace
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'.
Using [A-Z] and [a-z] to convert case.
aix_3 dragonfly irix_5 next_4 solaris_2
aix_4 dynixptx irix_6_0 nonstopux stellar
aix dynix irix_6_1 openbsd sunos_4_0
altos486 epix irix_6 opus sunos_4_1
amigaos esix4 isc_2 os2 super-ux
atheos fps isc os390 svr4
aux_3 freebsd linux os400 svr5
bitrig genix lynxos posix-bc ti1500
bsdos gnukfreebsd midnightbsd powerux ultrix_4
catamount gnuknetbsd mips qnx umips
convexos gnu mirbsd riscos unicosmk
cxux greenhills mpc sco_2_3_0 unicos
cygwin haiku ncr_tower sco_2_3_1 unisysdynix
darwin hpux netbsd sco_2_3_2 utekv
dcosx i386 newsos4 sco_2_3_3 uwin
dec_osf interix next_3_0 sco_2_3_4 vos
dos_djgpp irix_4 next_3 sco
Which of these apply, if any? [solaris_2]

You specified no cc but you seem to have the Workshop compiler
(/opt/SUNWspro/bin/cc) installed, using that.
If you want something else, specify that in the command line,
e.g. Configure -Dcc=gcc

Operating system name? [solaris]
Operating system version? [2.10]
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? [/opt/SUNWspro/bin/cc]
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/lib /usr/ccs/lib /opt/SUNWspro/prod/lib /lib /usr/local/lib]
What is the file extension used for shared libraries? [so]
Build Perl for SOCKS? [n]
Try to use long doubles if available? [n]
Checking for optional libraries...
What libraries to use? [-lsocket -lnsl -ldl -lm -lc]
What optimizer/debugger flag should be used? [-O]
Any additional cc flags? [-I/usr/local/include]
Let me guess what the preprocessor flags are...
Any additional ld flags (NOT including libraries)?
[ -L/usr/lib -L/usr/ccs/lib -L/opt/SUNWspro/prod/lib -L/lib -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 long' for 64-bit integers.
Try to use 64-bit integers, if available? [n]
Try to use maximal 64-bit support, if available? [n]
Checking to see how big your double precision numbers are...
Checking to see if you have long double...
Checking to see how big your long doubles are...
What is your architecture name [i86pc-solaris]
Add the Perl API version to your archname? [n]
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.19.5]
Where do you want to put the public architecture-dependent libraries? (~name ok)
[/usr/local/lib/perl5/5.19.5/i86pc-solaris]
Other username to test security of setuid scripts with? [none]
Well, the recommended value *is* secure.
Does your kernel have *secure* setuid scripts? [y]
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.19.5]
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.19.5/i86pc-solaris]
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? [y]
Where is the dtrace executable? (~name ok) [/usr/sbin/dtrace]
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]
Checking for GNU C Library...
Shall I use /usr/ccs/bin/nm to extract C symbols from the libraries? [y]
Where is your C library? [/lib/libc.so]
Extracting names from the following files for later perusal​:
  /lib/libc.so
  /usr/lib/libdl.so.1
  /usr/lib/libm.so.2
  /usr/lib/libnsl.so.1
  /usr/lib/libsocket.so.1
This may take a while....done.
Checking for C++...
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 /opt/SUNWspro/bin/cc -c to compile shared library modules?
[-KPIC]
What command should be used to create dynamic libraries?
[/opt/SUNWspro/bin/cc]
Any special flags to pass to /opt/SUNWspro/bin/cc to create a dynamically loaded library?
[-G -L/usr/lib -L/usr/ccs/lib -L/opt/SUNWspro/prod/lib -L/lib -L/usr/local/lib]
Any special flags to pass to /opt/SUNWspro/bin/cc to use dynamic linking?
[none]
ld does not support 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)
[/usr/local/share/man/man1]
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)
[/usr/local/share/man/man3]
What suffix should be used for the perl5 library man pages? [3]
Figuring out host name...
Your host name appears to be "lab". Right? [y]
What is your domain name? [.pobox.com]
What is your e-mail address? [rjbs@​manxome.org]
Perl administrator e-mail address [rjbs@​manxome.org]
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.19.5]
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)
[/usr/local/share/man/man1]
Pathname where the site-specific library manual pages should be installed? (~name ok)
[/usr/local/share/man/man3]
Pathname where add-on public executable scripts should be installed? (~name ok)
[/usr/local/bin]
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... 8 bytes.
Using <string.h> instead of <strings.h>.
qgcvt() found.
Checking how to print long doubles...
gconvert() found.
I'll use gconvert to convert floats into a string.
fwalk() NOT found.
access() found.
<unistd.h> defines the *_OK access constants.
accessx() NOT 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 <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.
atolf() NOT found.
atoll() found.
Checking whether your compiler can handle __attribute__((deprecated)) ...
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.
vprintf() found.
Your vsprintf() returns (int).
chown() found.
chroot() found.
chsize() NOT found.
class() NOT found.
clearenv() NOT 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"...
copysignl() found.
crypt() found.
<crypt.h> found.
crypt_r() NOT found.
ctermid() found.
ctermid_r() found.
ctime_r() found.
cuserid() found.
<limits.h> found.
<float.h> found.
DBL_DIG found.
dbmclose() found.
<dbm.h> NOT found.
<rpcsvc/dbm.h> 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> NOT found.
<sys/ndir.h> NOT found.
dirfd() NOT 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() NOT found.
dup2() found.
eaccess() NOT 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.
<fcntl.h> defines the O_* constants...
and you have the 3 argument form of open().
<sys/file.h> found.
We won't be including <sys/file.h>.
<fcntl.h> found.
We'll be including <fcntl.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...
Checking how std your stdio is...
Checking to see what happens if we set the stdio ptr...
Increasing ptr in your stdio leaves cnt unchanged. Good.
You seem to have 'fast stdio' to directly manipulate the stdio buffers.
fchdir() found.
fchmod() found.
fchown() found.
fcntl() found.
Well, your system knows about the normal fd_set typedef...
and you have the normal fd_set macros (just as I'd expect).
fgetpos() found.
finite() found.
finitel() NOT found.
flock() NOT found.
fp_class() NOT found.
pathconf() found.
fpathconf() found.
fpclass() found.
fpclassify() NOT found.
fpclassl() 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()
No, it does not (probably harmless)
<ndbm.h> found.
<gdbm/ndbm.h> NOT found.
<gdbm-ndbm.h> NOT found.
dbm_open() found.
Checking if your <ndbm.h> uses 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.
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.
ilogbl() found.
strchr() found.
inet_aton() found.
inet_ntop() found.
inet_pton() found.
isascii() found.
isblank() found.
isfinite() NOT found.
isinf() NOT found.
isnan() found.
isnanl() found.
killpg() found.
lchown() found.
LDBL_DIG found.
<math.h> found.
Checking to see if your libm supports _LIB_VERSION...
No, it does not (probably harmless)
link() found.
localtime_r() found.
localeconv() found.
lockf() 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() NOT found.
mkfifo() found.
mkstemp() found.
mkstemps() NOT found.
mktime() found.
<sys/mman.h> found.
mmap() found.
and it returns (caddr_t).
sqrtl() found.
scalbnl() 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.
nice() found.
<langinfo.h> found.
nl_langinfo() 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*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...
pause() found.
poll() found.
prctl() NOT found.
readlink() found.
vfork() found.
Do you still want to use vfork()? [n]
pthread_attr_setscope() found.
random_r() NOT 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.
Checking if your memcmp() can compare relative magnitude...
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() NOT found.
setreuid() found.
setresuid() NOT 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> found.
Checking to see if you have signbit() available to work on double... 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() NOT found.
srandom_r() 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...
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...
You can access stdio streams by file descriptor number by the __iob array.
strcoll() found.
Checking to see if your C compiler can copy structs...
strerror() found.
strerror_r() found.
strftime() found.
strlcat() found.
strlcpy() found.
strtod() found.
strtol() found.
strtold() found.
strtoll() found.
strtoq() NOT found.
strtoul() found.
strtoull() found.
strtouq() NOT found.
strxfrm() found.
symlink() found.
syscall() found.
sysconf() found.
system() found.
tcgetpgrp() found.
tcsetpgrp() found.
time() found.
time_t found.
timegm() NOT found.
<sys/times.h> found.
times() found.
clock_t found.
tmpnam_r() found.
truncate() found.
ttyname_r() found.
tzname[] found.
(Testing for character data alignment may crash the test. That's okay.)
You can access character data pretty unalignedly.
ualarm() found.
umask() found.
unordered() found.
unsetenv() found.
usleep() found.
ustat() found.
closedir() found.
Checking whether closedir() returns a status...
wait4() found.
waitpid() found.
wcstombs() found.
wctomb() found.
writev() found.
Checking alignment constraints...
Doubles must be aligned on a how-many-byte boundary? [4]
Determining whether or not we are on an EBCDIC system...
Nope, no EBCDIC, probably ASCII or some ISO Latin. Or UTF-8.
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.
Using our internal random number implementation...
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]
Build Perl with MAD? [n]
Checking if your /icg/wrapper/make program sets $(MAKE)...
mode_t found.
It seems that you don't need va_copy().
size_t found.
What pager is used on your system? [/bin/less -R]
pid_t found.
Checking how to generate random libraries on your machine...
<values.h> found.
Sizeof time_t = 4
Your select() operates on 32 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.
What is the type for socket address structure sizes? [int]
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 unsigned 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 or bison -y) shall I use? [yacc]
<assert.h> found.
<fp.h> NOT found.
<fp_class.h> NOT found.
<gdbm.h> NOT found.
<ieeefp.h> found.
<libutil.h> NOT found.
<mntent.h> NOT 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...
tcsetattr() found.
You have POSIX termios.h... good!
<stdbool.h> NOT found.
<stddef.h> found.
<sys/access.h> NOT found.
<sys/filio.h> found.
<sys/ioctl.h> found.
You have socket ioctls defined in <sys/sockio.h>.
<syslog.h> found.
<sys/mode.h> 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 NDBM_File ODBM_File 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 Unicode/Normalize XS/APItest XS/Typemap]
What extensions do you wish to load statically? [none]
I see a config.over file. Do you wish to load it? [y]
Stripping down executable paths...
Creating config.sh...
Doing variable substitutions on .SH files...
Extracting config.h (with variable substitutions)
Extracting cflags (with variable substitutions)
Not re-extracting config.h
Extracting makedepend (with variable substitutions)
Extracting Makefile (with variable substitutions)
./Configure​: bad substitution
./Configure​: bad substitution
./Configure​: bad substitution
./Configure​: bad substitution
./Configure​: bad substitution
Extracting myconfig (with variable substitutions)
Extracting pod/Makefile (with variable substitutions)
Extracting Policy.sh (with variable substitutions)
Extracting runtests (with variable substitutions)
Extracting x2p/Makefile (with variable substitutions)
Run make depend now? [y]
sh ./makedepend MAKE=/usr/pkg/bin/gmake cflags
gmake[1]​: Entering directory `/export/home/rjbs/tmp/perl'
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.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 miniperlmain.c opmini.c perlmini.c | tr ' ' '\n' >.clist
gmake[1]​: Leaving directory `/export/home/rjbs/tmp/perl'
Finding dependencies for av.o.
Label too long​: : testcont
Finding dependencies for scope.o.
Label too long​: : testcont
Finding dependencies for op.o.
Label too long​: : testcont
Finding dependencies for doop.o.
Label too long​: : testcont
Finding dependencies for doio.o.
Label too long​: : testcont
Finding dependencies for dump.o.
Label too long​: : testcont
Finding dependencies for gv.o.
Label too long​: : testcont
Finding dependencies for hv.o.
Label too long​: : testcont
Finding dependencies for mg.o.
Label too long​: : testcont
Finding dependencies for reentr.o.
Label too long​: : testcont
Finding dependencies for mro.o.
Label too long​: : testcont
Finding dependencies for perl.o.
Label too long​: : testcont
Finding dependencies for perly.o.
Label too long​: : testcont
Finding dependencies for pp.o.
Label too long​: : testcont
Finding dependencies for pp_hot.o.
Label too long​: : testcont
Finding dependencies for pp_ctl.o.
Label too long​: : testcont
Finding dependencies for pp_sys.o.
Label too long​: : testcont
Finding dependencies for regcomp.o.
Label too long​: : testcont
Finding dependencies for regexec.o.
Label too long​: : testcont
Finding dependencies for utf8.o.
Label too long​: : testcont
Finding dependencies for sv.o.
Label too long​: : testcont
Finding dependencies for taint.o.
Label too long​: : testcont
Finding dependencies for toke.o.
Label too long​: : testcont
Finding dependencies for util.o.
Label too long​: : testcont
Finding dependencies for deb.o.
Label too long​: : testcont
Finding dependencies for run.o.
Label too long​: : testcont
Finding dependencies for universal.o.
Label too long​: : testcont
Finding dependencies for pad.o.
Label too long​: : testcont
Finding dependencies for globals.o.
Label too long​: : testcont
Finding dependencies for keywords.o.
Label too long​: : testcont
Finding dependencies for perlio.o.
Label too long​: : testcont
Finding dependencies for perlapi.o.
Label too long​: : testcont
Finding dependencies for numeric.o.
Label too long​: : testcont
Finding dependencies for mathoms.o.
Label too long​: : testcont
Finding dependencies for locale.o.
Label too long​: : testcont
Finding dependencies for pp_pack.o.
Label too long​: : testcont
Finding dependencies for pp_sort.o.
Label too long​: : testcont
Finding dependencies for miniperlmain.o.
Label too long​: : testcont
Finding dependencies for opmini.o.
Label too long​: : testcont
Finding dependencies for perlmini.o.
Label too long​: : testcont
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.

~/tmp/perl$ make
`sh cflags "optimize='-O'" perlmini.o` -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB perlmini.c
  CCCMD = /opt/SUNWspro/bin/cc -DPERL_CORE -c -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -O
"mydtrace.h", line 14​: cannot find include file​: "perldtrace.h"
"perl.c", line 563​: warning​: implicit function declaration​: PERL_PHASE_CHANGE_ENABLED
"perl.c", line 563​: warning​: implicit function declaration​: PERL_PHASE_CHANGE
cc​: acomp failed for perlmini.c
gmake​: *** [perlmini.o] Error 2
~/tmp/perl$ make perldtrace.h
/usr/sbin/dtrace -h -s perldtrace.d -o perldtrace.h.in
sed -e '/const/!s/char \*/const char */g' perldtrace.h.in >perldtrace.h
rm -f perldtrace.h.in

@p5pRT
Copy link
Author

p5pRT commented Oct 6, 2013

@rjbs - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Dec 19, 2013

From PeterCMartini@GMail.com

I hit this issue as well. One possible fix is to have the dtrace header file generated when makedepend runs, either by patching makedepend or by updating the Makefile to have 'depend' have DTRACE_H as a dependency. I've opted for the latter in the attached patch since it's such a minimal code change and already has the information as to whether dtrace is needed or not.

(Another option is to force a 'make hlist', which recurses down into DTRACE_H and generates the header file - make depend does that in some cases, but not all).

@p5pRT
Copy link
Author

p5pRT commented Dec 19, 2013

From PeterCMartini@GMail.com

0001-If-building-with-DTrace-the-dtrace-header-is-require.patch
From 9226c02fe73461709fcbaa8960b6e4467c36a056 Mon Sep 17 00:00:00 2001
From: Peter Martini <PeterCMartini@GMail.com>
Date: Thu, 19 Dec 2013 05:21:19 -0500
Subject: [PATCH] If building with DTrace, the dtrace header is required. It's
 generated and its a dependency, so make depend seems like a natural fit for
 it.

---
 Makefile.SH | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.SH b/Makefile.SH
index 7b64e71..dccd8da 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -1316,7 +1316,7 @@ done
 $spitshell >>$Makefile <<'!NO!SUBS!'

 .PHONY: depend
-depend: makedepend
+depend: makedepend $(DTRACE_H)
        sh ./makedepend MAKE=$(MAKE) cflags

 .PHONY: test check test_prep test_prep_nodll test_prep_pre \
--
1.8.0.3

@p5pRT
Copy link
Author

p5pRT commented Feb 6, 2014

From nxadm@apt-get.be

On Thu Dec 19 02​:45​:35 2013, pcm wrote​:

I hit this issue as well. One possible fix is to have the dtrace
header file generated when makedepend runs, either by patching
makedepend or by updating the Makefile to have 'depend' have DTRACE_H
as a dependency. I've opted for the latter in the attached patch
since it's such a minimal code change and already has the information
as to whether dtrace is needed or not.

(Another option is to force a 'make hlist', which recurses down into
DTRACE_H and generates the header file - make depend does that in some
cases, but not all).

I also met this problem on Solaris 10 sparc when building perl 5.18.2 (the latest stable at the time of writing). The easiest workaround I found was to run "make perldtrace.h" before the regular make run​:

perl@​perl10s [perl10s]​:~/newperl/perl-5.18.2 > make clean
perl@​perl10s [perl10s]​:~/newperl/perl-5.18.2 > echo $PATH
/export/home/perl/perl5/bin​:/usr/bin​:/usr/sbin​:/sbin​:/usr/ccs/bin​:/usr/dt/bin​:/usr/openwin/bin​:/opt/SUNWspro/bin​:/opt/bop/bin​:/opt/csw/bin​:/usr/sfw/bin​:/usr/sfw/sbin​:/opt/SUNWspro/bin
perl@​perl10s [perl10s]​:~/newperl/perl-5.18.2 > ./Configure -ders -Dusedtrace
First let's make sure your kit is complete. Checking...
[...]

perl@​perl10s [perl10s]​:~/newperl/perl-5.18.2 > make
make​: Warning​: Both `makefile' and `Makefile' exist
`sh cflags "optimize='-O'" perlmini.o` -fPIC -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB perlmini.c
  CCCMD = /usr/sfw/bin/gcc -DPERL_CORE -c -D_REENTRANT -mcpu=v9 -m64 -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -O -Wall -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wwrite-strings
In file included from cop.h​:381,
  from perl.h​:3481,
  from perl.c​:33​:
mydtrace.h​:14​:26​: perldtrace.h​: No such file or directory
perl.c​: In function `perl_destruct'​:
perl.c​:557​: warning​: implicit declaration of function `PERL_PHASE_CHANGE_ENABLED'
perl.c​:557​: warning​: implicit declaration of function `PERL_PHASE_CHANGE'
*** Error code 1
make​: Fatal error​: Command failed for target `perlmini.o'

perl@​perl10s [perl10s]​:~/newperl/perl-5.18.2 > make perldtrace.h
make​: Warning​: Both `makefile' and `Makefile' exist
/usr/sbin/dtrace -h -s perldtrace.d -o perldtrace.h.in
sed -e '/const/!s/char \*/const char */g' perldtrace.h.in >perldtrace.h
rm -f perldtrace.h.in

perl@​perl10s [perl10s]​:~/newperl/perl-5.18.2 > make
[...]

perl@​perl10s [perl10s]​:~/newperl/perl-5.18.2 > make test
[...]
All tests successful.
u=55.53 s=49.03 cu=4986.42 cs=780.16 scripts=2322 tests=685390

@p5pRT
Copy link
Author

p5pRT commented Feb 17, 2014

From @tonycoz

On Sun Oct 06 06​:19​:24 2013, rjbs wrote​:

When building -Dusedtrace on Solaris, make fails because perldtrace.h
is needed
before it is built. If I `make perldtrace.h` by hand, the build will
proceed
as normal. I'm using Sun CC and gmake.

I'm not sure why this is happening.

makedepend should be adding a dependency for mydtrace.h, which has an explicit dependency on $(DTRACE_H).

When I build on Solaris with either the system make or gmake perldtrace.h is built before it attempts to build the object file​:

tony@​nereid​:~/dev/perl/git/perl$ make perlmini.o
make​: Warning​: Both `makefile' and `Makefile' exist
/usr/sbin/dtrace -h -s perldtrace.d -o perldtrace.h.in
sed -e '/const/!s/char \*/const char */g' perldtrace.h.in >perldtrace.h
rm -f perldtrace.h.in
echo @​`sh cflags "optimize='-O'" perlmini.o` -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB perlmini.c
@​cc -c -DPERL_CORE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -O -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB perlmini.c
tony@​nereid​:~/dev/perl/git/perl$ uname -a
SunOS nereid 5.11 11.1 i86pc i386 i86pc

If I enable dependency tracing with -d, the trace shows make building perldtrace.h when it's about to check mydtrace.h​:

tony@​nereid​:~/dev/perl/git/perl$ make -d perlmini.o
MAKEFLAGS value​:
make​: Warning​: Both `makefile' and `Makefile' exist
  Building perlmini.o because it is out of date relative to perlmini.c
  Building perlmini.o because it is out of date relative to /usr/include/arpa/inet.h
...
  Building perlmini.o because it is out of date relative to mg_vtable.h
  Building perldtrace.h because it is out of date relative to perldtrace.d
/usr/sbin/dtrace -h -s perldtrace.d -o perldtrace.h.in
sed -e '/const/!s/char \*/const char */g' perldtrace.h.in >perldtrace.h
rm -f perldtrace.h.in
  Building mydtrace.h because it is out of date relative to perldtrace.h
  Building perlmini.o because it is out of date relative to mydtrace.h
  Building perlmini.o because it is out of date relative to op.h
...
  Building perlmini.o because it is out of date relative to cflags
  Building perlmini.o using suffix rule for .c.o because it is out of date relative to perlmini.c
echo @​`sh cflags "optimize='-O'" perlmini.o` -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB perlmini.c
@​cc -c -DPERL_CORE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -O -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB perlmini.c

I'm include to add this, but I wonder why this isn't building on your system.

Another difference from rjbs's output, I don't see the "Label too long" warnings from sed.

Tony

@p5pRT
Copy link
Author

p5pRT commented May 2, 2014

From nxadm@apt-get.be

Hi Tony,

tony@​nereid​:~/dev/perl/git/perl$ uname -a
SunOS nereid 5.11 11.1 i86pc i386 i86pc

I made some time to investigate further. The problem does not happen on Solaris 11. All our builds (OpenCSW) are done on Solaris 10 (the biggest Solaris install base). (Packages built on Solaris 10 are compatible with Solaris 11 and not the way around.)

That's why you can't reproduce the problem on your machine.

Another difference from rjbs's output, I don't see the "Label too
long" warnings from sed.

I think we can safely ignore this. I think rjbs is using Solaris sed and I'm using gnu's one (from OpenCSW).

I'm preparing a mail to p5p about this and the second Solaris build problem (specific for gcc amd64, a 1 line patch) hopefully in time for 5.20.

Claudio

@p5pRT
Copy link
Author

p5pRT commented Jun 4, 2014

From richard@netbsd.org

Hi, been hitting this problem as well on a few illumos systems...

The second part of the attached patchset seems to work around the dependency problem okay...

Indirect dependencies doesn't really seem to be handled in makedepend.SH so I simply tried "forcing" the issue during 'clist' in order to keep existing 'hlist' logic (which, for this case, could probably be revisited).

@p5pRT
Copy link
Author

p5pRT commented Jun 4, 2014

@p5pRT
Copy link
Author

p5pRT commented Jun 4, 2014

From [Unknown Contact. See original ticket]

Hi, been hitting this problem as well on a few illumos systems...

The second part of the attached patchset seems to work around the dependency problem okay...

Indirect dependencies doesn't really seem to be handled in makedepend.SH so I simply tried "forcing" the issue during 'clist' in order to keep existing 'hlist' logic (which, for this case, could probably be revisited).

@p5pRT
Copy link
Author

p5pRT commented Jun 23, 2014

From @tonycoz

On Wed Jun 04 08​:29​:40 2014, richard@​netbsd.org wrote​:

Hi, been hitting this problem as well on a few illumos systems...

The second part of the attached patchset seems to work around the
dependency problem okay...

Indirect dependencies doesn't really seem to be handled in
makedepend.SH so I simply tried "forcing" the issue during 'clist' in
order to keep existing 'hlist' logic (which, for this case, could
probably be revisited).

What fails without the first part of the patch?

I was planning on applying Peter's patch which is the dependency part of your patch.

Tony

@p5pRT
Copy link
Author

p5pRT commented Jul 1, 2014

From @tonycoz

On Sun Jun 22 18​:43​:53 2014, tonyc wrote​:

On Wed Jun 04 08​:29​:40 2014, richard@​netbsd.org wrote​:

Hi, been hitting this problem as well on a few illumos systems...

The second part of the attached patchset seems to work around the
dependency problem okay...

Indirect dependencies doesn't really seem to be handled in
makedepend.SH so I simply tried "forcing" the issue during 'clist' in
order to keep existing 'hlist' logic (which, for this case, could
probably be revisited).

What fails without the first part of the patch?

I was planning on applying Peter's patch which is the dependency part
of your patch.

I've applied Peter's patch as 5afb921.

I'll close this ticket in a week, unless I see a reply about the rest of your patch.

Tony

@p5pRT
Copy link
Author

p5pRT commented Jul 10, 2014

From @tonycoz

On Tue Jul 01 16​:33​:06 2014, tonyc wrote​:

On Sun Jun 22 18​:43​:53 2014, tonyc wrote​:

On Wed Jun 04 08​:29​:40 2014, richard@​netbsd.org wrote​:

Hi, been hitting this problem as well on a few illumos systems...

The second part of the attached patchset seems to work around the
dependency problem okay...

Indirect dependencies doesn't really seem to be handled in
makedepend.SH so I simply tried "forcing" the issue during 'clist'
in
order to keep existing 'hlist' logic (which, for this case, could
probably be revisited).

What fails without the first part of the patch?

I was planning on applying Peter's patch which is the dependency part
of your patch.

I've applied Peter's patch as
5afb921.

I'll close this ticket in a week, unless I see a reply about the rest
of your patch.

Closing, please open a new ticket if you have an updated patch.

Tony

@p5pRT
Copy link
Author

p5pRT commented Jul 10, 2014

@tonycoz - Status changed from 'open' to 'resolved'

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

No branches or pull requests

1 participant