在计算python 3的CPABE工具包时,我们在Ubuntu中收到以下错误:

它将运行良好到./configure

但是在> sudo make

它给出了以下错误:

<pre><font color="#8AE234"><b>saikumar@saikumar-H110M-S2</b></font>:<font color="#729FCF"><b>~/Downloads/new/cpb/cpab</b></font>$ sudo make
[sudo] password for saikumar: 
gcc -c -o policy_lang.o policy_lang.c -O3 -Wall -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pbc -I/usr/local/include/pbc -DPACKAGE_NAME=\&quot;cpabe\&quot; -DPACKAGE_TARNAME=\&quot;cpabe\&quot; -DPACKAGE_VERSION=\&quot;0.11\&quot; -DPACKAGE_STRING=\&quot;cpabe\ 0.11\&quot; -DPACKAGE_BUGREPORT=\&quot;bethenco@cs.berkeley.edu\&quot; -DPACKAGE_URL=\&quot;\&quot; -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_STDDEF_H=1 -DHAVE_STRING_H=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DLSTAT_FOLLOWS_SLASHED_SYMLINK=1 -DHAVE_VPRINTF=1 -DHAVE_LIBCRYPTO=1 -DHAVE_LIBCRYPTO=1 -DHAVE_STRCHR=1 -DHAVE_STRDUP=1 -DHAVE_MEMSET=1 -DHAVE_GMP=1 -DHAVE_PBC=1 -DHAVE_BSWABE=1
<b>policy_lang.y:</b> In function ‘<b>yyparse</b>’:
<b>policy_lang.y:67:38:</b> <font color="#EF2929"><b>error: </b></font>expected ‘<b>;</b>’ before ‘<b>}</b>’ token
 result: policy { final_policy = $1 }
                                      <font color="#EF2929"><b>^</b></font>
<b>policy_lang.y:</b> In function ‘<b>eq_policy</b>’:
<b>policy_lang.y:212:21:</b> <font color="#AD7FA8"><b>warning: </b></font>format ‘<b>%llu</b>’ expects argument of type ‘<b>long long unsigned int</b>’, but argument 3 has type ‘<b>uint64_t {aka long unsigned int}</b>’ [<font color="#AD7FA8"><b>-Wformat=</b></font>]
    (g_strdup_printf(<font color="#AD7FA8"><b>&quot;%s_flexint_%llu&quot;</b></font>, attr, <font color="#4E9A06">n-&gt;value</font>));
                     <font color="#AD7FA8"><b>^~~~~~~~~~~~~~~~~</b></font>        <font color="#4E9A06">~~~~~~~~</font>
<b>policy_lang.y:215:21:</b> <font color="#AD7FA8"><b>warning: </b></font>format ‘<b>%llu</b>’ expects argument of type ‘<b>long long unsigned int</b>’, but argument 4 has type ‘<b>uint64_t {aka long unsigned int}</b>’ [<font color="#AD7FA8"><b>-Wformat=</b></font>]
    (g_strdup_printf(<font color="#AD7FA8"><b>&quot;%s_expint%02d_%llu&quot;</b></font>, attr, n-&gt;bits, <font color="#4E9A06">n-&gt;value</font>));
                     <font color="#AD7FA8"><b>^~~~~~~~~~~~~~~~~~~~</b></font>                 <font color="#4E9A06">~~~~~~~~</font>
<b>policy_lang.y:</b> In function ‘<b>yylex</b>’:
<b>policy_lang.y:391:18:</b> <font color="#AD7FA8"><b>warning: </b></font>format ‘<b>%llu</b>’ expects argument of type ‘<b>long long unsigned int *</b>’, but argument 3 has type ‘<b>uint64_t * {aka long unsigned int *}</b>’ [<font color="#AD7FA8"><b>-Wformat=</b></font>]
   sscanf(s-&gt;str, <font color="#AD7FA8"><b>&quot;%llu&quot;</b></font>, <font color="#4E9A06">&amp;(yylval.nat)</font>);
                  <font color="#AD7FA8"><b>^~~~~~</b></font>  <font color="#4E9A06">~~~~~~~~~~~~~</font>
<b>policy_lang.y:</b> In function ‘<b>parse_attribute</b>’:
<b>policy_lang.y:577:17:</b> <font color="#AD7FA8"><b>warning: </b></font>format ‘<b>%llu</b>’ expects argument of type ‘<b>long long unsigned int *</b>’, but argument 4 has type ‘<b>uint64_t * {aka long unsigned int *}</b>’ [<font color="#AD7FA8"><b>-Wformat=</b></font>]
   if( sscanf(a, <font color="#AD7FA8"><b>&quot; %s = %llu # %u &quot;</b></font>, s, <font color="#4E9A06">&amp;value</font>, &amp;bits) == 3 )
                 <font color="#AD7FA8"><b>^~~~~~~~~~~~~~~~~~</b></font>     <font color="#4E9A06">~~~~~~</font>
<b>policy_lang.y:596:26:</b> <font color="#AD7FA8"><b>warning: </b></font>format ‘<b>%llu</b>’ expects argument of type ‘<b>long long unsigned int</b>’, but argument 4 has type ‘<b>uint64_t {aka long unsigned int}</b>’ [<font color="#AD7FA8"><b>-Wformat=</b></font>]
     (*l, g_strdup_printf(<font color="#AD7FA8"><b>&quot;%s_expint%02d_%llu&quot;</b></font>, s, bits, value));
                          <font color="#AD7FA8"><b>^~~~~~~~~~~~~~~~~~~~</b></font>
<b>policy_lang.y:598:22:</b> <font color="#AD7FA8"><b>warning: </b></font>format ‘<b>%llu</b>’ expects argument of type ‘<b>long long unsigned int *</b>’, but argument 4 has type ‘<b>uint64_t * {aka long unsigned int *}</b>’ [<font color="#AD7FA8"><b>-Wformat=</b></font>]
   else if( sscanf(a, <font color="#AD7FA8"><b>&quot; %s = %llu &quot;</b></font>, s, <font color="#4E9A06">&amp;value</font>) == 2 )
                      <font color="#AD7FA8"><b>^~~~~~~~~~~~~</b></font>     <font color="#4E9A06">~~~~~~</font>
<b>policy_lang.y:612:26:</b> <font color="#AD7FA8"><b>warning: </b></font>format ‘<b>%llu</b>’ expects argument of type ‘<b>long long unsigned int</b>’, but argument 3 has type ‘<b>uint64_t {aka long unsigned int}</b>’ [<font color="#AD7FA8"><b>-Wformat=</b></font>]
     (*l, g_strdup_printf(<font color="#AD7FA8"><b>&quot;%s_flexint_%llu&quot;</b></font>, s, value));
                          <font color="#AD7FA8"><b>^~~~~~~~~~~~~~~~~</b></font>
Makefile:50: recipe for target &apos;policy_lang.o&apos; failed
make: *** [policy_lang.o] Error 1
</pre>

这是附加的makefile:

errors.............in command mode. https://drive.google.com/file/d/1gvVeFyEommObZqM6MnSmpSaCi4TM7ndl/view?usp=sharing

https://drive.google.com/file/d/1gvVeFyEommObZqM6MnSmpSaCi4TM7ndl/view?usp=sharing