Skip Menu |

This queue is for tickets about the Data-Alias CPAN distribution.

Report information
The Basics
Id: 78928
Status: resolved
Priority: 0/
Queue: Data-Alias

People
Owner: Nobody in particular
Requestors: KOORCHIK [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: (no value)



Subject: Cannot install this module on MacOS 10.7
Cannot install this module on MacOS 10.7. On linux I've installed this module without any problems. I am using local::lib + cpanm on Mac and Linux. Build log is in attachment. Also the output from perl -V is in atachment too.
Subject: perl_version.txt
Summary of my perl5 (revision 5 version 12 subversion 3) configuration: Platform: osname=darwin, osvers=11.0, archname=darwin-thread-multi-2level uname='darwin doublemagnum.apple.com 11.0 darwin kernel version 11.0.0: wed dec 22 11:00:23 pst 2010; root:xnu-1699.18.1~1release_x86_64 x86_64 ' config_args='-ds -e -Dprefix=/usr -Dccflags=-g -pipe -Dldflags= -Dman3ext=3pm -Duseithreads -Duseshrplib -Dinc_version_list=none -Dcc=llvm-gcc-4.2' hint=recommended, useposix=true, d_sigaction=define useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='llvm-gcc-4.2', ccflags ='-arch x86_64 -arch i386 -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -I/usr/local/include', optimize='-Os', cppflags='-g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -I/usr/local/include' ccversion='', gccversion='4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='llvm-gcc-4.2 -mmacosx-version-min=10.7', ldflags ='-arch x86_64 -arch i386 -fstack-protector -L/usr/local/lib' libpth=/usr/local/lib /usr/lib libs=-ldbm -ldl -lm -lutil -lc perllibs=-ldl -lm -lutil -lc libc=, so=dylib, useshrplib=true, libperl=libperl.dylib gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-arch x86_64 -arch i386 -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API Locally applied patches: /Library/Perl/Updates/<version> comes before system perl directories installprivlib and installarchlib points to the Updates directory Built under darwin Compiled at May 25 2011 17:53:29 %ENV: PERL5LIB="/Users/koorchik/.perl5/lib/perl5/darwin-thread-multi-2level:/Users/koorchik/.perl5/lib/perl5" PERL_LOCAL_LIB_ROOT="/Users/koorchik/.perl5" PERL_MB_OPT="--install_base /Users/koorchik/.perl5" PERL_MM_OPT="INSTALL_BASE=/Users/koorchik/.perl5" @INC: /Users/koorchik/.perl5/lib/perl5/darwin-thread-multi-2level /Users/koorchik/.perl5/lib/perl5/darwin-thread-multi-2level /Users/koorchik/.perl5/lib/perl5 /Library/Perl/5.12/darwin-thread-multi-2level /Library/Perl/5.12 /Network/Library/Perl/5.12/darwin-thread-multi-2level /Network/Library/Perl/5.12 /Library/Perl/Updates/5.12.3/darwin-thread-multi-2level /Library/Perl/Updates/5.12.3 /System/Library/Perl/5.12/darwin-thread-multi-2level /System/Library/Perl/5.12 /System/Library/Perl/Extras/5.12/darwin-thread-multi-2level /System/Library/Perl/Extras/5.12 .
Subject: build.log
Download build.log
application/octet-stream 2.4k

Message body not shown because it is not plain text.

I can't reproduce your problem on 10.8 with 5.12.4 and I don't have 10.7 to test with.

RETURN_PROBE has something to do with dtrace.  5.12 took three arguments, 5.14 took four.  Data::Alias attempts to rectify this but doesn't seem to succeed.

Does perl -wle 'use Config; $Config{usedtrace}' say "define"?
Yes, " perl -wle 'use Config; print $Config{usedtrace}' " prints "define".
I can reproduce this with the Perl 5.10.1 that comes with OS X 10.8.3 and has dtrace on.  It's definitely a bug that only comes out with dtrace.
This patch fixes the problem.  I've tested it on 5.8.9, OS X 10.8's 5.10 (with dtrace), OS X 10.8's 5.12 (without dtrace) and 5.16.2.

All I did was remove the ENTRY_PROBE and RETURN_PROBE redefinitions.  They were being called as part of POP_SUB.  This was added in 1.13, but it doesn't seem necessary.  Maybe Zefram can remember how to tickle that bug?  https://metacpan.org/diff/release/ZEFRAM/Data-Alias-1.12/ZEFRAM/Data-Alias-1.13
Subject: rt-cpan-78928.patch
diff --git Alias.xs Alias.xs index f619da5..57afd50 100644 --- Alias.xs +++ Alias.xs @@ -25,13 +25,6 @@ PERL_SUBVERSION) #endif -#if defined(USE_DTRACE) && defined(PERL_CORE) -#undef ENTRY_PROBE -#undef RETURN_PROBE -#define ENTRY_PROBE(func, file, line, stash) -#define RETURN_PROBE(func, file, line, stash) -#endif - #if defined(PERL_CORE) && defined(MULTIPLICITY) && \ (PERL_COMBI_VERSION < 5013006) #undef PL_sv_placeholder
Subject: Re: [rt.cpan.org #78928] Cannot install this module on MacOS 10.7
Date: Sat, 3 Aug 2013 23:24:01 +0100
To: Michael G Schwern via RT <bug-Data-Alias [...] rt.cpan.org>
From: Zefram <zefram [...] fysh.org>
The correct fix is for the {ENTRY,RETURN}_PROBE() macros to have different arity depending on Perl version. (The four-arg form came in in Perl 5.13.8.) Will be fixed in the next release. -zefram
dtrace hooks fixed in Data-Alias-1.17, now on CPAN.