From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28471 invoked by alias); 7 Aug 2010 22:50:44 -0000 Received: (qmail 28457 invoked by uid 22791); 7 Aug 2010 22:50:43 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,TW_SG,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from lo.gmane.org (HELO lo.gmane.org) (80.91.229.12) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 07 Aug 2010 22:50:36 +0000 Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1OhsDn-0007nW-Mz for cygwin@cygwin.com; Sun, 08 Aug 2010 00:50:31 +0200 Received: from moeller.plus.com ([81.174.172.105]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 08 Aug 2010 00:50:31 +0200 Received: from huaraz by moeller.plus.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 08 Aug 2010 00:50:31 +0200 To: cygwin@cygwin.com From: "Markus Moeller" Subject: Re: Failed linking gettext-0.18 Date: Sat, 07 Aug 2010 22:50:00 -0000 Message-ID: References: <4C59DEC5.70005@cwilson.fastmail.fm> <4C5C8247.3000800@cwilson.fastmail.fm> Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=response Content-Transfer-Encoding: 7bit In-Reply-To: X-IsSubscribed: yes Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com X-SW-Source: 2010-08/txt/msg00167.txt.bz2 "Markus Moeller" wrote in message news:i3jm0r$9vt$1@dough.gmane.org... > > "Charles Wilson" wrote in message > news:4C5C8247.3000800@cwilson.fastmail.fm... >> On 8/6/2010 4:20 AM, Markus Moeller wrote: >>> Can you tell me what the error means and what I can do to fix it ? >>> >>> Thank you >>> Markus >>> >>> "Charles Wilson" wrote in message >> >> PCYMTNQREAIYR -----^^^^^^^^^^^^ >> >> And please don't top-post: >> A: Yes. >> > Q: Are you sure? >> >>A: Because it reverses the logical flow of conversation. >> >>>Q: Why is top posting frowned upon? >> >> It's complicated. The upstream maintainer of gettext REALLY dislikes a >> mechanism used for symbol resolution by the GNU toolchain (gcc/ld) with >> DLLs on mingw and cygwin: "auto-import". So, he arranges that gettext is >> always compiled with --disable-auto-import. >> >> However, recent versions of g++'s runtime library, libstdc++, ITSELF, >> require auto-import when linking IIUC. Hence, boom. >> >> I'm not sure this is easily fixed. IF I am correct, there are two >> options: (1) teach g++ how to build a libstdc++ DLL that exports symbols >> "properly" rather than requiring auto-import. This depends on a new >> cygwin g++ compiler I think. OR, (2) override the build procedure for >> gettext to ensure that --enable-auto-import is provided on every link >> command, AFTER the "default" gettext setting of --disable-auto-import. >> >> IIRC, just setting LDFLAGS before configuring won't do it, because Bruno >> *deliberately* arranged things to make overriding his desired auto-import >> behavior difficult. >> > > I just replaced disable-auto-import in configure and rerun with no change > (see gcc -std=gnu99 -g -O2 -Wl,--enable-auto-import ...). > > gcc -std=gnu99 -DLOCALEDIR=\"/usr/share/locale\" -DBISON_LOCALEDIR=\"\" > -DLOCALE_ALIAS_PATH=\"/usr/share/locale\" -DUSEJAVA= > 0 -DUSEJEXE=0 -DGETTEXTJEXEDIR=\"/usr/lib/gettext\" -DGETTEXTJAR=\"/usr/share/gettext/gettext.jar\" > -DLIBDIR=\"/usr/lib\" -DGETTEXTD > ATADIR=\"/usr/share/gettext\" -DPROJECTSDIR=\"/usr/share/gettext/projects\" > -DHAVE_CONFIG_H -I. -I.. -I. -I. -I.. -I.. -I../libgrep > -I../gnulib-lib -I../gnulib-lib -I../intl -I../../gettext-runtime/intl -DINSTALLDIR=\"/usr/bin\" > -g -O2 -c -o msgcmp-msgl-fsearch > .o `test -f 'msgl-fsearch.c' || echo './'`msgl-fsearch.c > windres `/bin/sh ../../windows/windres-options --escape 0.18.1` -i > ../../windows/gettext.rc -o gettext.res --output-format=coff > /bin/sh ../libtool --tag=CC --mode=link > c -std=gnu99 -g -O2 -Wl,--enable-auto-import -o msgcmp.exe > msgcmp-msgcmp.o msgcmp-msg > l-fsearch.o libgettextsrc.la gettext.res > libtool: link: gcc -std=gnu99 -g -O2 -Wl,--enable-auto-import -o > .libs/msgcmp.exe msgcmp-msgcmp.o msgcmp-msgl-fsearch.o gettext.res > ./.libs/libgettextsrc.dll.a -L/usr/lib > /home/markus/gettext-0.18.1.1/gettext-tools/gnulib-lib/.libs/libgettextlib.dll.a > /usr/lib/li > bcroco-0.6.dll.a /usr/lib/libglib-2.0.dll.a /usr/lib/libpcre.dll.a > /usr/lib/libintl.dll.a /usr/lib/libxml2.dll.a -lz /usr/lib/libncu > rses.dll.a > /home/markus/gettext-0.18.1.1/gettext-tools/intl/.libs/libintl.dll.a > /usr/lib/libiconv.dll.a /usr/lib/gcc/i686-pc-cygwin/ > 4.3.4/libstdc++.dll.a -L/usr/lib/gcc/i686-pc-cygwin/4.3.4 > 3 [main] ld 8344 sig_send: wait for sig_complete event failed, signal > 6, rc 258, Win32 error 0 > collect2: ld terminated with signal 6 [Aborted] > /usr/lib/gcc/i686-pc-cygwin/4.3.4/../../../../i686-pc-cygwin/bin/ld: > /usr/lib/libintl.dll.a(d000050.o): illegal symbol index 1633970 > 478 in relocs > make[4]: *** [msgcmp.exe] Error 1 > make[4]: Leaving directory > `/home/markus/gettext-0.18.1.1/gettext-tools/src' > make[3]: *** [all] Error 2 > make[3]: Leaving directory > `/home/markus/gettext-0.18.1.1/gettext-tools/src' > make[2]: *** [all-recursive] Error 1 > make[2]: Leaving directory `/home/markus/gettext-0.18.1.1/gettext-tools' > make[1]: *** [all] Error 2 > make[1]: Leaving directory `/home/markus/gettext-0.18.1.1/gettext-tools' > make: *** [all-recursive] Error 1 > If I copy ./gettext-runtime/intl/.libs/libintl.dll.a into /usr/lib the link works, but the make install breaks everything :-( > > Regards > Markus > >> -- >> Chuck >> > > > -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple