여기에 지침을 따라 : http://lpsolve.sourceforge.net/5.5/PHP.htm#Compile_the_lpsolve_driver 및 여기에서 소스를 다운로드 : http://sourceforge.net/projects/lpsolve/ 그러나 내가이 메시지를 얻을 원본 디렉토리에서 phpize 입력 : Cannot find config.m4. Make sure that you run '/opt/local/bin/phpize' in the top level source directory of the module.
내가 뭘 잘못하고 있는지 모르겠다. 어디서나 lpsolve에 대한 소스 디렉토리에 (재귀 적으로) config.m4가 표시되지 않습니다.어떻게 macports PHP 5.4.2 향해 lp_solve 컴파일합니까?
답변
GOT IT.
아래 단계를 게시하여 작동하도록했습니다. 길어 보이지만 그렇게 나쁘지는 않습니다.
이 세 사이트는 문제를 해결하는 데 도움이되었습니다.
For building the correct library
For malloc error when using make
For function_entry error when using make
다운로드 : lp_solve_5.5.2.0_source.tar
, lp_solve_5.5.2.0_PHP_source.tar
http://sourceforge.net/projects/lpsolve/files/lpsolve/5.5.2.0/
이에서 내가 작동하게하기 위해 취한 조치입니다. 먼저 확장 프로그램 디렉토리가 올바른지 확인하십시오. 나는 파일의 기본값 (기본적으로 다시 /opt/local/lib/php54/extensions/no-debug-non-zts-20100525
이되도록 주석으로 처리)을 설정했다. 또한 extension=phplpsolve55.so
줄을 추가했습니다. $ port unload apache2
과 $ port load apache2
을 사용하여 웹 서버를 다시 시작하십시오.
$ php
을 실행하면 터미널의이 시점에서 phplpsolve55.so
드라이버를 찾을 수 없다는 불평을해야합니다.
다운로드하여 lp_solve_5.5
이라는 디렉토리에 lp_solve_5.5_source.tar.gz
을 다운로드하고 확장하십시오.
lp_solve_5.5.2.0_PHP_source.tar
을 다운로드하여 디렉터리에 lp_solve_5.5_PHP
으로 확장하십시오.
1) 소스 디렉토리에 lp_solve 라이브러리를 빌드하십시오. 두 파일이 lpsolve55\bin\osx64
2에있는 한 나를 위해
$ ls liblp*
liblpsolve55.a liblpsolve55.dylib
)을 lp_solve 라이브러리를 설치
$ cd lp_solve_5.5/lpsolve55
$ sh ccc.osx
이것은 lpsolve55 하위 디렉토리에 두 개의 새로운 파일을 만듭니다.
lpsolve55
디렉토리에 없으면 cd로 설정하십시오.liblpsolve55.a
복사 liblpsolve55.dylib
/usr/local/lib
에 (먼저 /usr/local/lib
작성해야 할 수도 있습니다 : $ sudo mkdir -p /usr/local/lib
를)
$ sudo cp liblpsolve55.a liblpsolve55.dylib /usr/local/lib
3) 빌드 및 설치를 테스트합니다.
$ cd lp_solve_5.5/demo
ccc.osx
스크립트는 끊어집니다. 좋은 소식은 의 버전 5.5 lp_solve가 이전 버전의 에있는 Mac에서의 "malloc.h"비 호환성을 수정한다는 것입니다. 유닉스/리눅스 스크립트는 지금은 '데모'를 구축하는 데 몇 초 정도 걸릴 수 있습니다 ... 이 인내심 OS X의 작동 :
$ sh ccc
오류를 발행하지 않고 이 있어야 데모의 예제 문제 " 우수한 수치의 정확성 || * || = 0 "
$ ./demo
3) 이제 PHP를 lpsolve 라이브러리
빌드 PHP 디렉토리로 이동 (lp_solve_5.5_PHP
)
$ cd lp_solve_5.5_PHP/extra/PHP
$ phpize
$ ./configure --enable-maintainer-zts --with-phplpsolve55=PATH TO SOURCE DIRECTORY
* SOURCE 디렉토리 경로입니다 당신은 lp_solve_5.5을 넣어 어디든지 * 현재 (lp_solve_5.5_PHP/extra/PHP
) 디렉토리에 변경해야하는 PHPmod.c
열기 function_entry
열기 zend_function_entry
에 hash.c
도 같은 디렉토리에 있어야하고 그 줄을 변경하십시오
#include <malloc.h>
참고
#if !defined(__APPLE__)
#include <malloc.h>
#endif
**
에 나는 단지 내가이 일을하기 전에 내 컴퓨터에$ make
를 실행하기 때문에이 일을 알고는이 두 파일에 대해 불평 *
다음 할
$ make
$ cd modules
$ sudo cp phplpsolve55.so /opt/local/lib/php54/extensions/no-debug-non-zts-20100525/
이제 $ php
을 실행하면 오류가 반환되지 않습니다.
아파치 서버를 다시 시작하면 확장 프로그램이 작동합니다. 그렇지 않으면 나는 최대한 많이 도울 것입니다.
희망이 미래에 누군가를 도와줍니다.
편집
은 그냥 매버릭스로 업데이트 모든 것이 아직 완벽하게 잘 작동합니다. 내가 한 것은 here에 설명 된 단계를 따르고 업그레이드를 완료 한 후 $ xcode-select --install
으로 실행했습니다.그럼 난 $ sudo port selfupdate
을했고, 마침내 내 모든 포트를 다시로드 페이지의 하단에있는 스크립트를 실행 :
curl -O https://svn.macports.org/repository/macports/contrib/restore_ports/restore_ports.tcl
chmod +x restore_ports.tcl
sudo ./restore_ports.tcl myports.txt
을 그가 나는 $ sudo port load apache2
했다 수행하고 모든 여전히 작동되자.
lp_solve_5.5/extra/PHP/
을보고 config.m4
을 찾을 수 있는지 확인하십시오.
이 nabble thread은 날짜가 있지만 도움이되어야합니다.
좋아요.이 스레드를 사용했습니다. http://lp-solve.2324885.n4.nabble.com/installing-lpsolve-with-python-2-6-td8728.html 이제이 문제가 발생합니다. configure : error : 잘못된 phplpsolve55 라이브러리, make_lp()를 찾을 수 없습니다. – thed0ctor
/extra 디렉토리를 소스 디렉토리에 복사해야했습니다. http://jeyroz.tumblr.com/post/605709794/lpsolve-php에서 PHP 모듈 설치, 1 단계를 참조하십시오. 아무튼 : 정말 고마워요! – SimonV