This is the mail archive of the
mailing list for the Cygwin project.
Re: Problem with execution of binary file
- From: Edvardsen KÃre <kare dot edvardsen at uit dot no>
- To: "cygwin at cygwin dot com" <cygwin at cygwin dot com>
- Date: Thu, 3 Nov 2011 13:18:42 +0000
- Subject: Re: Problem with execution of binary file
- References: <1320325271.5480.163.camel@kare-desktop>
On to., 2011-11-03 at 14:01 +0100, Edvardsen KÃre wrote:
> On Nov 3 12:20, Edvardsen KÃre wrote:
> > I keep getting the "cannot execute binary file" and don't understand
> > why. I have compiled same software on two different machines, but only
> > one of the binaries work (it works on both machines). The successful
> > machine is a HP laptop with W7 Pro, the other unsuccessful is a HP
> > desktop in a AD network domain with W7 Enterpr and cygwin is installed
> > with lokal admin rights only, so I keep getting the "Your group is
> > currently mkpasswd..." message.
> What about running
> $ mkpasswd -l -d > /etc/passwd
> $ mkgroup -l -d > /etc/group
> so you don't get this message?
> > I don't know if this may affect the
> > result, but should not, as I can run the other successful binary.
> > I was guided to run "strace" along with the call to the erroneous binary
> > and the output is pasted below. The problem binary is called
> > "FLEXPART_GFORTRAN" Can anyone see what's wrong in the strace log?
> No. What the strace shows is that bash does not even try to fork
> and then exec FLEXPART_GFORTRAN. Rather, it just opens the file,
> reads the first few bytes and then prints the error message:
> > 4514 125618 [main] bash 536 open: open (./FLEXPART_GFORTRAN, 0x0)
> > [...]
> > 25 126365 [main] bash 536 open: 3 = open (./FLEXPART_GFORTRAN, 0x0)
> > 209 126574 [main] bash 536 isatty: 0 = isatty (3)
> > [...]
> > 25 126623 [main] bash 536 lseek64: 0 = lseek (3, 0, 1)
> > [...]
> > 24 126710 [main] bash 536 readv: 80 = readv (3, 0x28CA34, 1), errno
> > 0
> > 458 127168 [main] bash 536 open: open
> > (/usr/share/locale/locale.alias, 0x0)
> > [...etc...]
> For some reason which isn't visible in the strace, bash doesn't even
> close the file anymore.
> What does `file FLEXPART_GFORTRAN.exe' print?
The university won't let me run the
$ mkpasswd -l -d > /etc/passwd
$ mkgroup -l -d > /etc/group
with AD rights, so I just have to live with that.
file FLEXPART_GFORTRAN.exe prints: PE32 executable (console) Intel
80386, for MS Windows.
I'm not even close being an expert on this, but usually I manage to
figure out something, but this time I'm totally lost...
It's about a month since I built the well working binary on the
different machine, and wonder if any upgrades of cygwin software
(compilers or anything) since then may have contain some bug. The bad
binary is built on a quite fresh cygwin install. Maybe I will try to
reinstall cygwin on the successful machine and see if a rebuilt version
of the binary fails.
Any thoughts on that?