Ошибка компиляции GCG в Scipoptsuite-6.0.0: reader_zpl.c:(. Text+0x319): неопределенная ссылка на `zpl_read'
Я уже скачал Scipoptsuite-6.0.0 и установил scip с помощью команды 'make' 'make install' в главном каталоге Scipoptsuite-6.0.0. Затем я скомпилировал GCG с помощью команды "make gcg" в том же каталоге, и произошли ошибки, связанные с "reader_zpl.c":
-> linking bin/gcg-3.0.0.linux.x86_64.gnu.opt.spx2
/home/yang/Documents/Software/scipoptsuite-6.0.0/scip/lib/static/libscip.linux.x86_64.gnu.opt.a(reader_zpl.o): In function `readerReadZpl':
reader_zpl.c:(.text+0x319): undefined reference to `zpl_read'
reader_zpl.c:(.text+0x61b): undefined reference to `zpl_read_with_args'
/home/yang/Documents/Software/scipoptsuite-6.0.0/scip/lib/static/libscip.linux.x86_64.gnu.opt.a(reader_zpl.o): In function `xlp_addcon_term':
reader_zpl.c:(.text+0xb3e): undefined reference to `numb_todbl'
reader_zpl.c:(.text+0xb51): undefined reference to `numb_todbl'
reader_zpl.c:(.text+0xbb3): undefined reference to `term_is_linear'
reader_zpl.c:(.text+0xc94): undefined reference to `mono_get_coeff'
reader_zpl.c:(.text+0xc9c): undefined reference to `numb_todbl'
reader_zpl.c:(.text+0xccb): undefined reference to `term_get_elements'
reader_zpl.c:(.text+0xcdd): undefined reference to `term_get_element'
reader_zpl.c:(.text+0xcea): undefined reference to `mono_get_var'
reader_zpl.c:(.text+0xcf5): undefined reference to `mono_get_function'
reader_zpl.c:(.text+0xd07): undefined reference to `mono_get_var'
reader_zpl.c:(.text+0xd8c): undefined reference to `term_get_degree'
и после многих подобных ошибок:
/home/yang/Documents/Software/scipoptsuite-6.0.0/scip/lib/static/libscip.linux.x86_64.gnu.opt.a(reader_zpl.o): In function `xlp_getlower':
reader_zpl.c:(.text+0x320c): undefined reference to `bound_new'
reader_zpl.c:(.text+0x323e): undefined reference to `bound_new'
/home/yang/Documents/Software/scipoptsuite-6.0.0/scip/lib/static/libscip.linux.x86_64.gnu.opt.a(reader_zpl.o): In function `xlp_addtocost':
reader_zpl.c:(.text+0x33e9): undefined reference to `numb_todbl'
collect2: error: ld returned 1 exit status
Makefile:547: recipe for target 'bin/gcg-3.0.0.linux.x86_64.gnu.opt.spx2' failed
make[4]: *** [bin/gcg-3.0.0.linux.x86_64.gnu.opt.spx2] Error 1
make[4]: Leaving directory '/home/yang/Documents/Software/scipoptsuite-6.0.0/gcg'
Makefile:402: recipe for target 'mainfiles' failed
make[3]: [mainfiles] Error 2 (ignored)
make[3]: Leaving directory '/home/yang/Documents/Software/scipoptsuite-6.0.0/gcg'
make[2]: Leaving directory '/home/yang/Documents/Software/scipoptsuite-6.0.0/gcg'
** Build complete.
** Find your GCG binary in "/home/yang/Documents/Software/scipoptsuite-6.0.0/gcg/bin".
И после компиляции я не могу найти двоичный файл GCG. Эти ошибки появляются снова, когда я пытался скомпилировать GCG в подкаталоге 'scipoptsuite-6.0.0/gcg'. Как я должен сделать, чтобы исправить эти ошибки, чтобы запустить gcg?
1 ответ
Кажется, есть некоторая путаница относительно того, есть ли ZIMPL или нет. Попробуйте выполнить первую сборку с ZIMPL=false (в качестве аргумента вызова make) или одну из сборок GCG с ZIMPL=true.