delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/09/13/11:21:36

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Date: Mon, 13 Sep 2004 12:21:48 -0300
From: "Michael D. Crawford" <crawford AT goingware DOT com>
Subject: Re: Crash in setup 2.427
To: cygwin AT cygwin DOT com
Message-id: <4145BB0C.4060705@goingware.com>
MIME-version: 1.0
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.2) Gecko/20040803
X-IsSubscribed: yes

(A stream of consciousness transcript in which Mike gets a clue about 
using Setup...)

Larry Hall wrote:
> You might be getting caught by some arcane setup logic with dependencies.
> I'd recommend uninstalling all gcc packages and then reinstall all the ones
> you need together.  That should get you the versions you want.

That made sense, and I tried it, but I was unable to get all the gcc 
packages uninstalled.  I could remove most of them, but upon trying to 
remove the last one, setup would crash.

What I tried was to get all the components at version 3.3.3-3, which 
worked ok, and then to replace them all with version 3.4.1-1.  I could 
get most of it, but I could not get rid of this error message:

$ gcj Hello.java
/usr/lib/gcc/i686-pc-cygwin/3.4.1/../../../../i686-pc-cygwin/bin/ld: 
cannot find -lgcc

Looking through gcj --help, I found the following option:

$ gcj -print-libgcc-file-name
libgcc.a

Doing a search for libgcc.a at http://cygwin.com/packages/ I found that 
it should be in one of the following packages:

gcc/gcc-3.3.1-1
gcc/gcc-3.3.1-3
gcc-core/gcc-core-3.3.3-3
gcc-core/gcc-core-3.4.1-1

The only 3.4.1-1 version there is the package gcc-core.  But it looks 
like gcc-core is only source files.  In any case, installing it doesn't 
product libgcc.a.

However, look closely at the path in the error message:

/usr/lib/gcc/i686-pc-cygwin/3.4.1/

I don't think i686-pc-cygwin is what I want.  I'm trying to create a 
win32 binary.  I need to use -mno-cygwin on the gcj command line!  Now I 
get:

$ gcj -mno-cygwin Hello.java
/usr/lib/gcc/i686-pc-mingw32/3.4.1/../../../../i686-pc-mingw32/bin/ld: 
cannot find -lgcc

At some point I had libgcj.a installed in i686-pc-mingw32. 
Unfortunately, it went away.  Now let me see if I can get it back.

Just now I see that Yitzchak Scott-Thoennes wrote:

> Don't mess with the version numbers it shows you.  Use the ones it shows
> when the Curr(ent) radio button is selected or the ones it shows when
> the Exp(erimental) radio button is selected.

That looks like it might work.  Before I saw that, I had dropped back 
again to 3.3.3-3.  With the experimental button selected, I setup wants 
to install version 3.4.1-1 for gcc, gcc-core, gcc-g++ and gcc-java. 
gcc-mingw it wants to keep at 20040810-1.  It wants to install 
20040822-1 for gcc-mingw-core, gcc-mingw-g++, and gcc-mingw-java.

(Hopefully, he presses the Next button...  Installation complete...)

$ gcj -mno-cygwin Hello.java
/usr/lib/gcc/i686-pc-mingw32/3.4.1/../../../../i686-pc-mingw32/lib/libmingw32.a(
main.o)(.text+0x106):main.c: undefined reference to `WinMain AT 16'

Well that's progress.

$ gcj -mno-cygwin Hello.java -lm

Nope.  Try "man gcj":

$ gcj -mno-cygwin --main=Hello Hello.java
gcj: installation problem, cannot exec 'cc1': No such file or directory

I did "download from internet", selected the Exp button, and now the 
installer wants to download the binary for gcc-core 3.4.1-1.  I thought 
there was just source. Must have missed that before...

$ gcj -mno-cygwin --main=Hello Hello.java

mike AT bjarne ~/IrateDev/Hello
$ ls
Hello.java  a.exe

mike AT bjarne ~/IrateDev/Hello
$ ./a.exe
Hello, World!

Now to checkout the iRATE sources.  Taras Glek managed to built iRATE 
with gcj for Win32 last night, but I think he was doing the builds on 
Linux.

Success!

Thanks for your help, I appreciate it.

Michael D. Crawford
GoingWare Inc. - Expert Software Development and Consulting
http://www.goingware.com/
crawford AT goingware DOT com

     Tilting at Windmills for a Better Tomorrow.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019