2013-02-08 143 views
0

我正在開發一個需要Event :: Lib的Perl項目。我在MacOS 10.7上,並且正在運行Citrus Perl而不是系統Perl。我從源碼安裝libevent,它編譯得很好。但是,當我去安裝Event :: Lib時,我遇到了一些錯誤:在Mac OS X上安裝CitrusPerl中的Event :: Lib安裝10.7

cp Lib/Event/Lib.pm blib/lib/Event/Lib.pm 
Skip blib/lib/Event/Lib.pm (unchanged) 
/Users/username/code/CitrusPerl/bin/perl /Users/username/code/CitrusPerl/lib/ExtUtils/xsubpp -typemap /Users/username/code/CitrusPerl/lib/ExtUtils/typemap -typemap typemap Lib.xs > Lib.xsc && mv Lib.xsc Lib.c 
gcc -c -I/usr/local/include -fno-common -DPERL_DARWIN -no-cpp-precomp -arch i386 -B/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/gcc -B/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/lib/gcc -isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include -F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks -mmacosx-version-min=10.6 -DUSE_SITECUSTOMIZE -Duselargefiles -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fno-strict-aliasing -pipe -fstack-protector -O3 -DVERSION=\"1.03\" -DXS_VERSION=\"1.03\" "-I/Users/username/code/CitrusPerl/lib/CORE" -DHAVE_CONFIG_H Lib.c 
Lib.xs: In function ‘boot_Event__Lib’: 
Lib.xs:275: error: ‘LOG_LEVEL’ undeclared (first use in this function) 
Lib.xs:275: error: (Each undeclared identifier is reported only once 
Lib.xs:275: error: for each function it appears in.) 
make: *** [Lib.o] Error 1 

有沒有人有什麼想法接下來要做什麼?

編輯:嘗試一些「O的conf」選項後:

cpan[1]> o conf makepl_arg "INC=-I/usr/local/include LIBS=-L/usr/local/lib -levent"                
    makepl_arg   [INC=-I/usr/local/include LIBS=-L/usr/local/lib -levent] 
Your /Users/username/code/CitrusPerl/vendor/lib/CPAN/Config.pm file 
is not writable. I will attempt to write your configuration to 
/Users/username/.cpan/CPAN/MyConfig.pm instead. 

Old configuration file /Users/username/.cpan/CPAN/MyConfig.pm 
    moved to /Users/username/.cpan/CPAN/MyConfig.pm.bak 
commit: wrote '/Users/username/.cpan/CPAN/MyConfig.pm' 

cpan[2]> install Event::Lib                              
Reading '/Users/username/code/CitrusPerl/cpan/Metadata' 
    Database was generated on Thu, 07 Feb 2013 21:53:02 GMT 
Fetching with LWP: 
http://www.perl.org/CPAN/authors/01mailrc.txt.gz 
Reading '/Users/username/code/CitrusPerl/cpan/sources/authors/01mailrc.txt.gz' 
............................................................................DONE 
Fetching with LWP: 
http://www.perl.org/CPAN/modules/02packages.details.txt.gz 
Reading '/Users/username/code/CitrusPerl/cpan/sources/modules/02packages.details.txt.gz' 
    Database was generated on Thu, 14 Feb 2013 15:41:03 GMT 
............................................................................DONE 
Fetching with LWP: 
http://www.perl.org/CPAN/modules/03modlist.data.gz 
Reading '/Users/username/code/CitrusPerl/cpan/sources/modules/03modlist.data.gz' 
............................................................................DONE 
Writing /Users/username/code/CitrusPerl/cpan/Metadata 
Running install for module 'Event::Lib' 
Running make for V/VP/VPARSEVAL/Event-Lib-1.03.tar.gz 
Fetching with LWP: 
http://www.perl.org/CPAN/authors/id/V/VP/VPARSEVAL/Event-Lib-1.03.tar.gz 
Checksum for /Users/username/code/CitrusPerl/cpan/sources/authors/id/V/VP/VPARSEVAL/Event-Lib-1.03.tar.gz ok 
Scanning cache /Users/username/code/CitrusPerl/cpan/build for sizes 
............................................................................DONE 

    CPAN.pm: Building V/VP/VPARSEVAL/Event-Lib-1.03.tar.gz 

Checking existance of libevent...ld: warning: directory not found for option '-L/sw/lib' 
ld: warning: directory not found for option '-L/opt/local/lib' 
yes 
Checking capabilities... 
    event_set_log_callback...no 
    event_priority_init...no 
Additional defines: 

Checking if your kit is complete... 
Looks good 
Writing Makefile for Event::Lib 
Writing MYMETA.yml and MYMETA.json 
cp Lib/Event/Lib.pm blib/lib/Event/Lib.pm 
Skip blib/lib/Event/Lib.pm (unchanged) 
/Users/username/code/CitrusPerl/bin/perl /Users/username/code/CitrusPerl/lib/ExtUtils/xsubpp -typemap /Users/username/code/CitrusPerl/lib/ExtUtils/typemap -typemap typemap Lib.xs > Lib.xsc && mv Lib.xsc Lib.c 
gcc -c -I/usr/local/include -fno-common -DPERL_DARWIN -no-cpp-precomp -arch i386 -B/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/gcc -B/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/lib/gcc -isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include -F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks -mmacosx-version-min=10.6 -DUSE_SITECUSTOMIZE -Duselargefiles -DPERL_RELOCATABLE_INCPUSH -fno-merge-constants -fno-strict-aliasing -pipe -fstack-protector -O3 -DVERSION=\"1.03\" -DXS_VERSION=\"1.03\" "-I/Users/username/code/CitrusPerl/lib/CORE" -DHAVE_CONFIG_H Lib.c 
Lib.xs: In function ‘boot_Event__Lib’: 
Lib.xs:275: error: ‘LOG_LEVEL’ undeclared (first use in this function) 
Lib.xs:275: error: (Each undeclared identifier is reported only once 
Lib.xs:275: error: for each function it appears in.) 
make: *** [Lib.o] Error 1 
    VPARSEVAL/Event-Lib-1.03.tar.gz 
    /usr/bin/make -- NOT OK 
Running make test 
    Can't test without successful make 
Running make install 
    Make had returned bad status, install seems impossible 
Failed during this command: 
VPARSEVAL/Event-Lib-1.03.tar.gz    : make NO 

回答

0

我能得到這個在10分鐘左右的時間工作。

然後:

  • 釀造安裝了libevent
  • perlbrew安裝perl-5.16.0
  • perlbrew開關的Perl 5.16.0
  • 的perl -MCPAN -e「安裝事件::庫」

我覺得上面的是提供一個合適的開發環境,您可以切換了最好的實用程序; IE可以切換飛行的Perl版本。另外他們不會影響你的本地系統。無論如何,如果你決定不使用上述,你的特定錯誤看起來是關於一個缺少的頭文件。我會斷言libevent頭文件確實在/ usr/local/include中。

祝你好運。

+0

僅供參考 - 您可能不需要使用Perl Brew。嘗試首先通過自制軟件安裝libevent。 – patbaker82 2013-02-13 07:21:53

+0

我想使用CitrusPerl。我正在運行Padre,並且CitrusPerl將與Wx庫小部件一起安裝。 我試着從brew中安裝libevent,並且它安裝得很好。 Event :: Lib安裝時出現同樣的錯誤。 – 2013-02-13 17:38:04

+0

如果你將libevent建立爲一個通用庫,你也許會有更好的運氣。 #釀造卸載了libevent #釀造安裝了libevent --universal CPAN: ØCONF makepl_arg 「INC = -I在/ usr /本地/包括LIBS = -L在/ usr/local/lib目錄-levent」 安裝事件: :Lib – patbaker82 2013-02-14 02:57:40