Я пытаюсь скомпилировать rsync-3.0.7 на Solaris 5.10 на чипсете Intel.
При беге ./configure
Я вижу следующие (заведомо ошибочные строки):
checking size of int... 0
checking size of long... 0
checking size of long long... 0
checking size of short... 0
checking size of int16_t... 0
checking size of uint16_t... 0
В config.log
Я вижу следующие строки:
configure.sh:5448: /tool/sunstudio12.1/bin/cc -xc99=all -o conftest -g -DHAVE_CONFIG_H conftest.c >&5
"conftest.c", line 123: warning: statement not reached
cc: Fatal error in cc : Segmentation Fault
configure.sh:5448: $? = 1
configure.sh: program exited with status 1
Ошибка сегментации? Что могло привести к сбою простого тестового сценария во время компиляции?
Это не исправит ваши проблемы с компиляцией, но вы всегда можете использовать репозиторий opencsw http://opencsw.org/ у них уже скомпилирована эта версия rsync и есть полезное приложение под названием pkg-get для выполнения установки
Я столкнулся с той же проблемой, но не смог использовать -xc99=all,no_lib
обходной путь (программа, которую я создавал, требовала всех функций c99), и попытался вручную запустить команду cc под truss. Он показал, что segfault произошел сразу после попытки открыть /lib/values-xpg6.o
. Этого файла не было, но он доступен в SUNWarc
пакет. Я установил это, и segfault исчез.
Я не совсем уверен, в чем заключалась основная причина, но это должно помочь всем, у кого вышеуказанный обходной путь не работает.
Опция -xc99=all
вызывал segfault. Описание опции можно найти Вот в котором указано, что по умолчанию -xc99=all,no_lib
(что не приводит к сбою компилятора).
Чтобы сделать configure
сценарий работы, которую я редактировал configure.sh
это и заменил экземпляр -xc99=all
к -xc99=all,no_lib
Ответил на мой собственный вопрос, чтобы у других, которые сталкиваются с этой проблемой, мог быть вектор, чтобы попытаться найти обходной путь.