安裝pbc包出現的問題及解決辦法

2021-08-31 09:16:54 字數 3354 閱讀 6622

注意都是在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就...