[comp.sys.att] Problem with a.out's

c.ng@cooper.cooper.EDU (Cho Ng ) (01/15/88)

The 3b2/200 I was using was recently upgraded (new UNIX, additional
70 Meg drive, etc.) after it experienced a hard disk crash.  The main
30 Meg hard drive and some support chips (I think) were replaced.
All the new software was restored including the C compiler.  The drives
were partitioned as follows:
	/usr on 70 Meg drive
	/usr2 on 30 Meg drive
	/usr3 on 70 Meg drive
My account is in /usr2.

So here is my problem: When I try to execute a.out, I get the message
'a.out: Cannot execute'.  I used the -V flag to check compilation,
assembly, and linkage and they are completed without error (or so it
seems to me).  The file attributes for a.out indicates that a.out
can be executed (-rwxr-xr-x) but the system tells me it can't be.
However, bin files can be executed when they are -rwxr-xr-x-.
I can't find anything in the manuals so far to tell me why I'm
having problems.  Is it because some software or hardware was
improperly installed or replaced?

Any help as soon as possible would be greatly appreciated.

Also, I am not guru or higher knowledgeable, so please keep explanations
as simple as possible. Thanks.

 <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
 **                                                                          **
 **   Fr:Cho Ng                                                              **
 **   At:The Cooper Union for        ihnp4!philabs!phri!cooper!c.ng          **
 **      the Advancement of                       ||                         **
 **      Science and Art               "phri!cooper!c.ng"@nyu.arpa           **
 **                                                                          **
 <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>

dhawk@well.UUCP (David Hawkins) (01/18/88)

In the referenced article, c.ng@cooper.cooper.EDU (Cho Ng ) wrote:
>
>So here is my problem: When I try to execute a.out, I get the message
>'a.out: Cannot execute'.  I used the -V flag to check compilation,
>Any help as soon as possible would be greatly appreciated.
>
Check to see if a 'a.out' is somewhere earlier in your path.
Or type   ./a.out    to execute the a.out in the present directory.
I wouldn't suggest this except that I got bit on this one Friday.
I'm not going to say how long it took me to figure out what was
happening.
-- 
David Hawkins       {ptsfa,hplabs,ucbvax}!well!dhawk
I'm too busy to come up with a clever .signature.  Sorry.

rjd@occrsh.ATT.COM (01/18/88)

>The 3b2/200 I was using was recently upgraded (new UNIX, additional

  No such machine....  3B2/300?

> [ deleted details of repair ]

>So here is my problem: When I try to execute a.out, I get the message
>'a.out: Cannot execute'.  I used the -V flag to check compilation,
>assembly, and linkage and they are completed without error (or so it
>seems to me).  The file attributes for a.out indicates that a.out
>can be executed (-rwxr-xr-x) but the system tells me it can't be.
>However, bin files can be executed when they are -rwxr-xr-x-.
>I can't find anything in the manuals so far to tell me why I'm
>having problems.  Is it because some software or hardware was
>improperly installed or replaced?

  Check your path...  You are trying to run an a.out found in your path
before the one in the present directory.  If unsure, execute "type a.out"
and the shell (at least the stock Bourne /bin/sh and the Korne shell)
will tell you what a.out it is executing.  My bet is that there is an a.out
in your path before the one that you are trying to execute that happens
to be non-executable.  I know of no possible hardware failure that could
cause the message without causing umpteen million other weird failures.
  To fix: either just execute "./a.out" to execute the one in the present
path, change your PATH variable, remove the non-executable a.out, move your
a.out file to a different name, or compile the program you want into another
file using the -o option.

Randy

BTW: a binary executable file only needs the execute bit set to execute,
so all you need for the owner to run it is ---x------, a shell script needs
the read bit set also.

mingus@sfsup.UUCP (Damballah Wedo) (01/20/88)

> c.ng@cooper.cooper.EDU (Cho Ng ) (in <1181@cooper.cooper.EDU>):
> So here is my problem: When I try to execute a.out, I get the message
> 'a.out: Cannot execute'.  

You say support chips, your disk and your operating system were replaced
on your machine. In that case, the problem may be that the machine is
running the CPLU 4.2 compiler in MAU-only mode but you don't have a MAU.
The MAU is the Math Accelerator chip. CPLU 4.2 MAU-only mode requires that
you have a MAU even if your program does no floating point. If you don't
have and are not planning to get a MAU, you might wish to re-install the
CPLU in compatibility mode. That will let you run your a.outs.
-- 
Marcel-Franck Simon				attunix!mingus

	Min pouki sa tout moun ap mande'-m' ki sa siyati-moin vle' di? 

brad@bradley.UUCP (01/20/88)

Also check the version of the compiler with the version of the O/S
we had some programs that would run under System V 2.0.4, but under
2.1 the programs would work.

c.ng@cooper.cooper.EDU (Cho Ng ) (01/22/88)

in article <1181@cooper.cooper.EDU>, c.ng@cooper.cooper.EDU (Cho Ng ) says:
> 
> 
> So here is my problem: When I try to execute a.out, I get the message
> 'a.out: Cannot execute'.  I used the -V flag to check compilation,
> assembly, and linkage and they are completed without error (or so it
> seems to me).  The file attributes for a.out indicates that a.out
> can be executed (-rwxr-xr-x) but the system tells me it can't be.
> However, bin files can be executed when they are -rwxr-xr-x-.
> I can't find anything in the manuals so far to tell me why I'm
> having problems.  Is it because some software or hardware was
> improperly installed or replaced?


I have some new info. 

Some of you have sent me some suggestions but none solved my problem.
I have used 'echo $PATH' to check my PATH environment variable and
there is a ':' at the beginning of the path.  So that isn't it.
Also, I entered './a.out' to make sure I'm running the right a.out
file and I get a upgrade of the old error message: './a.out: Cannot execute'

I have also transfered the a.out file to another 3b2 via floppy disk
and it executed fine on that machine so I know programs compile properly
on my 3b2 and therefore, the magic numbers, etc. exist and are correct
in the a.out files.

Could there be a transparent security code in the propriety chips that is
causing the problem?  I wasn't around when the ATT service personnel fixed
the 3b2 after its hard disk crash but someone told me that he didn't
change any of the boards - he just changed some chips on the boards.
Could that be the problem?

If anyone has anymore suggestions, please mail them to me as soon as possible
because I would like to get this 'unsurmountable' problem resolved.


<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
**                                                                        **
**   Fr:Cho Ng                                                            **
**   At:The Cooper Union for        ihnp4!philabs!phri!cooper!c.ng        **
**      the Advancement of                       ||                       **
**      Science and Art               "phri!cooper!c.ng"@nyu.arpa         **
**                                                                        **
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>