Компиляция Ncurses в Solaris - «Недопустимый компилятор или опции для приложений до UNIX 03 X / Open и приложений до 2001 POSIX»? - PullRequest
2 голосов
/ 21 июля 2011

Я пытаюсь скомпилировать стек GNU в Solaris 10 (x86).

До сих пор мне удалось получить следующее:

  • GMP
  • MPFR
  • MPC
  • GCC
  • binutils
  • libiconv
  • gettext

I 'В настоящее время я пытаюсь собрать Ncurses, и у меня возникает ошибка:

/db/pub/eq/tools/bin/g++ -I../c++ -I../include -I/db/pub/eq/src/ncurses-5.9/c++ -DHAVE_CONFIG_H   -D__EXTENSIONS__ -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64  -DNDEBUG -I. -I../include -I/db/pub/eq/src/ncurses-5.9/c++/../include -I/db/pub/eq/tools/include/ncurses -O2 -c /db/pub/eq/src/ncurses-5.9/c++/cursesf.cc -o ../objects/cursesf.o
<command-line>:0:0: warning: "_XOPEN_SOURCE" redefined [enabled by default]
<built-in>:0:0: note: this is the location of the previous definition
In file included from /usr/include/iso/stdlib_iso.h:30:0,
             from /usr/include/stdlib.h:18,
             from /db/pub/eq/src/ncurses-5.9/c++/internal.h:53,
             from /db/pub/eq/src/ncurses-5.9/c++/cursesf.cc:34:
/db/pub/eq/tools/lib/gcc/i386-pc-solaris2.10/4.6.1/include-fixed/sys/feature_tests.h:341:2: error: #error "Compiler or options invalid for pre-UNIX 03 X/Open applications      and pre-2001 POSIX applications"
*** Error code 1
make: Fatal error: Command failed for target `../objects/cursesf.o'
Current working directory /db/pub/eq/src/ncurses-5.9/c++
*** Error code 1
make: Fatal error: Command failed for target `all'

Я не совсем уверен, что означает вышеуказанная ошибка (Compiler or options invalid for pre-UNIX 03 X/Open applications and pre-2001 POSIX applications), или как ее устранить.

Я уже видел эту ошибку однажды, когда строил MPC (во время gmake check), но я понятия не имел, что это тогда значило или как ее исправить - но так как она была в проверках, она была в порядке.

Ура, Виктор

1 Ответ

4 голосов
/ 05 августа 2011

применить этот патч к скрипту настройки:

--- configure.orig  Fri Aug  5 14:28:28 2011
+++ configure       Fri Aug  5 14:31:11 2011
@@ -7246,7 +7246,7 @@
    # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
    ;;
 solaris2.1[0-9]) #(vi
-   cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+   cf_xopen_source="-D__EXTENSIONS__"
    ;;
 solaris2.[1-9]) #(vi
    cf_xopen_source="-D__EXTENSIONS__"

Ncurses 5.6 также не определил _XOPEN_SOURCE для соляриса.

Приветствия

...