X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,RP_MATCHES_RCVD,TW_MK X-Spam-Check-By: sourceware.org X-DKIM: Sendmail DKIM Filter v2.8.3 mux2.uit.no pA3DIhmb067419 From: =?utf-8?B?RWR2YXJkc2VuIEvDpXJl?= To: "cygwin AT cygwin DOT com" Subject: Re: Problem with execution of binary file Date: Thu, 3 Nov 2011 13:18:42 +0000 Message-ID: <1320326295.5480.178.camel@kare-desktop> References: <1320325271 DOT 5480 DOT 163 DOT camel AT kare-desktop> In-Reply-To: <1320325271.5480.163.camel@kare-desktop> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id pA3DJ6FZ028842 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? > > > Corinna First, 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. Then, 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? Cheers, Kåre