xiaoyur2021 发表于 2023-5-7 09:24:41

求助:OK1012A-C 系统编译出错解决方法

各位大神,有问题求助!
问题描述:
      在使用厂家给的源代码编译OK1012A-C 系统时,使用厂家给定的虚拟机环境,按照手册步骤编译源代码,成功!
      使用使用厂家给定的dockerfile创建容器,然后使用docker环境,按照手册步骤编译源代码时出错,出错信息如下:

lib/dhparams.c:2:12: error: static declaration of 'get_dh1024' follows non-static declaration
static DH *get_dh1024(void)
            ^~~~~~~~~~
In file included from lib/dhparams.c:1:0:
./lib/dhparams.h:23:5: note: previous declaration of 'get_dh1024' was here
DH *get_dh1024(void);
   ^~~~~~~~~~
lib/dhparams.c:38:12: error: static declaration of 'get_dh2048' follows non-static declaration
static DH *get_dh2048(void)
            ^~~~~~~~~~
In file included from lib/dhparams.c:1:0:
./lib/dhparams.h:24:5: note: previous declaration of 'get_dh2048' was here
DH *get_dh2048(void);
   ^~~~~~~~~~
lib/dhparams.c:87:12: error: static declaration of 'get_dh4096' follows non-static declaration
static DH *get_dh4096(void)
            ^~~~~~~~~~
In file included from lib/dhparams.c:1:0:
./lib/dhparams.h:25:5: note: previous declaration of 'get_dh4096' was here
DH *get_dh4096(void);
   ^~~~~~~~~~
lib/dhparams.c:87:12: warning: 'get_dh4096' defined but not used [-Wunused-function]
static DH *get_dh4096(void)
            ^~~~~~~~~~
lib/dhparams.c:38:12: warning: 'get_dh2048' defined but not used [-Wunused-function]
static DH *get_dh2048(void)
            ^~~~~~~~~~
lib/dhparams.c:2:12: warning: 'get_dh1024' defined but not used [-Wunused-function]
static DH *get_dh1024(void)
            ^~~~~~~~~~
Makefile:4772: recipe for target 'lib/dhparams.lo' failed
make: *** Error 1
make: *** Waiting for unfinished jobs....
rm -f stamp-h1
touch config.h.in
mv -f lib/.deps/lib_libsflow_la-sflow_sampler.Tpo lib/.deps/lib_libsflow_la-sflow_sampler.Plo
mv -f lib/.deps/lib_libsflow_la-sflow_poller.Tpo lib/.deps/lib_libsflow_la-sflow_poller.Plo
mv -f ofproto/.deps/ofproto_libofproto_la-collectors.Tpo ofproto/.deps/ofproto_libofproto_la-collectors.Plo
mv -f ofproto/.deps/ofproto_libofproto_la-names.Tpo ofproto/.deps/ofproto_libofproto_la-names.Plo
mv -f ofproto/.deps/ofproto_libofproto_la-fail-open.Tpo ofproto/.deps/ofproto_libofproto_la-fail-open.Plo
mv -f lib/.deps/lib_libsflow_la-sflow_agent.Tpo lib/.deps/lib_libsflow_la-sflow_agent.Plo
mv -f ofproto/.deps/ofproto_libofproto_la-netflow.Tpo ofproto/.deps/ofproto_libofproto_la-netflow.Plo
mv -f ofproto/.deps/ofproto_libofproto_la-ofproto-dpif-mirror.Tpo ofproto/.deps/ofproto_libofproto_la-ofproto-dpif-mirror.Plo
mv -f ofproto/.deps/ofproto_libofproto_la-in-band.Tpo ofproto/.deps/ofproto_libofproto_la-in-band.Plo
mv -f lib/.deps/lib_libsflow_la-sflow_receiver.Tpo lib/.deps/lib_libsflow_la-sflow_receiver.Plo
mv -f ofproto/.deps/ofproto_libofproto_la-connmgr.Tpo ofproto/.deps/ofproto_libofproto_la-connmgr.Plo
mv -f ofproto/.deps/ofproto_libofproto_la-ofproto-dpif-ipfix.Tpo ofproto/.deps/ofproto_libofproto_la-ofproto-dpif-ipfix.Plo
mv -f ofproto/.deps/ofproto_libofproto_la-ofproto-dpif.Tpo ofproto/.deps/ofproto_libofproto_la-ofproto-dpif.Plo
mv -f ofproto/.deps/ofproto_libofproto_la-ofproto.Tpo ofproto/.deps/ofproto_libofproto_la-ofproto.Plo
make: Leaving directory '/home/pc/SoftWare/EmbedDev/OK10xx-linux-fs/flexbuild/packages/apps/ovs-dpdk'
Makefile:5526: recipe for target 'install-recursive' failed
make: *** Error 1
make: Leaving directory '/home/pc/SoftWare/EmbedDev/OK10xx-linux-fs/flexbuild/packages/apps/ovs-dpdk'
Makefile:5831: recipe for target 'install' failed
make: *** Error 2
make: Leaving directory '/home/pc/SoftWare/EmbedDev/OK10xx-linux-fs/flexbuild/packages/apps/ovs-dpdk'
Makefile:120: recipe for target 'ovs-dpdk' failed
make: *** Error 2
make: Leaving directory '/home/pc/SoftWare/EmbedDev/OK10xx-linux-fs/flexbuild/packages/apps'
Makefile:24: recipe for target 'apps' failed
make: *** Error 2
make: Leaving directory '/home/pc/SoftWare/EmbedDev/OK10xx-linux-fs/flexbuild'


请各位大神和版主给予帮助,先谢谢了!

hai 发表于 2023-5-8 14:11:17

您打开flexbuild/packages/apps/ovs-dpdk/lib/dhparams.c文件,将每个函数前的static删除掉,然后清除一下app重新编译即可。
改成:
DH *get_dh1024(void)
DH *get_dh2048(void)
DH *get_dh4096(void)
页: [1]
查看完整版本: 求助:OK1012A-C 系统编译出错解决方法