Компилятор C не может создать исполняемые файлы, ошибка OpenSolaris Erlang / OTP ./configure - PullRequest
2 голосов
/ 31 июля 2011

выполнял сценарий ./configure для OTP14B03 в OpenSolaris и получил следующий вывод

Ignoring the --cache-file argument since it can cause the system to be erroneously configured
Disabling caching
checking build system type... i386-pc-solaris2.11
checking host system type... i386-pc-solaris2.11
checking for gcc... gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.

У меня установлен gcc4, в $ PATH установлен libgcc, но все равно появляется эта ошибка. поиск в сети заставил меня попробовать добавить /usr/ccs/bin, чтобы найти файл ld.so (вероятно, это связано с компилятором C ++ или компоновщиком). Может ли кто-нибудь помочь мне

EDIT: Файл конфигурации / журнала содержит это:

This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:2041: $? = 0
configure:2043: gcc -v &5
Reading specs from /usr/local/lib/gcc/i386-pc-solaris2.10/3.4.6/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-shared --enable-languages=c,c++,f77
Thread model: posix
gcc version 3.4.6
configure:2046: $? = 0
configure:2048: gcc -V &5
gcc: `-V' option must have argument
configure:2051: $? = 1
configure:2074: checking for C compiler default output file name
configure:2077: gcc    conftest.c  >&5
ld: fatal: file values-Xa.o: open failed: No such file or directory
ld: fatal: file processing errors. No output written to a.out
collect2: ld returned 1 exit status
configure:2080: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| 
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:2118: error: C compiler cannot create executables
See `config.log' for more details.

1 Ответ

3 голосов
/ 31 июля 2011

Ваш компоновщик не может найти объектный файл values-Xa.o.

В соответствии с этим FAQ это либо означает, что в вашей системе отсутствует пакет, требуемый компилятором, либо установлены требуемые пакеты, но путь к библиотеке по умолчанию не отражает его.

В качестве быстрой проверки вы можете попробовать добавить /usr/ccs/lib к пути к библиотеке:

./configure LDFLAGS="-L/usr/ccs/lib"
...