Попытка установки Term::ReadLine::Gnu
на OS X. make test
возвращает такие ошибки, как:Perlbrew - установка Term :: ReadLine :: Гну на OS X
t/00checkver.t .. 1/3 panic: free from wrong pool, 62696c2f62696c!=7f8ed2801200 during global destruction.
После поиска нашел совет компиляции Perl с -DPERL_USE_SAFE_PUTENV
. Так, попробовал следующее:
perlbrew install perl-5.16.3 --thread --multi --debug -DPERL_USE_SAFE_PUTENV
потребность темы, потому что Padre
нуждается в них. К сожалению, перекомпиляция не помогает и получает ту же ошибку. Затем я нашел этот вопрос What is the cause for “panic: free from wrong pool during global destruction.” in Term::ReadLine::Gnu?, и accepted answer предлагают использовать: -Accflags="-DPERL_USE_SAFE_PUTENV"
.
Вопросов:
- в основном, как получить рабочую Term :: ReadLine :: Gnu на OS X с
perlbrew
? - как скомпилировать/установить/переключить perl с
perlbrew
на получение рабочего perl дляPadre
, что необходимоTerm::ReadLine::Gnu
.
только интересно:
- если Perl нуждается в некотором "SAFE_PUTENV" для компиляции некоторых модулей CPAN, почему он не включен по умолчанию? Почему кому-то нужен perl, где невозможно скомпилировать некоторые модули CPAN?
- есть кто-то работает
Padre
&perlbrew
на OS X?
Если кому-то нужно:
Мой Perl версии
$ perl -V
Summary of my perl5 (revision 5 version 16 subversion 3) configuration:
Platform:
osname=darwin, osvers=13.0.0, archname=darwin-thread-multi-2level
uname='darwin medvedik.local 13.0.0 darwin kernel version 13.0.0: thu sep 19 22:22:27 pdt 2013; root:xnu-2422.1.72~6release_x86_64 x86_64 '
config_args='-de -Dprefix=/Users/nemo/perl5/perlbrew/perls/perl-5.16.3 -DPERL_USE_SAFE_PUTENV -Dusethreads -DDEBUGGING -Dusemultiplicity -Aeval:scriptdir=/Users/nemo/perl5/perlbrew/perls/perl-5.16.3/bin'
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='cc', ccflags ='-fno-common -DPERL_DARWIN -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/opt/local/include',
optimize='-O3 -g',
cppflags='-fno-common -DPERL_DARWIN -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/opt/local/include'
ccversion='', gccversion='4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)', 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='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags =' -fstack-protector -L/usr/local/lib -L/opt/local/lib'
libpth=/usr/local/lib /opt/local/lib /usr/lib
libs=-lgdbm -ldbm -ldl -lm -lutil -lc
perllibs=-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=' -bundle -undefined dynamic_lookup -L/usr/local/lib -L/opt/local/lib -fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING HAS_TIMES MULTIPLICITY PERLIO_LAYERS
PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP PERL_PRESERVE_IVUV
PERL_TRACK_MEMPOOL USE_64_BIT_ALL USE_64_BIT_INT
USE_ITHREADS USE_LARGE_FILES USE_LOCALE
USE_LOCALE_COLLATE USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
USE_REENTRANT_API
Built under darwin
Compiled at Jan 5 2014 12:57:57
%ENV:
PERLBREW_BASHRC_VERSION="0.67"
PERLBREW_HOME="/Users/nemo/.perlbrew"
PERLBREW_MANPATH="/Users/nemo/perl5/perlbrew/perls/perl-5.16.3/man"
PERLBREW_PATH="/Users/nemo/perl5/perlbrew/bin:/Users/nemo/perl5/perlbrew/perls/perl-5.16.3/bin"
PERLBREW_PERL="perl-5.16.3"
PERLBREW_ROOT="/Users/nemo/perl5/perlbrew"
PERLBREW_VERSION="0.67"
@INC:
/Users/nemo/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/darwin-thread-multi-2level
/Users/nemo/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3
/Users/nemo/perl5/perlbrew/perls/perl-5.16.3/lib/5.16.3/darwin-thread-multi-2level
/Users/nemo/perl5/perlbrew/perls/perl-5.16.3/lib/5.16.3
.
Выход из т/checkver.t
$ perl -Mblib t/00checkver.t
1..3
ok 1 loading
ok 2 new
OS: darwin
Perl version: 5.016003
Term::ReadLine::Gnu version: 1.20
GNU Readline Library version: 6.2
ok 3 done
panic: free from wrong pool, 686372612f62696c!=7fd3db000000 during global destruction.
GCC:
$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix
perlbrew
$ perlbrew version
/Users/nemo/perl5/perlbrew/bin/perlbrew - App::perlbrew/0.67
другие:
- с использованием MacPorts для некоторых библиотек и утилит. macports самонастраивается, и все порты обновляются.