Ошибка компиляции GCG в Scipoptsuite-6.0.0: reader_zpl.c:(.text+0x319): неопределенная ссылка на `zpl_read'

Я уже скачал Scipoptsuite-6.0.0 и установил scip командой 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?


person Qidong    schedule 18.12.2018    source источник


Ответы (1)


Кажется, существует некоторая путаница в отношении того, существует ZIMPL или нет. Попробуйте сделать первую сборку с ZIMPL=false (в качестве аргумента для вызова make) или сборку GCG с ZIMPL=true.

person stefan    schedule 18.12.2018
comment
Теперь я установил «make ZIMPL=false gcg» в каталоге «scipoptsuite-6.0.0», и он действительно работает без ошибок: ** Найдите свой двоичный файл GCG в /home/yang/Documents/Software/scipoptsuite-6.0.0. /gcg/бен. Я могу найти документ общей библиотеки «gcg-3.0.0.linux.x86_64.gnu.opt.spx2» в папке «scipoptsuite-6.0.0/gcg/bin». Тогда как я могу установить gcg? Должен ли я сделать «установить gcg» в папке scipoptsuite-6.0.0? или в папке scipoptsuite-6.0.0/gcg? - person Qidong; 18.12.2018
comment
Я ввожу «./gcg» в каталог «scipoptsuite-6.0.0/gcg/bin» и запускаю программное обеспечение GCG. Я не уверен, что это правильный способ запустить gcg, потому что после установки SCIP я мог запустить его, просто набрав «scip» в командном окне в любом каталоге. - person Qidong; 18.12.2018
comment
Я никогда не пытался установить gcg, но «make install ZIMPL=false» в подкаталоге gcg может сработать. Но запустить gcg из scipoptsuite-6.0.0/gcg/bin тоже не так уж и плохо. - person stefan; 19.12.2018