FairRootGroup / FairSoft

Repository for installation routines of the external software required by FairRoot
GNU Lesser General Public License v3.0
16 stars 61 forks source link

openssl installation fails #242

Closed dennisklein closed 4 years ago

dennisklein commented 4 years ago

Reported by @TobiasStockmanns via email on 11.5.:

"I have a problem installing FairSoft via spack. I am using the dev-branch of FairSoft. Spack installs version 5.30 of perl which is required in the next step for openssl. But for the installation of openssl it finds the system version of perl which is 5.28."

log:

Installing perl
==> Searching for binary cache of perl
==> Warning: No Spack mirrors are currently configured
==> No binary for perl found: installing from source
==> Warning: microarchitecture specific optimizations are not supported yet on mixed compiler toolchains [check clang@10.0.1-apple for further details]
==> Fetching http://www.cpan.org/src/5.0/perl-5.30.0.tar.gz
###################################################################################################################################### 100.0%
==> Fetching http://search.cpan.org/CPAN/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7042.tar.gz
###################################################################################################################################### 100.0%
==> Staging archive: /var/folders/_1/1x665w457cgdjljzc_t7_l5m0000gn/T/tstockmanns/spack-stage/spack-stage-perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/perl-5.30.0.tar.gz
==> Created stage in /var/folders/_1/1x665w457cgdjljzc_t7_l5m0000gn/T/tstockmanns/spack-stage/spack-stage-perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo
==> Staging archive: /var/folders/_1/1x665w457cgdjljzc_t7_l5m0000gn/T/tstockmanns/spack-stage/resource-cpanm-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/App-cpanminus-1.7042.tar.gz
==> Created stage in /var/folders/_1/1x665w457cgdjljzc_t7_l5m0000gn/T/tstockmanns/spack-stage/resource-cpanm-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo
==> Moving resource stage
source : /var/folders/_1/1x665w457cgdjljzc_t7_l5m0000gn/T/tstockmanns/spack-stage/resource-cpanm-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/spack-src/
destination : /var/folders/_1/1x665w457cgdjljzc_t7_l5m0000gn/T/tstockmanns/spack-stage/spack-stage-perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/spack-src/cpanm/cpanm
==> No patches needed for perl
==> Building perl [Package]
==> Executing phase: 'install'
==> [2020-05-11-19:51:49.829756] './config' '--prefix=/Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/openssl-1.1.1d-sqjt65twk7lr5g2xksiicjtl3sayolsk' '--openssldir=/Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/openssl-1.1.1d-sqjt65twk7lr5g2xksiicjtl3sayolsk/etc/openssl' '-I/Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/zlib-1.2.11-nqnlnxddpa4qfz5cnf4grnct57ds25ks/include' '-L/Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/zlib-1.2.11-nqnlnxddpa4qfz5cnf4grnct57ds25ks/lib' 'zlib' 'shared'
Operating system: x86_64-apple-darwinDarwin Kernel Version 18.7.0: Mon Feb 10 21:08:45 PST 2020; root:xnu-4903.278.28~1/RELEASE_X86_64
./Configure: Perl lib version (5.30.0) doesn't match executable '/opt/local/bin/perl5.28' version (5.28.2) at /Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/lib/5.30.0/darwin-thread-multi-2level/Config.pm line 62.
Compilation failed in require at ./Configure line 14.
BEGIN failed--compilation aborted at ./Configure line 14.
./Configure: Perl lib version (5.30.0) doesn't match executable '/opt/local/bin/perl5.28' version (5.28.2) at /Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/lib/5.30.0/darwin-thread-multi-2level/Config.pm line 62.
Compilation failed in require at ./Configure line 14.
BEGIN failed--compilation aborted at ./Configure line 14.
This system (darwin64-x86_64-cc) is not supported. See file INSTALL for details.
...skipping…
ChristianTackeGSI commented 4 years ago

This is confusing.

dennisklein commented 4 years ago

@ChristianTackeGSI Maybe this is worth a try https://github.com/spack/spack/commit/cacfc3a6e1c79520087455a0831a567ad6fb3486?

TobiasStockmanns commented 4 years ago

Renaming the file /opt/local/bin/perl5.28 so that it is not found by the compiler solved the problem. Nevertheless I think that this conflict of versions should not show up when you use spack.

dennisklein commented 4 years ago

Nevertheless I think that this conflict of versions should not show up when you use spack.

I agree.

Since we cannot reproduce the issue yet on our 10.14 build machine, I would need your help to determine whether the problem is within the spack perl package or with the upstream perl build system. Can you please run - in a new shell with no spack environments loaded - the following:

env
wget http://www.cpan.org/src/5.0/perl-5.30.0.tar.gz
tar xzf perl-5.30.0.tar.gz
cd perl-5.30.0
./Configure -des -Dprefix=./install -Duseshrplib -Dusethreads

and post the output of both the

commands here pls, thx!

TobiasStockmanns commented 4 years ago

Output from env:

Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.QJ8BvtP19S/Render
COLORFGBG=15;0
ITERM_PROFILE=Default
XPC_FLAGS=0x0
LANG=de_DE.UTF-8
PWD=/Users/tstockmanns
SHELL=/usr/local/bin/zsh
TERM_PROGRAM_VERSION=3.3.9
TERM_PROGRAM=iTerm.app
PATH=/Users/tstockmanns/miniconda3/condabin:/usr/local/opt/expat/bin:/Users/tstockmanns/bin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/X11/bin
DISPLAY=/private/tmp/com.apple.launchd.7bmHK2vKdH/org.macosforge.xquartz:0
LC_TERMINAL=iTerm2
COLORTERM=truecolor
TERM=xterm-256color
HOME=/Users/tstockmanns
TMPDIR=/var/folders/_1/1x665w457cgdjljzc_t7_l5m0000gn/T/
USER=tstockmanns
XPC_SERVICE_NAME=0
LOGNAME=tstockmanns
__CF_USER_TEXT_ENCODING=0x0:0:3
ITERM_SESSION_ID=w1t0p0:23C348F9-3D6E-4717-B377-CEF1D58FEADF
SHLVL=1
OLDPWD=/Users/tstockmanns/temp/perl-5.30.0
ZSH=/Users/tstockmanns/.oh-my-zsh
SIMPATH=/Users/tstockmanns/PandaSoftware/FairSoft/dev/build
FAIRROOTPATH=/Users/tstockmanns/PandaSoftware/FairRoot/dev/install
OPENSSL_ROOT_DIR=/usr/local/Cellar/openssl@1.1/1.1.1f
OPENSSL_INCLUDE_DIR=/usr/local/Cellar/openssl@1.1/1.1.1f/include/openssl
PAGER=less
LESS=-R
LSCOLORS=Gxfxcxdxbxegedabagacad
CONDA_EXE=/Users/tstockmanns/miniconda3/bin/conda
_CE_M=
_CE_CONDA=
CONDA_PYTHON_EXE=/Users/tstockmanns/miniconda3/bin/python
CONDA_SHLVL=0
LC_CTYPE=en_US.UTF-8
_=/usr/bin/env`

Output from ./Configure

./Configure -des -Dprefix=./install -Duseshrplib -Dusethreads
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             greenhills          os400
aix_3           haiku           posix-bc
aix_4           hpux            qnx
altos486        i386            riscos
amigaos         interix         sco
atheos          irix_4          sco_2_3_0
aux_3           irix_5          sco_2_3_1
bitrig          irix_6          sco_2_3_2
bsdos           irix_6_0        sco_2_3_3
catamount           irix_6_1        sco_2_3_4
convexos        isc             solaris_2
cxux            isc_2           stellar
cygwin          linux-android       sunos_4_0
darwin          linux           sunos_4_1
dcosx           lynxos          super-ux
dec_osf         midnightbsd         svr4
dos_djgpp           minix           svr5
dragonfly           mips            ti1500
dynix           mirbsd          ultrix_4
dynixptx        mpc             umips
epix            ncr_tower           unicos
esix4           netbsd          unicosmk
fps             newsos4         unisysdynix
freebsd         nonstopux           utekv
freemint        openbsd         uwin
gnu             opus            vos
gnukfreebsd         os2
gnuknetbsd          os390
Which of these apply, if any? [darwin]
Adding -mmacosx-version-min=10.14 to ccflags
Adding -mmacosx-version-min=10.14 to ldflags
Operating system name? [darwin]
Operating system version? [18.7.0]
Installation prefix to use? (~name ok) [./install]
Directory ./install doesn't exist.  Use that name anyway? [y]
AFS does not seem to be running...
What installation prefix should I use for installing files? (~name ok)
[./install]
Directory ./install doesn't exist.  Use that name anyway? [y]
Getting the current patchlevel...
Build a threading Perl? [y]
Use which C compiler? [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/local/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.1/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib /opt/local/lib /usr/lib]
What is the file extension used for shared libraries? [dylib]
Make shared library basenames unique? [n]
Build Perl for SOCKS? [n]
Try to use long doubles if available? [n]
Checking for optional libraries...
What libraries to use? [-lpthread -lgdbm -ldbm -ldl -lm -lutil -lc]
What optimizer/debugger flag should be used? [-O3]
Any additional cc flags?
[-fno-common -DPERL_DARWIN -mmacosx-version-min=10.14 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -I/opt/local/include]
Let me guess what the preprocessor flags are...
Any additional ld flags (NOT including libraries)?
[ -mmacosx-version-min=10.14 -fstack-protector-strong -L/usr/local/lib -L/opt/local/lib]
Checking your choice of C compiler and flags for coherency...
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...
Computing filename position in cpp output for #include directives...
<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...
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...
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 [darwin]
Add the Perl API version to your archname? [n]
Threads selected.
...setting architecture name to darwin-thread.
Multiplicity selected.
...setting architecture name to darwin-thread-multi.
This architecture is naturally 64-bit, not changing architecture name.
Pathname where the public executables will reside? (~name ok)
[./install/bin]
Directory ./install/bin doesn't exist.  Use that name anyway? [y]
Use relocatable @INC? [n]
Pathname where the private library files will reside? (~name ok)
[./install/lib/perl5/5.30.0]
Where do you want to put the public architecture-dependent libraries? (~name ok)
[./install/lib/perl5/5.30.0/darwin-thread-multi-2level]
Other username to test security of setuid scripts with? [none]
I'll assume setuid scripts are *not* secure.
Does your kernel have *secure* setuid scripts? [n]
Installation prefix to use for add-on modules and utilities? (~name ok)
[./install]
Pathname for the site-specific library files? (~name ok)
[./install/lib/perl5/site_perl/5.30.0]
List of earlier versions to include in @INC? [none]
<malloc/malloc.h> found.
<malloc.h> NOT 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)
[./install/lib/perl5/site_perl/5.30.0/darwin-thread-multi-2level]
Do you want to configure vendor-specific add-on directories? [n]
Colon-separated list of additional directories for perl to search? [none]
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 cc -c to compile shared library modules? [none]
What command should be used to create dynamic libraries? [cc]
Any special flags to pass to cc to create a dynamically loaded library?
[ -mmacosx-version-min=10.14 -bundle -undefined dynamic_lookup -L/usr/local/lib -L/opt/local/lib -fstack-protector-strong]
Any special flags to pass to cc to use dynamic linking? [none]
Build a shared libperl.dylib (y/n) [y]
What name do you want to give to the shared libperl? [libperl.dylib]
System manual is in /usr/share/man/man1.
Where do the main Perl5 manual pages (source) go? (~name ok)
[./install/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)
[./install/man/man3]
What suffix should be used for the perl5 library man pages? [3]
Figuring out host name...
Your host name appears to be "Tobiass-MBP-3.fritz.box". Right? [y]
What is your domain name? [.fritz.box]
What is your e-mail address? [tstockmanns@tobiass-mbp-3.fritz.box]
Perl administrator e-mail address [tstockmanns@tobiass-mbp-3.fritz.box]
Do you want to use a version number suffix for installed binaries? [n]
What shall I put after the #! to start up perl ("none" to not use #!)?
[./install/bin/perl]
Where do you keep publicly executable scripts? (~name ok) [./install/bin]
Directory ./install/bin doesn't exist.  Use that name anyway? [y]
Pathname where the add-on public executables should be installed? (~name ok)
[./install/bin]
Directory ./install/bin doesn't exist.  Use that name anyway? [y]
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)
[./install/man/man1]
Pathname where the site-specific library manual pages should be installed? (~name ok)
[./install/man/man3]
Pathname where add-on public executable scripts should be installed? (~name ok)
[./install/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...
qgcvt() NOT found.
Checking the kind of doubles you have...
You have IEEE 754 64-bit little endian doubles.
Checking how to print long doubles...
gconvert NOT found.
gcvt() found.
sprintf() found.
I'll use sprintf to convert floats into a string.
fwalk() NOT found.
accept4() 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 <sys/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)) ...
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_add_overflow ...
Checking whether your compiler can handle __builtin_sub_overflow ...
Checking whether your compiler can handle __builtin_mul_overflow ...
Checking whether your compiler can handle __builtin_choose_expr ...
Checking whether your compiler can handle __builtin_expect ...
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.
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...
copysign() found.
copysignl() found.
crypt() found.
<crypt.h> NOT found.
crypt_r() NOT found.
ctermid() found.
ctermid_r() found.
ctime_r() found.
cuserid() NOT found.
dbmclose() NOT found.
difftime() found.
<dirent.h> found.
Your directory entries are struct dirent.
Good, your directory entry keeps length information in d_namlen.
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 [bundle]
Checking whether your dlsym() needs a leading underscore ...
dlsym doesn't need a leading underscore.
drand48_r() NOT found.
dup2() found.
dup3() NOT found.
<xlocale.h> found.
newlocale() found.
freelocale() found.
uselocale() found.
duplocale() found.
querylocale() 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.
<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 leaves cnt unchanged.  Good.
You seem to have 'fast stdio' to directly manipulate the stdio buffers.
fchdir() found.
fchmod() found.
openat() found.
unlinkat() found.
renameat() found.
linkat() found.
fchmodat() 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).
fdclose() NOT found.
fdim() found.
fegetround() found.
fgetpos() found.
finite() found.
Hmm.  Based on the hints in hints/darwin.sh,
the recommended value for $d_finite on this machine was "undef"!
    Keep the recommended value? [y]
finitel() NOT found.
flock() found.
fma() found.
fmax() found.
fmin() found.
fp_class() NOT 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
A working gai_strerror() found.
<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() found.
getgrent() found.
getgrent_r() NOT 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() NOT found.
gethostbyname_r() NOT found.
gethostent_r() NOT found.
getitimer() found.
getlogin() found.
getlogin_r() found.
getmnt() NOT found.
getmntent() NOT found.
getnameinfo() found.
getnetbyaddr() found.
getnetbyname() found.
getnetent() found.
getnetbyaddr_r() NOT found.
getnetbyname_r() NOT found.
getnetent_r() NOT found.
getpagesize() found.
getprotobyname() found.
getprotobynumber() found.
getprotoent() found.
getpgid() found.
getpgrp2() NOT found.
getppid() found.
getpriority() found.
getprotobyname_r() NOT found.
getprotobynumber_r() NOT found.
getprotoent_r() NOT found.
getprpwnam() NOT found.
getpwent() found.
getpwent_r() NOT found.
getpwnam_r() found.
getpwuid_r() found.
getservbyname() found.
getservbyport() found.
getservent() found.
getservbyname_r() NOT found.
getservbyport_r() NOT found.
getservent_r() NOT found.
getspnam() NOT found.
<shadow.h> NOT found.
getspnam_r() NOT found.
gettimeofday() found.
gmtime_r() found.
hasmntopt() NOT found.
<netinet/in.h> found.
<arpa/inet.h> found.
htonl() found.
hypot() found.
ilogb() found.
ilogbl() 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() NOT found.
Checking to see if you have isless...
Checking to see if you have isnan...
isnanl() NOT found.
Checking to see if you have isnormal...
j0() found.
j0l() NOT found.
killpg() found.
localeconv() found.
lchown() found.
LDBL_DIG found.
lgamma() found.
lgamma_r() found.
Checking to see if your libm supports _LIB_VERSION...
No, it does not (probably harmless)
link() found.
llrint() found.
llrintl() found.
llround() found.
llroundl() found.
localeconv_l() 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() found.
malloc_good_size() found.
mblen() found.
mbrlen() found.
mbrtowc() found.
mbstowcs() found.
mbtowc() found.
memmem() found.
mkdir() found.
mkdtemp() found.
mkfifo() found.
mkostemp() found.
Hmm.  Based on the hints in hints/darwin.sh,
the recommended value for $d_mkostemp on this machine was "undef"!
    Keep the recommended value? [y]
mkstemp() found.
mkstemps() found.
mktime() found.
<sys/mman.h> found.
mmap() found.
and it returns (void *).
sqrtl() found.
scalbnl() found.
truncl() found.
modfl() found.
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.
nanosleep() found.
nearbyint() found.
nextafter() found.
nexttoward() found.
nice() found.
<langinfo.h> found.
nl_langinfo() found.
<quadmath.h> NOT found.
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...
Checking what constant to use for creating joinable pthreads...
You seem to use PTHREAD_CREATE_JOINABLE.
pause() found.
pipe2() NOT found.
poll() found.
Hmm.  Based on the hints in hints/darwin.sh,
the recommended value for $d_poll on this machine was "undef"!
    Keep the recommended value? [y]
prctl() NOT found.
readlink() found.
vfork() found.
Do you still want to use vfork()? [y]
pthread_atfork found.
pthread_attr_setscope() found.
sched_yield() found.
pthread_yield() NOT found.
Checking to see if you have ptrdiff_t...
random_r() NOT found.
readdir() found.
seekdir() found.
telldir() found.
rewinddir() found.
readdir64_r() NOT found.
readdir_r() found.
readv() found.
recvmsg() found.
regcomp() found.
remainder() found.
remquo() found.
rename() found.
rint() found.
rmdir() found.
round() found.
scalbn() found.
select() found.
semctl() found.
semget() found.
semop() found.
You have the full sem*(2) library.
You 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.
<locale.h> found.
<wctype.h> found.
towupper() found.
Your system has setlocale()...
and it seems sane
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() found.
setruid() 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.
pid_t found.
Checking if your siginfo_t has si_errno field...
Checking if your siginfo_t has si_pid field...
Checking if your siginfo_t has si_uid field...
Checking if your siginfo_t has si_addr field...
Checking if your siginfo_t has si_status field...
Checking if your siginfo_t has si_band field...
Checking if your siginfo_t has si_value field...
Checking if your siginfo_t has si_fd field...
<sunmath.h> NOT found.
Checking to see if you have signbit() available to work on double... Yes.
sigprocmask() found.
POSIX sigsetjmp found.
snprintf() found.
vsnprintf() found.
sockatmark() found.
socks5_init() NOT found.
srand48_r() NOT found.
srandom_r() NOT found.
stat() found.
<sys/stat.h> found.
Checking to see if your struct stat has st_blocks field...
<sys/vfs.h> NOT found.
<sys/statfs.h> NOT 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.
strerror_l() NOT found.
strerror_r() found.
strftime() found.
strlcat() found.
strlcpy() found.
strnlen() found.
strtod() found.
strtod_l() found.
strtol() found.
strtold() found.
strtold_l() found.
strtoll() found.
strtoq() found.
strtoul() found.
strtoull() found.
strtouq() found.
strxfrm() found.
symlink() found.
syscall() found.
Hmm.  Based on the hints in hints/darwin.sh,
the recommended value for $d_syscall on this machine was "undef"!
    Keep the recommended value? [y]
sysconf() found.
system() found.
tcgetpgrp() found.
tcsetpgrp() found.
tgamma() found.
your system does not have nl_langinfo_l()
time() found.
time_t found.
timegm() found.
<sys/times.h> found.
times() found.
clock_t found.
tmpnam_r() NOT found.
towlower() 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() NOT 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? [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> found.
Checking Berkeley DB version ...
Looks OK.
Checking return type needed for hash for Berkeley DB ...
Checking return type needed for prefix for Berkeley DB ...
Exclude . from @INC by default?  [y]
Checking the kind of infinities and nans you have...
(The following tests may crash.  That's okay.)
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]
Checking how to generate random libraries on your machine...
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.
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...
You can use _NSGetExecutablePath to find the executing program.
Which compiler compiler (yacc or bison -y) shall I use? [yacc]
<bfd.h> NOT found.
<execinfo.h> found.
<fenv.h> found.
<fp.h> NOT found.
<fp_class.h> NOT found.
<gdbm.h> found.
gdbm_open() found.
<ieeefp.h> NOT found.
<libutil.h> NOT found.
<mach/cthreads.h> NOT found.
<mntent.h> NOT found.
<net/errno.h> NOT found.
<netinet/tcp.h> found.
<poll.h> found.
Hmm.  Based on the hints in hints/darwin.sh,
the recommended value for $i_poll on this machine was "undef"!
    Keep the recommended value? [y]
<prot.h> NOT found.
Guessing which symbols your C compiler and preprocessor define...
You seem to have -D_FORTIFY_SOURCE already, not adding it.
tcsetattr() found.
You have POSIX termios.h... good!
<stdbool.h> found.
<stdint.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> 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> NOT found.
<utime.h> found.
<vfork.h> NOT found.
<wchar.h> found.
Looking for extensions...
What extensions do you wish to load dynamically?
[B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap attributes mro re threads threads/shared]
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)
cflags.SH: Adding -std=c89.
cflags.SH: Adding -Werror=declaration-after-statement.
cflags.SH: Adding -Werror=pointer-arith.
cflags.SH: Adding -Wextra.
cflags.SH: Adding -Wc++-compat.
cflags.SH: Adding -Wwrite-strings.
cflags.SH: cc       = cc
cflags.SH: ccflags  = -fno-common -DPERL_DARWIN -mmacosx-version-min=10.14 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -I/opt/local/include -DPERL_USE_SAFE_PUTENV
cflags.SH: stdflags =  -std=c89
cflags.SH: optimize = -O3
cflags.SH: warn     =  -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings
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]
cc -c -DPERL_CORE -fno-common -DPERL_DARWIN -mmacosx-version-min=10.14 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -I/opt/local/include -DPERL_USE_SAFE_PUTENV -std=c89 -O3 -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings generate_uudmap.c
cc -o generate_uudmap -mmacosx-version-min=10.14 -fstack-protector-strong -L/usr/local/lib -L/opt/local/lib generate_uudmap.o -lpthread -ldl -lm -lutil -lc
./generate_uudmap uudmap.h bitcount.h mg_data.h
sh ./makedepend MAKE="/Applications/Xcode.app/Contents/Developer/usr/bin/make" cflags
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
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 GNUmakefile...
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.
ChristianTackeGSI commented 4 years ago

@ChristianTackeGSI Maybe this is worth a try spack/spack@cacfc3a?

I might be wrong, but the patch seems to only affect setup*dependent* functions. And our problem is during build of perl itself. So I think, the change will not help.

dennisklein commented 4 years ago

@TobiasStockmanns thx, just to be sure, you ran this with or without the renamed /opt/local/bin/perl5.28 ?

TobiasStockmanns commented 4 years ago

Without.

-------- Ursprüngliche Nachricht -------- Von: Dennis Klein notifications@github.com Datum: 13.05.20 12:28 (GMT+01:00) An: FairRootGroup/FairSoft FairSoft@noreply.github.com Cc: "Stockmanns, Tobias" t.stockmanns@fz-juelich.de, Mention mention@noreply.github.com Betreff: Re: [FairRootGroup/FairSoft] perl installation fails (#242)

@TobiasStockmannshttps://github.com/TobiasStockmanns thx, just to be sure, you ran this with or without the renamed /opt/local/bin/perl5.28 ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/FairRootGroup/FairSoft/issues/242#issuecomment-627895451, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABRL4ZDYEVD6SZ5445M42V3RRJY3ZANCNFSM4M66LUKA.



Forschungszentrum Juelich GmbH 52425 Juelich Sitz der Gesellschaft: Juelich Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498 Vorsitzender des Aufsichtsrats: MinDir Volker Rieke Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender), Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt


TobiasStockmanns commented 4 years ago

Here is the output of ./Config with perl5.28 in place:

./Configure -des -Dprefix=./install -Duseshrplib -Dusethreads
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             greenhills          os400
aix_3           haiku           posix-bc
aix_4           hpux            qnx
altos486        i386            riscos
amigaos         interix         sco
atheos          irix_4          sco_2_3_0
aux_3           irix_5          sco_2_3_1
bitrig          irix_6          sco_2_3_2
bsdos           irix_6_0        sco_2_3_3
catamount           irix_6_1        sco_2_3_4
convexos        isc             solaris_2
cxux            isc_2           stellar
cygwin          linux-android       sunos_4_0
darwin          linux           sunos_4_1
dcosx           lynxos          super-ux
dec_osf         midnightbsd         svr4
dos_djgpp           minix           svr5
dragonfly           mips            ti1500
dynix           mirbsd          ultrix_4
dynixptx        mpc             umips
epix            ncr_tower           unicos
esix4           netbsd          unicosmk
fps             newsos4         unisysdynix
freebsd         nonstopux           utekv
freemint        openbsd         uwin
gnu             opus            vos
gnukfreebsd         os2
gnuknetbsd          os390
Which of these apply, if any? [darwin]
Adding -mmacosx-version-min=10.14 to ccflags
Adding -mmacosx-version-min=10.14 to ldflags
Operating system name? [darwin]
Operating system version? [18.7.0]
Installation prefix to use? (~name ok) [./install]
Directory ./install doesn't exist.  Use that name anyway? [y]
AFS does not seem to be running...
What installation prefix should I use for installing files? (~name ok)
[./install]
Directory ./install doesn't exist.  Use that name anyway? [y]
Getting the current patchlevel...
Build a threading Perl? [y]
Use which C compiler? [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/local/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.1/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/lib /opt/local/lib /usr/lib]
What is the file extension used for shared libraries? [dylib]
Make shared library basenames unique? [n]
Build Perl for SOCKS? [n]
Try to use long doubles if available? [n]
Checking for optional libraries...
What libraries to use? [-lpthread -lgdbm -ldbm -ldl -lm -lutil -lc]
What optimizer/debugger flag should be used? [-O3]
Any additional cc flags?
[-fno-common -DPERL_DARWIN -mmacosx-version-min=10.14 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -I/opt/local/include]
Let me guess what the preprocessor flags are...
Any additional ld flags (NOT including libraries)?
[ -mmacosx-version-min=10.14 -fstack-protector-strong -L/usr/local/lib -L/opt/local/lib]
Checking your choice of C compiler and flags for coherency...
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...
Computing filename position in cpp output for #include directives...
<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...
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...
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 [darwin]
Add the Perl API version to your archname? [n]
Threads selected.
...setting architecture name to darwin-thread.
Multiplicity selected.
...setting architecture name to darwin-thread-multi.
This architecture is naturally 64-bit, not changing architecture name.
Pathname where the public executables will reside? (~name ok)
[./install/bin]
Directory ./install/bin doesn't exist.  Use that name anyway? [y]
Use relocatable @INC? [n]
Pathname where the private library files will reside? (~name ok)
[./install/lib/perl5/5.30.0]
Where do you want to put the public architecture-dependent libraries? (~name ok)
[./install/lib/perl5/5.30.0/darwin-thread-multi-2level]
Other username to test security of setuid scripts with? [none]
I'll assume setuid scripts are *not* secure.
Does your kernel have *secure* setuid scripts? [n]
Installation prefix to use for add-on modules and utilities? (~name ok)
[./install]
Pathname for the site-specific library files? (~name ok)
[./install/lib/perl5/site_perl/5.30.0]
List of earlier versions to include in @INC? [none]
<malloc/malloc.h> found.
<malloc.h> NOT 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)
[./install/lib/perl5/site_perl/5.30.0/darwin-thread-multi-2level]
Do you want to configure vendor-specific add-on directories? [n]
Colon-separated list of additional directories for perl to search? [none]
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 cc -c to compile shared library modules? [none]
What command should be used to create dynamic libraries? [cc]
Any special flags to pass to cc to create a dynamically loaded library?
[ -mmacosx-version-min=10.14 -bundle -undefined dynamic_lookup -L/usr/local/lib -L/opt/local/lib -fstack-protector-strong]
Any special flags to pass to cc to use dynamic linking? [none]
Build a shared libperl.dylib (y/n) [y]
What name do you want to give to the shared libperl? [libperl.dylib]
System manual is in /usr/share/man/man1.
Where do the main Perl5 manual pages (source) go? (~name ok)
[./install/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)
[./install/man/man3]
What suffix should be used for the perl5 library man pages? [3]
Figuring out host name...
Your host name appears to be "Tobiass-MBP-3.fritz.box". Right? [y]
What is your domain name? [.fritz.box]
What is your e-mail address? [tstockmanns@tobiass-mbp-3.fritz.box]
Perl administrator e-mail address [tstockmanns@tobiass-mbp-3.fritz.box]
Do you want to use a version number suffix for installed binaries? [n]
What shall I put after the #! to start up perl ("none" to not use #!)?
[./install/bin/perl]
Where do you keep publicly executable scripts? (~name ok) [./install/bin]
Directory ./install/bin doesn't exist.  Use that name anyway? [y]
Pathname where the add-on public executables should be installed? (~name ok)
[./install/bin]
Directory ./install/bin doesn't exist.  Use that name anyway? [y]
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)
[./install/man/man1]
Pathname where the site-specific library manual pages should be installed? (~name ok)
[./install/man/man3]
Pathname where add-on public executable scripts should be installed? (~name ok)
[./install/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...
qgcvt() NOT found.
Checking the kind of doubles you have...
You have IEEE 754 64-bit little endian doubles.
Checking how to print long doubles...
gconvert NOT found.
gcvt() found.
sprintf() found.
I'll use sprintf to convert floats into a string.
fwalk() NOT found.
accept4() 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 <sys/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)) ...
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_add_overflow ...
Checking whether your compiler can handle __builtin_sub_overflow ...
Checking whether your compiler can handle __builtin_mul_overflow ...
Checking whether your compiler can handle __builtin_choose_expr ...
Checking whether your compiler can handle __builtin_expect ...
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.
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...
copysign() found.
copysignl() found.
crypt() found.
<crypt.h> NOT found.
crypt_r() NOT found.
ctermid() found.
ctermid_r() found.
ctime_r() found.
cuserid() NOT found.
dbmclose() NOT found.
difftime() found.
<dirent.h> found.
Your directory entries are struct dirent.
Good, your directory entry keeps length information in d_namlen.
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 [bundle]
Checking whether your dlsym() needs a leading underscore ...
dlsym doesn't need a leading underscore.
drand48_r() NOT found.
dup2() found.
dup3() NOT found.
<xlocale.h> found.
newlocale() found.
freelocale() found.
uselocale() found.
duplocale() found.
querylocale() 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.
<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 leaves cnt unchanged.  Good.
You seem to have 'fast stdio' to directly manipulate the stdio buffers.
fchdir() found.
fchmod() found.
openat() found.
unlinkat() found.
renameat() found.
linkat() found.
fchmodat() 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).
fdclose() NOT found.
fdim() found.
fegetround() found.
fgetpos() found.
finite() found.
Hmm.  Based on the hints in hints/darwin.sh,
the recommended value for $d_finite on this machine was "undef"!
    Keep the recommended value? [y]
finitel() NOT found.
flock() found.
fma() found.
fmax() found.
fmin() found.
fp_class() NOT 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
A working gai_strerror() found.
<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() found.
getgrent() found.
getgrent_r() NOT 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() NOT found.
gethostbyname_r() NOT found.
gethostent_r() NOT found.
getitimer() found.
getlogin() found.
getlogin_r() found.
getmnt() NOT found.
getmntent() NOT found.
getnameinfo() found.
getnetbyaddr() found.
getnetbyname() found.
getnetent() found.
getnetbyaddr_r() NOT found.
getnetbyname_r() NOT found.
getnetent_r() NOT found.
getpagesize() found.
getprotobyname() found.
getprotobynumber() found.
getprotoent() found.
getpgid() found.
getpgrp2() NOT found.
getppid() found.
getpriority() found.
getprotobyname_r() NOT found.
getprotobynumber_r() NOT found.
getprotoent_r() NOT found.
getprpwnam() NOT found.
getpwent() found.
getpwent_r() NOT found.
getpwnam_r() found.
getpwuid_r() found.
getservbyname() found.
getservbyport() found.
getservent() found.
getservbyname_r() NOT found.
getservbyport_r() NOT found.
getservent_r() NOT found.
getspnam() NOT found.
<shadow.h> NOT found.
getspnam_r() NOT found.
gettimeofday() found.
gmtime_r() found.
hasmntopt() NOT found.
<netinet/in.h> found.
<arpa/inet.h> found.
htonl() found.
hypot() found.
ilogb() found.
ilogbl() 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() NOT found.
Checking to see if you have isless...
Checking to see if you have isnan...
isnanl() NOT found.
Checking to see if you have isnormal...
j0() found.
j0l() NOT found.
killpg() found.
localeconv() found.
lchown() found.
LDBL_DIG found.
lgamma() found.
lgamma_r() found.
Checking to see if your libm supports _LIB_VERSION...
No, it does not (probably harmless)
link() found.
llrint() found.
llrintl() found.
llround() found.
llroundl() found.
localeconv_l() 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() found.
malloc_good_size() found.
mblen() found.
mbrlen() found.
mbrtowc() found.
mbstowcs() found.
mbtowc() found.
memmem() found.
mkdir() found.
mkdtemp() found.
mkfifo() found.
mkostemp() found.
Hmm.  Based on the hints in hints/darwin.sh,
the recommended value for $d_mkostemp on this machine was "undef"!
    Keep the recommended value? [y]
mkstemp() found.
mkstemps() found.
mktime() found.
<sys/mman.h> found.
mmap() found.
and it returns (void *).
sqrtl() found.
scalbnl() found.
truncl() found.
modfl() found.
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.
nanosleep() found.
nearbyint() found.
nextafter() found.
nexttoward() found.
nice() found.
<langinfo.h> found.
nl_langinfo() found.
<quadmath.h> NOT found.
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...
Checking what constant to use for creating joinable pthreads...
You seem to use PTHREAD_CREATE_JOINABLE.
pause() found.
pipe2() NOT found.
poll() found.
Hmm.  Based on the hints in hints/darwin.sh,
the recommended value for $d_poll on this machine was "undef"!
    Keep the recommended value? [y]
prctl() NOT found.
readlink() found.
vfork() found.
Do you still want to use vfork()? [y]
pthread_atfork found.
pthread_attr_setscope() found.
sched_yield() found.
pthread_yield() NOT found.
Checking to see if you have ptrdiff_t...
random_r() NOT found.
readdir() found.
seekdir() found.
telldir() found.
rewinddir() found.
readdir64_r() NOT found.
readdir_r() found.
readv() found.
recvmsg() found.
regcomp() found.
remainder() found.
remquo() found.
rename() found.
rint() found.
rmdir() found.
round() found.
scalbn() found.
select() found.
semctl() found.
semget() found.
semop() found.
You have the full sem*(2) library.
You 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.
<locale.h> found.
<wctype.h> found.
towupper() found.
Your system has setlocale()...
and it seems sane
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() found.
setruid() 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.
pid_t found.
Checking if your siginfo_t has si_errno field...
Checking if your siginfo_t has si_pid field...
Checking if your siginfo_t has si_uid field...
Checking if your siginfo_t has si_addr field...
Checking if your siginfo_t has si_status field...
Checking if your siginfo_t has si_band field...
Checking if your siginfo_t has si_value field...
Checking if your siginfo_t has si_fd field...
<sunmath.h> NOT found.
Checking to see if you have signbit() available to work on double... Yes.
sigprocmask() found.
POSIX sigsetjmp found.
snprintf() found.
vsnprintf() found.
sockatmark() found.
socks5_init() NOT found.
srand48_r() NOT found.
srandom_r() NOT found.
stat() found.
<sys/stat.h> found.
Checking to see if your struct stat has st_blocks field...
<sys/vfs.h> NOT found.
<sys/statfs.h> NOT 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.
strerror_l() NOT found.
strerror_r() found.
strftime() found.
strlcat() found.
strlcpy() found.
strnlen() found.
strtod() found.
strtod_l() found.
strtol() found.
strtold() found.
strtold_l() found.
strtoll() found.
strtoq() found.
strtoul() found.
strtoull() found.
strtouq() found.
strxfrm() found.
symlink() found.
syscall() found.
Hmm.  Based on the hints in hints/darwin.sh,
the recommended value for $d_syscall on this machine was "undef"!
    Keep the recommended value? [y]
sysconf() found.
system() found.
tcgetpgrp() found.
tcsetpgrp() found.
tgamma() found.
your system does not have nl_langinfo_l()
time() found.
time_t found.
timegm() found.
<sys/times.h> found.
times() found.
clock_t found.
tmpnam_r() NOT found.
towlower() 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() NOT 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? [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> found.
Checking Berkeley DB version ...
Looks OK.
Checking return type needed for hash for Berkeley DB ...
Checking return type needed for prefix for Berkeley DB ...
Exclude . from @INC by default?  [y]
Checking the kind of infinities and nans you have...
(The following tests may crash.  That's okay.)
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]
Checking how to generate random libraries on your machine...
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.
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...
You can use _NSGetExecutablePath to find the executing program.
Which compiler compiler (yacc or bison -y) shall I use? [yacc]
<bfd.h> NOT found.
<execinfo.h> found.
<fenv.h> found.
<fp.h> NOT found.
<fp_class.h> NOT found.
<gdbm.h> found.
gdbm_open() found.
<ieeefp.h> NOT found.
<libutil.h> NOT found.
<mach/cthreads.h> NOT found.
<mntent.h> NOT found.
<net/errno.h> NOT found.
<netinet/tcp.h> found.
<poll.h> found.
Hmm.  Based on the hints in hints/darwin.sh,
the recommended value for $i_poll on this machine was "undef"!
    Keep the recommended value? [y]
<prot.h> NOT found.
Guessing which symbols your C compiler and preprocessor define...
You seem to have -D_FORTIFY_SOURCE already, not adding it.
tcsetattr() found.
You have POSIX termios.h... good!
<stdbool.h> found.
<stdint.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> 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> NOT found.
<utime.h> found.
<vfork.h> NOT found.
<wchar.h> found.
Looking for extensions...
What extensions do you wish to load dynamically?
[B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap attributes mro re threads threads/shared]
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)
cflags.SH: Adding -std=c89.
cflags.SH: Adding -Werror=declaration-after-statement.
cflags.SH: Adding -Werror=pointer-arith.
cflags.SH: Adding -Wextra.
cflags.SH: Adding -Wc++-compat.
cflags.SH: Adding -Wwrite-strings.
cflags.SH: cc       = cc
cflags.SH: ccflags  = -fno-common -DPERL_DARWIN -mmacosx-version-min=10.14 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -I/opt/local/include -DPERL_USE_SAFE_PUTENV
cflags.SH: stdflags =  -std=c89
cflags.SH: optimize = -O3
cflags.SH: warn     =  -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings
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]
cc -c -DPERL_CORE -fno-common -DPERL_DARWIN -mmacosx-version-min=10.14 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -I/opt/local/include -DPERL_USE_SAFE_PUTENV -std=c89 -O3 -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings generate_uudmap.c
cc -o generate_uudmap -mmacosx-version-min=10.14 -fstack-protector-strong -L/usr/local/lib -L/opt/local/lib generate_uudmap.o -lpthread -ldl -lm -lutil -lc
./generate_uudmap uudmap.h bitcount.h mg_data.h
sh ./makedepend MAKE="/Applications/Xcode.app/Contents/Developer/usr/bin/make" cflags
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
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 GNUmakefile...
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.
ChristianTackeGSI commented 4 years ago

Hi @TobiasStockmanns

Okay, looks like we need the full spack logs:

TobiasStockmanns commented 4 years ago

Stage area for perl does not exist. I only have one for opelssl. I guess that is because the installation of perl was successful. I will send you the output of the spack-build-env.txt of openssl in a private e-mail.

spack cd perl && cd .. ==> Warning: clang@10.0.1-apple cannot build optimized binaries for "skylake". Using best target possible: "x86_64" ==> Error: Build directory does not exist yet. Run this to create it: spack stage perl

dennisklein commented 4 years ago

I guess that is because the installation of perl was successful.

Now we are confused. The error logs you provided in the beginning look like they are from the perl package.

On closer inspection, there is one line, from here it appears to be from the openssl package indeed:

==> [2020-05-11-19:51:49.829756] './config' '--prefix=/Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/openssl-1.1.1d-sqjt65twk7lr5g2xksiicjtl3sayolsk' '--openssldir=/Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/openssl-1.1.1d-sqjt65twk7lr5g2xksiicjtl3sayolsk/etc/openssl' '-I/Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/zlib-1.2.11-nqnlnxddpa4qfz5cnf4grnct57ds25ks/include' '-L/Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/zlib-1.2.11-nqnlnxddpa4qfz5cnf4grnct57ds25ks/lib' 'zlib' 'shared'
Operating system: x86_64-apple-darwinDarwin Kernel Version 18.7.0: Mon Feb 10 21:08:45 PST 2020; root:xnu-4903.278.28~1/RELEASE_X86_64

Can it be that you missed some logs in between?

dennisklein commented 4 years ago

Ok, let's try https://github.com/spack/spack/commit/cacfc3a6e1c79520087455a0831a567ad6fb3486. The openssl build system apparently finds the wrong perl executable and this patch addresses an issue that would prepend system directories to $PATH which could explain the error, but not why we do not see the same issue on our CI machine. One difference I noticed, is that on Tobias' machine it is /opt/local/bin/perl5.28 and on our CI machine it is /usr/local/bin/perl5.28.1.

dennisklein commented 4 years ago
PATH=
 /Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/bin:
 /Users/tstockmanns/PandaSoftware/FairSoft/dev/source/spack/lib/spack/env/clang:
 /Users/tstockmanns/PandaSoftware/FairSoft/dev/source/spack/lib/spack/env/case-insensitive:
 /Users/tstockmanns/PandaSoftware/FairSoft/dev/source/spack/lib/spack/env:
 /Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/bin:
 /Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/bin:
 /Users/tstockmanns/PandaSoftware/FairSoft/dev/source/spack/bin:
 /Users/tstockmanns/miniconda3/condabin:
 /usr/local/opt/expat/bin:
 /Users/tstockmanns/bin:
 /usr/local/bin:
 /opt/local/bin:
 /opt/local/sbin:
 /usr/local/bin:
 /usr/bin:
 /bin:
 /usr/sbin:
 /sbin:
 /Library/TeX/texbin:
 /opt/X11/bin; export PATH
PERL5LIB=
 /Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/lib/5.30.0; export PERL5LIB

The PATH looks correct otoh

dennisklein commented 4 years ago

@TobiasStockmanns Can you pls post the output of

ls -l /Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/bin/perl*

and

ls -l /opt/local/bin/perl*

Thx!

TobiasStockmanns commented 4 years ago
ls -l /Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/bin/perl*
-rwxr-xr-x  2 tstockmanns  staff  13700 13 Mai 15:38 /Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/bin/perl
-rwxr-xr-x  2 tstockmanns  staff  13700 13 Mai 15:38 /Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/bin/perl5.30.0
-rwxr-xr-x  2 tstockmanns  staff  46682 13 Mai 15:38 /Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/bin/perlbug
-rwxr-xr-x  1 tstockmanns  staff    581 13 Mai 15:38 /Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/bin/perldoc
-rwxr-xr-x  1 tstockmanns  staff  11251 13 Mai 15:38 /Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/bin/perlivp
-rwxr-xr-x  2 tstockmanns  staff  46682 13 Mai 15:38 /Users/tstockmanns/.spack/install_tree/darwin-mojave-x86_64/clang-10.0.1-apple/perl-5.30.0-vzoysu4j37r4rmcngcwwn3ymeyjc6vxo/bin/perlthanks
ls -l /opt/local/bin/perl*
lrwxr-xr-x  1 root  wheel      8 13 Mai 15:01 /opt/local/bin/perl -> perl5.28
lrwxr-xr-x  1 root  admin      8 27 Apr  2019 /opt/local/bin/perl5 -> perl5.28
-rwxr-xr-x  1 root  admin  13700 21 Apr  2019 /opt/local/bin/perl5.28
lrwxr-xr-x  1 root  admin      8 21 Apr  2019 /opt/local/bin/perl5.28.2 -> perl5.28
lrwxr-xr-x  1 root  admin     12 27 Apr  2019 /opt/local/bin/perlbug -> perlbug-5.28
-rwxr-xr-x  2 root  admin  46382 21 Apr  2019 /opt/local/bin/perlbug-5.28
lrwxr-xr-x  1 root  admin     12 27 Apr  2019 /opt/local/bin/perldoc -> perldoc-5.28
-rwxr-xr-x  1 root  admin    282 21 Apr  2019 /opt/local/bin/perldoc-5.28
lrwxr-xr-x  1 root  admin     12 27 Apr  2019 /opt/local/bin/perlivp -> perlivp-5.28
-rwxr-xr-x  1 root  admin  10843 21 Apr  2019 /opt/local/bin/perlivp-5.28
lrwxr-xr-x  1 root  admin     15 27 Apr  2019 /opt/local/bin/perlthanks -> perlthanks-5.28
-rwxr-xr-x  2 root  admin  46382 21 Apr  2019 /opt/local/bin/perlthanks-5.28
dennisklein commented 4 years ago

I think I understand what happens: The openssl config script searches the PATH explicitely

if [ ".$PERL" = . ] ; then
        for i in . `echo $PATH | sed 's/:/ /g'`; do
                if [ -f "$i/perl5$EXE" ] ; then
                        PERL="$i/perl5$EXE"
                        break;
                fi;
        done
fi

if [ ".$PERL" = . ] ; then
        for i in . `echo $PATH | sed 's/:/ /g'`; do
                echo $i
                if [ -f "$i/perl$EXE" ] ; then
                        if "$i/perl$EXE" -e 'exit($]<5.0)'; then
                                PERL="$i/perl$EXE"
                                break;
                        fi;
                fi;
        done
fi

which means executables named perl5* are found first ($EXE is empty in our case), even deep down in the $PATH - but the spack installation does not have a perl5 executable. I would consider this a bug in the upstream build system.. anyways this should be an easy fix by setting the $PERL environment variable to the correct perl executable before calling config in the openssl package.

ChristianTackeGSI commented 4 years ago

Thanks to @dennisklein for working this out!

I will try to create a PR with openssl and the proposed fix tomorrow. (Will give us an update to openssl also.)

None of the machines I have access to have a perl5. So that explains, why this doesn't affect nearly noone.

dennisklein commented 4 years ago

I will try to create a PR with openssl and the proposed fix tomorrow.

human race condition ;)

(Will give us an update to openssl also.)

I did not include any updates, if my fix works out (we should know in the morning), you are welcome to take over :)

dennisklein commented 4 years ago

We believe the bug is fixed in dev. Remember to redefine the spack environment after checking out the latest dev branch.