محاولة تجميع SLAPD على Cygwin ، ماذا يعني خطأ Automake هذا؟

StackOverflow https://stackoverflow.com/questions/457724

  •  19-08-2019
  •  | 
  •  

سؤال

أحاول تجميع مجموعة قديمة جدًا من 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 - أي فكرة إذا كان هذا قد يكون ما يبحث عنه الرابط؟

update2: تم تثبيت W32API بالفعل ، (3.13-1) - لاحظت أن هناك user32.lib كجزء من Visual -Stuido 2003 .NET - هل هناك طريقة لجعل GCC في Cygwin تستخدم هذا؟

هل كانت مفيدة؟

المحلول 3

بعد الكثير من التجربة والخطأ ، وجدت الإجابة الصحيحة لهذه المشكلة: سبب هذا الخطأ هو أنه لم يتم إعداد بيئة Cygwin بشكل صحيح.

لم يتم إعداد مستخدم تسجيل الدخول على مجال ، وبالتالي لم يتم إعداد ملفات /etc /passwd & etc /group بشكل صحيح. كان الحل هو إنشاء حساب مستخدم محلي ثم إعادة بناء ملفات PassWD والمجموعات.

بعد ذلك ، يمكن لـ GCC البناء على ما يرام.

يبدو مجنونا ، وأنا أعلم.

نصائح أخرى

يبدو أن السبب الجذري

/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../../../i686-pc-cygwin/bin/ld: لا يمكن العثور على -luser32

هذه إما مشكلة في تثبيت cygwin الخاص بك ، أو أن البرامج النصية التكوين هي القديمة للتعرف على التثبيت والتعامل معه.

إذا فشل -luser32 ، فحاول تثبيت w32api حزمة Cygwin.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top