Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Oct 2002 15:00:06 -0400 (EDT)
From:      Chris BeHanna <behanna@zbzoom.net>
To:        FreeBSD-Stable <stable@freebsd.org>
Subject:   Re: Weird f77/PGIf90 behaviour in FBSD 4.7-RC!
Message-ID:  <20021007145424.B659-100000@topperwein.dyndns.org>
In-Reply-To: <20021007200510.G69734-100000@klima.physik.uni-mainz.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 7 Oct 2002, Hartmann, O. wrote:
> [...upgraded a machine to 4.7-RC as of 3 October...]

    Question:  why do you keep upgrading production machines right to
the bleeding edge?  I'd expect a production machine to lag at least a
few days behind, while you test on a machine dedicated to testing
upgrades before you put them into production.

> Now one scientist reports this weird error message to me:
>
> When she compiles a fortran program on any machine running FreeBSD
> 4.6.2-pl2 with pgf90 or pgf77, she has no problem getting the right
> code and a working binary. When doing the same on the FreeBSD 4.7-RC
> machine, she gets after typing in the program's name to run it
> 'Abort trap'. The code seems to be pure F77, so I tried to compile
> the piece oft software with the FreeBSD native f77 compiler.  On all
> FreeBSD 4.6.2-pl2 systems there is no problem, I get a working
> binary.  But compiling it on the FreeBSD 4.7-RC machine remains the
> binary unuseable with the 'Abor trap' error message. I applied a
> 'truss' command on the execution, but on FreeBSD 4.7-RC I get
>
> 	process exited before exec'ing
>
> When compiling on FreeBSD 4.7-RC I get this compiler warning:
>
> /usr/lib/libg2c.so: warning: tempnam() possibly used unsafely; consider using mkstemp()
>
>
> As a result I get the following:
>
> on FBSD 4.6.2-pl2 machines everything compiles right, on FBSD 4.7-RC
> machines I get unuseable code.

    What is the output of running the "file" command on the generated
executable?  It sounds like the output from your f77 command is
corrupted, and the kernel doesn't recognize it as an executable.

    I ran the following on a 4.7-RC machine built from sources supped
on 23 September:

C --cut here--
C
C hello, world
C

      Program Hello

      do 10, I=1,10
        print *, 'Hello, world.'
 10   continue
      stop
      end
C --cut here--

behanna@topperwein> f77 -o hello hello.f
/usr/lib/libg2c.so: warning: tempnam() possibly used unsafely; consider using mkstemp()
behanna@topperwein> ./hello
 Hello, world.
 Hello, world.
 Hello, world.
 Hello, world.
 Hello, world.
 Hello, world.
 Hello, world.
 Hello, world.
 Hello, world.
 Hello, world.
behanna@topperwein> uname -a
FreeBSD topperwein.pennasoft.com 4.7-RC FreeBSD 4.7-RC #0: Mon Sep 23 18:17:21 EDT 2002     behanna@topperwein.pennasoft.com:/raid5/usr/src/sys/TOPPERWEIN  i386


    See if the hello program works on your machine.  If not, run the
"file" command on the generated executable, and see what you get.
It's possible that you had some bit errors somewhere during your last
buildworld and/or installworld that just happened to create a
corrupted compiler that, although it compiles and links, generates
corrupt executables.

    Do C programs behave the same way?

--
Chris BeHanna                      http://www.pennasoft.com
Principal Consultant
PennaSoft Corporation
chris@pennasoft.com


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021007145424.B659-100000>