注意都是在sudo su下進行安裝編譯
apt-get install m4
apt-get install flex
apt-get install bison
lzip gmp-6.1.2.tar.lz
沒有lzip的還要安裝一下lzip
apt-get install lzip
然後在terminal裡進入解壓後的資料夾進行安裝,方法如下
./configure
make
make check
make install
去
在terminal裡進入解壓資料夾安裝,方法如下:
./configure
make
make install
這時安裝的庫檔案位置在/usr/local/lib
安裝的標頭檔案在 /usr/local/include
隨便編寫乙個pbc的程式存為foo.c
#include "pbc.h"
int main(void)
如果這樣在terminal終端下鍵入如下** gcc -o foo foo.c 應該會報錯
首先把庫檔案新增到可以被找到的路徑中
來自: 竟然國內的網上不去)
library在/usr/local/lib
下面,這時就需要在/etc/ld.so.conf
下面加一行/usr/local/lib
,儲存過後ldconfig一下
gcc foo.c -o foo -i /usr/local/include/pbc
./foo
okay了,如果有誰能告訴我怎樣新增標頭檔案,不要每次做程式都新增就好啦!
本以為okay了,發現直接用bls的例子上述編譯還是沒能成功
直接用上述方法編譯還是有問題出現了
/tmp/ccd5fsrv.o: in function `element_pow_zn':
bls.c:(.text+0x13b): undefined reference to `__gmpz_init'
bls.c:(.text+0x171): undefined reference to `__gmpz_clear'
/tmp/ccd5fsrv.o: in function `pbc_demo_pairing_init':
bls.c:(.text+0x479): undefined reference to `pbc_die'
bls.c:(.text+0x4bc): undefined reference to `pbc_die'
bls.c:(.text+0x4eb): undefined reference to `pairing_init_set_buf'
bls.c:(.text+0x4fe): undefined reference to `pbc_die'
/tmp/ccd5fsrv.o: in function `main':
bls.c:(.text+0x63b): undefined reference to `element_printf'
bls.c:(.text+0x663): undefined reference to `element_printf'
bls.c:(.text+0x69c): undefined reference to `element_printf'
bls.c:(.text+0x6ce): undefined reference to `element_printf'
bls.c:(.text+0x707): undefined reference to `element_printf'
bls.c:(.text+0x723): undefined reference to `pbc_malloc'
bls.c:(.text+0x751): undefined reference to `element_to_bytes_compressed'
bls.c:(.text+0x7ce): undefined reference to `element_from_bytes_compressed'
bls.c:(.text+0x7e7): undefined reference to `element_printf'
bls.c:(.text+0x7ee): undefined reference to `pbc_free'
bls.c:(.text+0x833): undefined reference to `element_printf'
bls.c:(.text+0x86c): undefined reference to `element_printf'
bls.c:(.text+0x8bb): undefined reference to `pbc_malloc'
bls.c:(.text+0x8e9): undefined reference to `element_to_bytes_x_only'
bls.c:(.text+0x966): undefined reference to `element_from_bytes_x_only'
bls.c:(.text+0x97f): undefined reference to `element_printf'
bls.c:(.text+0xa1b): undefined reference to `pbc_free'
bls.c:(.text+0xb01): undefined reference to `pairing_clear'
collect2: error: ld returned 1 exit status
知道還是由於鏈結的問題,但是所有方法都試過了,只能按照別人的來了。
#include #include "/usr/local/include/pbc/pbc.h" //必須包含標頭檔案pbc.h
要麼標頭檔案中加上pbc.h的具體位置,然後:
gcc bls.c -o bls -l. -lpbc -lgmp
./bls < ~/workspace/pbc-0.5.14/param/a.param
要麼標頭檔案只包括pbc.h,然後:
gcc bls.c -o bls -l. -lpbc -lgmp -i /usr/local/include/pbc
./bls < ~/workspace/pbc-0.5.14/param/a.param
pip 安裝包時出現time out的解決辦法
使用pip安裝軟體時,網速特別慢,最快也才10k s,時間長了之後會出現time out的錯誤,如圖所示 這說明連線超時。解決的辦法有三種,分別如下 1 設定超時時間 pip default timeout 1000 install django2 臨時切換成國內的映象 3 永久修改 pip.ini...
安裝openstack出現的問題及解決
感謝參考這篇文章,我在虛擬機器上部署成功了,後來因為虛擬機器實在帶不動,所以改裝到物理機上,在實驗室找到兩台物理機,分別為控制節點和計算節點。控制節點和計算節點的nova都配置好後,在控制節點執行openstack host list,發現沒有計算節點的資訊,在計算節點登陸master 15672顯...
安裝msdn出現的問題及解決
安裝msdn出現的問題及解決 用xx.iso 鏡象檔案安裝 解決 首先c documents and settings rar ex00.594 是安裝檔案時的臨時解壓資料夾 安裝程式無法開啟 msdn332.inf 是因為msdn332.inf沒有解壓到該臨時資料夾,其實 msdn332.inf就...