Mailing-List: contact cygwin-apps-help AT sourceware DOT cygnus DOT com; run by ezmlm Sender: cygwin-apps-owner AT sourceware DOT cygnus DOT com List-Subscribe: List-Archive: List-Post: List-Help: , Delivered-To: mailing list cygwin-apps AT sources DOT redhat DOT com From: "Ralf Habacker" To: "Cygwin-Apps" Subject: RE: Did I find an error in the current binutils or what??? Date: Wed, 7 Nov 2001 16:38:23 +0100 Message-ID: <00ae01c167a2$3c465650$651c440a@BRAMSCHE> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0 In-Reply-To: <20011107131736.U2965@cygbert.vinschen.de> Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 > Hi, > > I'm just trying to build the new born openssh-3.0p1 for Cygwin. > > There's a slight difference between 1.3.3 and 1.3.4 in so far as > __progname is defined in 1.3.4 while it wasn't in 1.3.3. > > Unfortunately, __progname isn't defined in any header file. So what > happens (and what should work fine in theory) is, I'm getting the > following message at the end of the link stage: > > Warning: resolving ___progname by linking to __imp____progname (auto-import) > > Hum, the problem is that I'm getting _another_ message right after > the above one: > > nmth000000.o(.idata$4+0x0): undefined reference to `_nm____progname' > collect2: ld returned 1 exit status > > Bingo. I've tried to find a symbol `_nm____progname' in all(!) *.a > files on my system. Nada. There's no such symbol anywhere. Ok, so > collect2 is right in that this symbol can't be resolved... but the > symbol isn't even _requested_ anywhere! I have called nm on all *.o > files in the ssh build dir and I have called nm on all *.a files on > my whole system. > > Sure, I can workaround that by undefining HAVE___PROGNAME in ssh's > config.h but that's no solution, somehow. > > What's going wrong here??? I'm really not good in such stuff. Btw., > I'm using the latest binutils and gcc. a `-v' option when linking > prints: > > /bin/../lib/gcc-lib/i686-pc-cygwin/2.95.3-5/collect2.exe -Bdynamic > --dll-search-prefix=cyg -o ssh.exe /usr/lib/crt0.o -L. > -Lopenbsd-compat/ -L/usr/local/lib -L/usr/lib -L/usr/lib/w32api > -L/bin/../lib/gcc-lib/i686-pc-cygwin/2.95.3-5 -L/bin/../lib/gcc-lib > -L/lib -L/usr/local/lib -L/usr/X11R6/lib > -L/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-5 ssh.o sshconnect.o > sshconnect1.o sshconnect2.o sshtty.o readconf.o clientloop.o > -lssh -lopenbsd-compat -lz -lregex /usr/lib/textmode.o -lcrypto > -lgcc -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc > > > Corinna I recognized a problem relating to the symbol __progname after downloading the last cygwin (dll,lib,header) snapshot and linking a little app. At first there was not problem. But after using the getopt_long function, linking was okay, but on starting the app, the windows runtime loader say that cygwin1.dll does not contain a symbol __progname. If have looked in /lib/libcygwin.a to identify the relating object file and found a reference to __progname, but I havn't found where this symbol is defined. :-( What me helped, was upgrading to the newest cygwin release (1.3.4-3) d000030.o: 00000000 i .idata$4 00000000 i .idata$5 00000000 i .idata$6 00000000 i .idata$7 00000000 t .text 00000000 T ___signgam U __head_cygwin1_dll 00000000 I __imp____signgam 00000000 I __nm____signgam d000029.o: 00000000 i .idata$4 00000000 i .idata$5 00000000 i .idata$6 00000000 i .idata$7 00000000 t .text U __head_cygwin1_dll 00000000 I __imp____progname 00000000 I __nm____progname d000028.o: 00000000 i .idata$4 00000000 i .idata$5 00000000 i .idata$6 00000000 i .idata$7 00000000 t .text U __head_cygwin1_dll 00000000 I __imp____mb_cur_max 00000000 I __nm____mb_cur_max Ralf Habacker