ホームページ >バックエンド開発 >PHPチュートリアル >64 ビット Linux での robbe のコンパイルとインストールの問題について

64 ビット Linux での robbe のコンパイルとインストールの問題について

伊谢尔伦
伊谢尔伦オリジナル
2016-11-29 11:10:121384ブラウズ

最近、多くのネチズンが 64 ビット システムでの robbe のインストールに関する問題を報告しています

2 をコンパイルしましたが、次のエラーが発生しました。失敗: シンボルが見つかりません: _friso_new_from_ifile

参照元: /usr/lib/php/extensions/no-debug-non-zts-20090626/robbe.so

期待される場所: フラットな名前空間

統合されたソリューションはここにあります:

Robbe は内部的に robbe.so ファイルを 1 つ提供していますが、これは 32 ビット システムでコンパイルされており、64 ビット システムでは動作しません。

1. friso をコンパイルしてインストールします:

(1)。 FFLAGS = -O2 -Wall 変更 FFLAGS = -O2 -Wall -fPIC の場合、つまり -fPIC オプションを追加します

(2)。sudo make install

friso でインストールは成功します。 ,

2. robbe:

cd を robbe のソースコードディレクトリにコンパイルしてインストールします

(1)。phpize がない場合は、まず sudo apt-get install php5-dev を実行してツールをインストールします

(2) )./configure

(3). Makefile を変更します

ここが重要なポイントです。このファイルを変更していないため、次のターゲットに friso 共有ファイルを導入します。 -o オプションの前に -lfriso オプションを追加します。次のように変更します。

//Makefile

robbe.lo の 164 行目: /c/php_ext/robbe/robbe.c

$(LIBTOOL) --mode=compile $( CC) -I. -I/c/php_ext/robbe $( COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -c /c/php_ext/robbe/robbe.c -lfriso -o robbe.lo


//168行目Makefile

./robbe.la の: $(shared_objects_robbe) $( ROBBE_SHARED_DEPENDENCIES)

$(LIBTOOL) --mode=link $(CC) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -lfriso - o $@ -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $(shared_objects_robbe) $(ROBBE_SHARED_LIBADD)

// -lfriso

(4) を追加します。
(5). sudo make install

(6). robbe.so を php.ini に追加し、必ず robbe!

(7) を再起動します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。