2013-01-13 32 views
2

我安裝SWI-序言如下:如何在freebsd上啓用GMP?

$./configure --prefix=/home/***/swi-prolog/ --enable-gmp 
$gmake && gmake check && gmake install 

however, it still reports no GMP syupport: 

?- random(33). 
Warning: This version of SWI-Prolog is not compiled with GMP support. 
Warning: Floating point random operations are not supported. 
ERROR: is/2: Arithmetic: `random_float/0' is not a functionenter code here 

$find /usr/local/lib -name "libgmp*"         
/usr/local/lib/libgmp.so.10 
/usr/local/lib/libgmp.so 
/usr/local/lib/libgmp.la 
/usr/local/lib/libgmpxx.so.6 
/usr/local/lib/libgmpxx.so 
/usr/local/lib/libgmpxx.la 
/usr/local/lib/libgmp.a 
/usr/local/lib/libgmpxx.a 

我使用FreeBSD和SWI-Prolog是穩定版本http://www.swi-prolog.org/download/stable/src/pl-6.2.6.tar.gz

任何建議表示讚賞!

+0

我看到[來自文檔](http://www.swi-prolog.org/build/LinuxDistro.html)需要GMP-dev。你確定你有嗎? --enable-gmp默認配置時找到相應的包 – CapelliC

+1

'locate libgmp.'給你什麼?我在Ubuntu 12.04 – false

+0

@z_axis上得到......'/ libgmp.so.10.0.2 /':你成功了嗎? – false

回答

2

它是由一組CFLAGS和LDFLAGS固定:

$echo $LDFLAGS          
-L/usr/local/lib 
$echo $CFLAGS          
-I/usr/local/include 
$./configure --prefix=/home/sw2wolf/swi-prolog/ --enable-gmp 
$gmake && gmake install 

$ldd ~/swi-prolog/lib/swipl-6.3.8/bin/i386-freebsd9.0/swipl                     
**libgmp.so.10** => /usr/local/lib/libgmp.so.10 (0x2815b000) 
libexecinfo.so.1 => /usr/local/lib/libexecinfo.so.1 (0x281b9000) 
librt.so.1 => /usr/lib/librt.so.1 (0x281c4000) 
libreadline.so.6 => /usr/local/lib/libreadline.so.6 (0x281ca000) 
libncursesw.so.5.9 => /usr/local/lib/libncursesw.so.5.9 (0x281ff000) 
libm.so.5 => /lib/libm.so.5 (0x28229000) 
libthr.so.3 => /lib/libthr.so.3 (0x28243000) 
libc.so.7 => /lib/libc.so.7 (0x28264000) 
libncurses.so.8 => /lib/libncurses.so.8 (0x28383000) 
libtinfow.so.5.9 => /usr/local/lib/libtinfow.so.5.9 (0x283c3000) 

商祺!