我按照這裏的指示: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(遞歸)的任何地方。你如何編譯lp_solve到macports php 5.4.2?
回答
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/
這些是我採取的步驟來實現它的工作。首先確保你的擴展目錄是正確的。我將其設置回php.ini
文件中的默認值(基本上評論爲/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_source.tar.gz
展開爲名爲lp_solve_5.5
的 目錄。
下載並將lp_solve_5.5.2.0_PHP_source.tar
展開爲名爲lp_solve_5.5_PHP
的 目錄。
1)在源目錄中構建lp_solve庫。
$ cd lp_solve_5.5/lpsolve55
$ sh ccc.osx
這會在lpsolve55子目錄兩個新文件:
$ ls liblp*
liblpsolve55.a liblpsolve55.dylib
對我來說,這兩個文件分別位於lpsolve55\bin\osx64
2)安裝lp_solve庫。
如果尚未在lpsolve55
目錄中,請將其轉存至此目錄。複製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」不兼容問題。在Unix/Linux操作系統腳本現在可以在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
*其中path to source目錄是無論你把lp_solve_5.5 *
然後打開PHPmod.c
這應該是當前(lp_solve_5.5_PHP/extra/PHP
)目錄,並更改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
不應該返回任何錯誤。
重新啓動Apache服務器,擴展應該工作。如果沒有,我會盡我所能幫助。
希望這可以幫助未來的人。
編輯
剛剛更新到小牛和一切工作完全沒有動。我所做的是按照步驟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-8728.html幫助,現在我得到這個問題:配置:錯誤:無效的phplpsolve55庫,找不到make_lp() – thed0ctor
- 1. Macports編譯MySQL ++失敗
- 2. 從源代碼編譯並生成lp_solve,ubuntu
- 3. 編譯openmp,macports gcc和eclipse cdt
- 4. py2app,pyObjc和macports編譯錯誤
- 5. 爲macports選擇fortran編譯器
- 6. 在macports上用opencv編譯代碼
- 7. 用Macports編譯C++鏈接錯誤gcc47
- 8. 在Mac X上編譯fortran90,通過Macports安裝編譯器
- 9. py2app error for opencv/macports app。如何使用headerpad_max_install_names標誌編譯opencv?
- 10. 如何在Mac上編譯CGAL程序?通過MacPorts的
- 11. 你如何爲iOS編譯Halide?
- 12. 你如何預編譯Drools規則?
- 13. 你如何反編譯swf文件
- 14. 你如何讓gccgo編譯pig.go?
- 15. RStudio服務器沒有找到Macports R的庫,當編譯時
- 16. Macports - php5-mysql 5.3.6需要PHP 5.3.6,但你有PHP 5.2.17
- 17. PHP腳本如何編譯?
- 18. mapserver 5.4.2 fcgi錯誤
- 19. 編譯PHP + Libpuzzle到Windows
- 20. 編譯你自己的glibc
- 21. PHP編譯器找不到任何庫
- 22. 你的javadocs是否被編譯到你的類文件中?
- 23. 編譯器如何編譯編譯器?
- 24. 你如何翻譯你的烤麪包?
- 25. 如何編譯clojurescript到JavaScript?
- 26. 你如何讓pthreads與Phalanger一起編譯?
- 27. 如何在MacOSX中將MacPorts添加到php-fpm的PATH中
- 28. Qt 5.1 for OSX安裝只包含clang_64目錄,我該如何編譯macports gcc?
- 29. 編譯PHP?
- 30. 編譯PHP LDAP
我不得不將/ extra目錄複製到源目錄中。無論如何,請參閱http://jeyroz.tumblr.com/post/605709794/lpsolve-php中的PHP模塊安裝第1步:非常感謝! – SimonV