Linux サーバーで OSRM プロジェクトをセットアップしようとしていますが、その間に問題が発生しています。依存関係の最新バージョンがあり、pthreads もインストールしてセットアップしました: pecl pthread install
次に、それをphpに追加し、phpを再コンパイルします。
以下は情報です。
Centos 6 64 ビット、OSRM プロジェクトをセットアップしようとしています。
酸っぱいをダウンロードしてから:
cd osrm-backend
mkdir -p build
cd build
cmake -D STXXL_LIBRARY=/usr/local/include/stxxl.h ..
make
make でビルドが失敗する:
pthread_create が存在するかどうかの判断は、次の出力で失敗しました: Change Dir: /var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp
ビルド コマンドを実行します:"/usr/bin/gmake" "cmTryCompileExec3544628293/fast" /usr/bin/gmake -f CMakeFiles/cmTryCompileExec3544628293.dir/build.make CMakeFiles/cmTryCompileExec3544628293.dir/build gmake[1]: Entering directory main' : CheckSymbolExists.c:(.text+0x16): /var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp' への未定義の参照' gmake: *** [cmTryCompileExec3544628293/fast] エラー 2
/var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp' /usr/local/bin/cmake -E cmake_progress_report /var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec3544628293.dir/CheckSymbolExists.c.o /usr/local/bin/cc -o CMakeFiles/cmTryCompileExec3544628293.dir/CheckSymbolExists.c.o -c /var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c Linking C executable cmTryCompileExec3544628293 /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3544628293.dir/link.txt --verbose=1 /usr/local/bin/cc
CMakeFiles/cmTryCompileExec3544628293.dir/CheckSymbolExists.c.o -o cmTryCompileExec3544628293 -rdynamic CMakeFiles/cmTryCompileExec3544628293.dir/CheckSymbolExists.c.o: In functionpthread_create' collect2: error: ld returned 1 exit status gmake[1]: *** [cmTryCompileExec3544628293] Error 1 gmake[1]: Leaving directory
ファイル /var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: /* */ #include
int main(int argc, char** argv) { (void)argv; #ifndef pthread_create return ((int*)(&pthread_create))[argc]; #else (void)argc; 0 を返します。#endif }
関数 pthread_create が pthread に存在するかどうかの判断は、次の出力で失敗しました: Change Dir: /var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp
ビルド コマンドを実行:"/usr/bin/gmake" "cmTryCompileExec4016411170/fast" /usr/bin/gmake -f CMakeFiles/cmTryCompileExec4016411170.dir/build.make CMakeFiles/cmTryCompileExec4016411170.dir/build gmake[1]: ディレクトリ
/var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp' /usr/local/bin/cmake -E cmake_progress_report /var/www/html/osrm-backend/build/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec4016411170.dir/CheckFunctionExists.c.o /usr/local/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTryCompileExec4016411170.dir/CheckFunctionExists.c.o -c /usr/local/share/cmake-3.1/Modules/CheckFunctionExists.c Linking C executable cmTryCompileExec4016411170 /usr/local/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec4016411170.dir/link.txt --verbose=1 /usr/local/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTryCompileExec4016411170.dir/CheckFunctionExists.c.o -o cmTryCompileExec4016411170 -rdynamic -lpthreads /opt/rh/devtoolset-2/root/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/ld: cannot find -lpthreads collect2: error: ld returned 1 exit status gmake[1]: *** [cmTryCompileExec4016411170] Error 1 gmake[1]: Leaving directory
/varに入る/www/html/osrm-backend/build/CMakeFiles/CMakeTmp'