Subject: | Socket class not compiling with perl (multiple versions) in CPAN utility and manually |
Using Mac OSX 10.13.6 and perl with different versions I'm not able to recompile these modules.
Last error on perl version :
Summary of my perl5 (revision 5 version 24 subversion 0) configuration:
Platform:
osname=darwin, osvers=17.7.0, archname=darwin-2level
uname='darwin mac-pro.lan 17.7.0 darwin kernel version 17.7.0: thu jun 21 22:53:14 pdt 2018; root:xnu-4570.71.2~1release_x86_64 x86_64 i386 macpro3,1 darwin '
config_args='-de -Dprefix=/Users/andrea/perl5/perlbrew/perls/perl-5.24.0 -Aeval:scriptdir=/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/bin'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-fno-common -DPERL_DARWIN -mmacosx-version-min=10.13 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -DPERL_USE_SAFE_PUTENV',
optimize='-O3',
cppflags='-fno-common -DPERL_DARWIN -mmacosx-version-min=10.13 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
ccversion='', gccversion='4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -mmacosx-version-min=10.13 -fstack-protector-strong -L/usr/local/lib'
libpth=/usr/local/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/9.1.0/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib /usr/lib
libs=-lpthread -lgdbm -ldbm -ldb -ldl -lm -lutil -lc
perllibs=-lpthread -ldl -lm -lutil -lc
libc=, so=dylib, useshrplib=false, libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags=' -mmacosx-version-min=10.13 -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector-strong'
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_COPY_ON_WRITE
PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
PERL_PRESERVE_IVUV PERL_USE_SAFE_PUTENV
USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES
USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO
USE_PERL_ATOF
Locally applied patches:
Devel::PatchPerl 1.52
Built under darwin
Compiled at Aug 16 2018 20:26:00
%ENV:
PERLBREW_HOME="/Users/andrea/.perlbrew"
PERLBREW_MANPATH="/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/man"
PERLBREW_PATH="/Users/andrea/perl5/perlbrew/bin:/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/bin"
PERLBREW_PERL="perl-5.24.0"
PERLBREW_ROOT="/Users/andrea/perl5/perlbrew"
PERLBREW_SHELLRC_VERSION="0.84"
PERLBREW_VERSION="0.84"
@INC:
/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/lib/site_perl/5.24.0/darwin-2level
/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/lib/site_perl/5.24.0
The error is the following during the compiling phase:
cpan[2]> install Socket::Class
Running install for module 'Socket::Class'
Checksum for /Users/andrea/.cpan/sources/authors/id/C/CH/CHRMUE/Socket-Class-2.258.tar.gz ok
Scanning cache /Users/andrea/.cpan/build for sizes
............................................................................DONE
Configuring C/CH/CHRMUE/Socket-Class-2.258.tar.gz with Makefile.PL
Looking for 'getaddrinfo' ... NOT found
Looking for 'freeaddrinfo' ... NOT found
Looking for 'getnameinfo' ... NOT found
Looking for 'nanosleep' ... NOT found
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Socket::Class::Const
Writing MYMETA.yml and MYMETA.json
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/\s*struct st_mod_sc { <-- HERE / at ./Makefile.PL line 174.
OpenSSL not found
Generating a Unix-style Makefile
Writing Makefile for Socket::Class::SSL
Writing MYMETA.yml and MYMETA.json
Generating a Unix-style Makefile
Writing Makefile for xs
Writing MYMETA.yml and MYMETA.json
Generating a Unix-style Makefile
Writing Makefile for Socket::Class
Writing MYMETA.yml and MYMETA.json
CHRMUE/Socket-Class-2.258.tar.gz
/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/bin/perl Makefile.PL -- OK
Running make for C/CH/CHRMUE/Socket-Class-2.258.tar.gz
cp Class.pod blib/lib/Socket/Class.pod
cp Class.pm blib/lib/Socket/Class.pm
cp Const.pod ../../blib/lib/Socket/Class/Const.pod
cp Const.pm ../../blib/lib/Socket/Class/Const.pm
Running Mkbootstrap for Socket::Class::Const ()
chmod 644 "Const.bs"
"/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/bin/perl" "/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/ExtUtils/xsubpp" -noprototypes -typemap "/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/ExtUtils/typemap" Const.xs > Const.xsc && mv Const.xsc Const.c
cc -c -I../../ -fno-common -DPERL_DARWIN -mmacosx-version-min=10.13 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -DPERL_USE_SAFE_PUTENV -O3 -DVERSION=\"2.11\" -DXS_VERSION=\"2.11\" "-I/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/darwin-2level/CORE" Const.c
Const.xs:309:50: warning: data argument not used by format string [-Wformat-extra-args]
Perl_croak( aTHX_ "\"%s\" does not exist", s2, pkg );
~~~~~~~~~~~~~~~~~~~~~~~ ^
1 warning generated.
rm -f ../../blib/arch/auto/Socket/Class/Const/Const.bundle
cc -mmacosx-version-min=10.13 -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector-strong Const.o -o ../../blib/arch/auto/Socket/Class/Const/Const.bundle \
\
chmod 755 ../../blib/arch/auto/Socket/Class/Const/Const.bundle
"/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Const.bs ../../blib/arch/auto/Socket/Class/Const/Const.bs 644
Manifying 1 pod document
cp SSL.pm ../../blib/lib/Socket/Class/SSL.pm
cp CTX.pod ../../blib/lib/Socket/Class/CTX.pod
cp SSL.pod ../../blib/lib/Socket/Class/SSL.pod
Manifying 2 pod documents
"/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/bin/perl" "-I../../blib/arch" "-I../../blib/lib" install_files.PL install_files
Running Mkbootstrap for Socket::Class ()
chmod 644 "Class.bs"
"/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/bin/perl" "/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/ExtUtils/xsubpp" -noprototypes -typemap "/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/ExtUtils/typemap" Class.xs > Class.xsc && mv Class.xsc Class.c
cc -c -fno-common -DPERL_DARWIN -mmacosx-version-min=10.13 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -DPERL_USE_SAFE_PUTENV -O3 -DVERSION=\"2.258\" -DXS_VERSION=\"2.258\" "-I/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/darwin-2level/CORE" -DSC_OLDNET Class.c
In file included from Class.xs:1:
./socket_class.h:433:13: warning: inline function 'socket_class_free' is not defined [-Wundefined-inline]
EXTERN void socket_class_free( socket_class_t *sc );
^
Class.xs:82:4: note: used here
socket_class_free( sc1 );
^
In file included from Class.xs:1:
./socket_class.h:434:24: warning: inline function 'socket_class_find' is not defined [-Wundefined-inline]
EXTERN socket_class_t *socket_class_find( SV *sv );
^
Class.xs:263:12: note: used here
if( (sc = socket_class_find( this )) == NULL )
^
In file included from Class.xs:1:
./socket_class.h:440:12: warning: inline function 'my_snprintf_' is not defined [-Wundefined-inline]
EXTERN int my_snprintf_( char *str, size_t size, const char *format, ... );
^
Class.xs:456:4: note: used here
my_snprintf_(
^
In file included from Class.xs:1:
./socket_class.h:470:12: warning: inline function 'Socket_domainbyname' is not defined [-Wundefined-inline]
EXTERN int Socket_domainbyname( const char *name );
^
Class.xs:839:20: note: used here
aih.ai_family = Socket_domainbyname( SvPV_nolen( ST(ipos) ) );
^
In file included from Class.xs:1:
./socket_class.h:472:12: warning: inline function 'Socket_protobyname' is not defined [-Wundefined-inline]
EXTERN int Socket_protobyname( const char *name );
^
Class.xs:849:22: note: used here
aih.ai_protocol = Socket_protobyname( SvPV_nolen( ST(ipos) ) );
^
In file included from Class.xs:1:
./socket_class.h:471:12: warning: inline function 'Socket_typebyname' is not defined [-Wundefined-inline]
EXTERN int Socket_typebyname( const char *name );
^
Class.xs:859:22: note: used here
aih.ai_socktype = Socket_typebyname( SvPV_nolen( ST(ipos) ) );
^
In file included from Class.xs:1:
./socket_class.h:496:12: warning: inline function 'my_ba2str' is not defined [-Wundefined-inline]
EXTERN int my_ba2str( const bdaddr_t *ba, char *str );
^
Class.xs:915:9: note: used here
r = my_ba2str(
^
7 warnings generated.
cc -c -fno-common -DPERL_DARWIN -mmacosx-version-min=10.13 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -DPERL_USE_SAFE_PUTENV -O3 -DVERSION=\"2.258\" -DXS_VERSION=\"2.258\" "-I/Users/andrea/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/darwin-2level/CORE" -DSC_OLDNET sc_mod_def.c
sc_mod_def.c:1977:28: error: use of undeclared identifier 'req'
t.tv_usec = (long) ((ms - req.tv_sec) * 1000);
^
1 error generated.
make: *** [sc_mod_def.o] Error 1
CHRMUE/Socket-Class-2.258.tar.gz
/usr/bin/make -- NOT OK
Failed during this command:
CHRMUE/Socket-Class-2.258.tar.gz : make NO
It seems that there are problems on file sc_mod_def.c
Many thanks in advance for your kind support
Kind regards