Компиляция python 3.7 в Solaris 11.2 завершается неудачно на этапе компоновки

1

Я пытаюсь скомпилировать python 3.7 на solaris 11.2. Компиляция, по-видимому, является свободной от ошибок до фазы связывания. У меня нет доступа root.

Я пробовал следующее:

  ./configure --prefix=/appgroup/appuser
  make

  ./configure --prefix=/appgroup/appuser --enable-shared
  make

Обе ошибки:

gcc    -o python Programs/python.o -Wl,-R,/appgroup/appuser/scripts/lib -L. -lpython3.7m -lsocket -lnsl -lintl -ldl -lsendfile   -lm  
Undefined                       first referenced
 symbol                             in file
libintl_bind_textdomain_codeset     ./libpython3.7m.so
libintl_gettext                     ./libpython3.7m.so
libintl_textdomain                  ./libpython3.7m.so
libintl_dcgettext                   ./libpython3.7m.so
libintl_bindtextdomain              ./libpython3.7m.so
libintl_dgettext                    ./libpython3.7m.so
ld: fatal: symbol referencing errors
collect2: error: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target 'python'

Я думаю, что ошибка основана на конфликте между /usr/include/libintl.h и /usr/local/include/libintl.h, потому что в файле /usr/local/include есть эти переменные, в то время как /usr/include делает не.

Я попытался установить CFLAGS = "-I/usr/include -I/usr/local/include" и CFLAGS = "-I/usr/local/include -I/usr/include", но результат был тот же самый.

Есть идеи?

  • 0
    Q: Вы связываетесь с 'libintl`? Вы установили gettext?
  • 0
    Я не сделал, но он установлен.
Показать ещё 5 комментариев
Теги:
python-3.x
linker-errors
compiler-errors
solaris

1 ответ

1
Лучший ответ

Сейчас он работает. Спасибо, paulsm4.

make clean
./configure --prefix=/apps/myapp/scripts CFLAGS="-I/usr/local/include -I/usr/include" 
cp pyconfig.h pyconfig.h-1018-1200
vim +/INTL pyconfig.h                                    

diff pyconfig.h pyconfig.h-1018-1200
    568c568
    < /* #undef HAVE_LIBINTL_H  */
    ---
    > #define HAVE_LIBINTL_H 1
    1463c1463
    < /* #undef WITH_LIBINTL */ 
    ---
    > #define WITH_LIBINTL 1

make 
make test 
... stopped test with Ctrl-C 
... (this machine is in a production environment without internet access)

make install  
python3 -V
    Python 3.7.0

Есть еще пара проблем, но он действительно загружается.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню