Не могу собрать libconfig для архитектуры mips64 - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь кросс-компилировать библиотеку libconfig для запуска на архитектуре Mips64 (Big endian).

Я только что скачал отсюда версию 1.7.2 libconfig: https://hyperrealm.github.io/libconfig/

Я уже установил кросс-компилятор.Он находится здесь:

/opt/cross/mips64-linux/bin/mips64-linux-gcc

Я разархивировал файл, используя

tar -xzf libconfig-1.7.2.tar.gz

Чтобы настроить Makefile, я выполнил следующую команду:

./configure --host=mips64-linux --disable-cxx

FromНасколько я понимаю, это отключит компиляцию c ++, а также кросс-компиляцию вывода для mips64, что мне и нужно.

Конфигурация работает нормально и создает Makefile.

Затем я запускаюсделайте и получите следующую ошибку:

make  all-recursive
make[1]: Entering directory '/home/brianw/Downloads/libconfig-1.7.2'
Making all in lib
make[2]: Entering directory '/home/brianw/Downloads/libconfig-1.7.2/lib'
make  all-am
make[3]: Entering directory '/home/brianw/Downloads/libconfig-1.7.2/lib'
  CC       libconfig_la-libconfig.lo
  CCLD     libconfig.la
ar: `u' modifier ignored since `D' is the default (see `U')
make[3]: Leaving directory '/home/brianw/Downloads/libconfig-1.7.2/lib'
make[2]: Leaving directory '/home/brianw/Downloads/libconfig-1.7.2/lib'
Making all in doc
make[2]: Entering directory '/home/brianw/Downloads/libconfig-1.7.2/doc'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/brianw/Downloads/libconfig-1.7.2/doc'
Making all in tinytest
make[2]: Entering directory '/home/brianw/Downloads/libconfig-1.7.2/tinytest'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/brianw/Downloads/libconfig-1.7.2/tinytest'
Making all in tests
make[2]: Entering directory '/home/brianw/Downloads/libconfig-1.7.2/tests'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/brianw/Downloads/libconfig-1.7.2/tests'
Making all in examples
make[2]: Entering directory '/home/brianw/Downloads/libconfig-1.7.2/examples'
Making all in c
make[3]: Entering directory '/home/brianw/Downloads/libconfig-1.7.2/examples/c'
  CCLD     example1
../../lib/.libs/libconfig.so: undefined reference to `scanctx_cleanup'
../../lib/.libs/libconfig.so: undefined reference to `format_double'
../../lib/.libs/libconfig.so: undefined reference to `libconfig_yy_scan_string'
../../lib/.libs/libconfig.so: undefined reference to `libconfig_yyset_lineno'
../../lib/.libs/libconfig.so: undefined reference to `scanctx_init'
../../lib/.libs/libconfig.so: undefined reference to `libconfig_yylex_init_extra'
../../lib/.libs/libconfig.so: undefined reference to `libconfig_yyrestart'
../../lib/.libs/libconfig.so: undefined reference to `libconfig_yy_delete_buffer'
../../lib/.libs/libconfig.so: undefined reference to `libconfig_yylex_destroy'
../../lib/.libs/libconfig.so: undefined reference to `__delete_vec'
../../lib/.libs/libconfig.so: undefined reference to `libconfig_yyparse'
../../lib/.libs/libconfig.so: undefined reference to `scanctx_current_filename'
../../lib/.libs/libconfig.so: undefined reference to `strbuf_release'
../../lib/.libs/libconfig.so: undefined reference to `scanctx_pop_include'
collect2: error: ld returned 1 exit status
Makefile:591: recipe for target 'example1' failed
make[3]: *** [example1] Error 1
make[3]: Leaving directory '/home/brianw/Downloads/libconfig-1.7.2/examples/c'
Makefile:364: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/brianw/Downloads/libconfig-1.7.2/examples'
Makefile:444: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/brianw/Downloads/libconfig-1.7.2'
Makefile:374: recipe for target 'all' failed
make: *** [all] Error 2

У меня вопрос, что я делаю не так?

...