मुझे एक PHP देशी एक्सटेंशन स्थापित करने में समस्या हो रही है: GnuPG। यहाँ मैंने अभी तक क्या कोशिश की है।
प्रथम:
sudo port install gpgme
sudo pecl install gnupg
दूसरी कमांड से आउटपुट इस तरह समाप्त होता है:
checking for gnupg support... yes, shared
checking for gnupg files in default path... not found
configure: error: Please reinstall the gpgme distribution
ERROR: `/private/tmp/pear/temp/gnupg/configure' failed
इसलिए, मैंने मैन्युअल रूप से स्थापित करने की कोशिश की, port contents gpgme
और आउटपुट के आधार पर कुछ मूल्यों का अनुमान लगा रहा है port contents gnupg
...
pecl download gnupg
phpize
./configure --with-gnupg=/opt/local/include --with-libdir=/opt/local/lib
काश, नसीब नहीं। यह इस तरह समाप्त होता है:
checking for gnupg support... yes, shared
checking for gpgme_check_version in -lgpgme... no
configure: error: wrong gpgme lib version or lib not found
मैंने तब CFLAGS को बढ़ाने की कोशिश की:
CFLAGS="-L/opt/local/lib" ./configure --with-gnupg=/opt/local/include
यह एक नॉनज़ेरो एग्जिट कोड देता है, लेकिन फिर make
विफल हो जाता है। यहाँ उस आउटपुट का अंत है:
/bin/sh /tmp/gnupg-1.3.2/libtool --mode=link cc -DPHP_ATOM_INC -I/tmp/gnupg-1.3.2/include -I/tmp/gnupg-1.3.2/main -I/tmp/gnupg-1.3.2 -I/Applications/MAMP/bin/php/php5.3.6/include/php -I/Applications/MAMP/bin/php/php5.3.6/include/php/main -I/Applications/MAMP/bin/php/php5.3.6/include/php/TSRM -I/Applications/MAMP/bin/php/php5.3.6/include/php/Zend -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext/date/lib -I/opt/local/include -DHAVE_CONFIG_H -L/opt/local/lib -o gnupg.la -export-dynamic -avoid-version -prefer-pic -module -rpath /tmp/gnupg-1.3.2/modules gnupg.lo gnupg_keylistiterator.lo -Wl,-rpath,/opt/local/include/lib -L/opt/local/include/lib -lgpgme
cc ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o .libs/gnupg.so -bundle .libs/gnupg.o .libs/gnupg_keylistiterator.o -L/opt/local/lib -L/opt/local/include/lib /opt/local/lib/libgpgme.dylib /opt/local/lib/libassuan.dylib /opt/local/lib/libgpg-error.dylib /opt/local/lib/libintl.dylib /opt/local/lib/libiconv.dylib -Wl,-rpath -Wl,/opt/local/include/lib
ld: warning: directory not found for option '-L/opt/local/include/lib'
ld: duplicate symbol _gnupg_keylistiterator_class_entry in .libs/gnupg_keylistiterator.o and .libs/gnupg.o for architecture x86_64
collect2: ld returned 1 exit status
make: *** [gnupg.la] Error 1
मुझे संदेह है कि मेरे --with-gnupg
arg ने किसी तरह लिंकिंग को गड़बड़ कर दिया, क्योंकि मैं -L/opt/local/include/lib
उस असफल make
रन के आउटपुट में देखता हूं ।
यहीं मैं फंस गया। ऐसा लगता है कि मैं बहुत कठिन रास्ते पर जा रहा हूं या गलत रास्ते पर जा रहा हूं।
मैं स्नो लेपर्ड (v10.6.8) का उपयोग कर रहा हूं। PHP कमांड लाइन प्रोग्राम जो मैं उपयोग कर रहा हूं वह MAMP 2.1.0 के साथ आया था ।