Пытаясь скомпилировать slapd на cygwin, что означает эта ошибка с автоматом? - PullRequest
0 голосов
/ 19 января 2009

Я пытаюсь скомпилировать очень старую версию slapd (сервер LDAP) на Cygwin. Раньше это работало на компьютере с Linux, но по независящим от меня причинам это должно быть сделано для работы на сервере Windows. Было высказано предположение, что мы могли бы использовать cygwin для компиляции исходного кода.

К сожалению, сборка завершается неудачно во время «настройки» с сообщением об ошибке:

checking how to run the C preprocessor... cc -E
checking for gcc... (cached) cc
checking whether the C compiler (cc   ) works... no
configure: error: installation or configuration problem: C compiler cannot creat
e executables.

Последние несколько строк config.log:

configure: failed program was:
#line 2822 "configure"
#include "confdefs.h"

int main() {
return __EMX__;
; return 0; }
configure:2845: checking how to run the C preprocessor
configure:2866: cc -E  conftest.c >/dev/null 2>conftest.out
configure:2950: checking for gcc
configure:3063: checking whether the C compiler (cc   ) works
configure:3079: cc -o conftest    conftest.c  1>&5
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find
 -luser32
collect2: ld returned 1 exit status
configure: failed program was:

#line 3074 "configure"
#include "confdefs.h"

main(){return(0);}

ОБНОВЛЕНИЕ: Это компьютер win32 - cygwin не включает общий объект с именем user32, но Windows XP действительно включает объект с именем user32.dll - есть идеи, если это может быть то, что ищет компоновщик?

ОБНОВЛЕНИЕ 2: w32api уже установлен, (3.13-1) - я отмечаю, что в составе visual-stuido 2003 .Net есть user32.lib - есть ли способ заставить GCC использовать в Cygwin это?

Ответы [ 3 ]

1 голос
/ 19 января 2009

Если -luser32 не работает, попробуйте установить пакет w32api Cygwin.

1 голос
/ 19 января 2009

Основная причина, по-видимому,

/ usr / lib / gcc / i686-pc-cygwin / 3.4.4 /../../../../ i686-pc-cygwin / bin / ld: не удается найти -luser32

Это либо проблема с вашей установкой cygwin, либо скрипты configure устарели для распознавания и обработки установки.

0 голосов
/ 22 января 2009

После долгих проб и ошибок я нашел правильный ответ для этой проблемы: причина этой ошибки в том, что среда Cygwin была настроена неправильно.

Имя пользователя для входа в домен, поэтому файлы / etc / passwd & / etc / group по умолчанию настроены неправильно. Решением было создать локальную учетную запись пользователя, а затем пересобрать файлы passwd и groups.

После этого GCC мог бы просто отлично работать.

Звучит безумно, я знаю.

...