This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: LAPACK - testing problems


On Wed, 1 Sep 2004, Gorden Jemwa wrote:

> Igor Pechtchanski wrote:
>
> > On Wed, 1 Sep 2004, Gorden Jemwa wrote:
> >
> > > Billinghurst, David (CALCRTS) wrote:
> > >
> > > > cygwin-owner@XXXXXX.XXX wrote:
> >
> > <http://cygwin.com/acronyms/#PCYMTNQREAIYR>.  Thanks.

BTW, this was directed at David, not Gorden.

> > > > > I've just recently migrated to CYGWIN. I am having problems with
> > > > > installing the LAPACK (&BLAS) libraries. Specifically, I am
> > > > > (apparently) succeeding in compiling the libraries. However, when it
> > > > > comes to testing the routines only the ones that use eigsrc_(PLAT).a
> > > > > library seem to be able to give me any output while the rest are
> > > > > giving an error,for example:
> > > > > 	Timing square REAL LAPACK linear equations routines
> > > > > 	./xlintims < stime.in> stime.out 2>&1
> > > > > 	make: *** [stime.out] Error 128
> > > > >
> > > > > I've done almost everything suggested previously on the archives but
> > > > > to avail. Could someone help
> > > > >
> > > > > Thanks
> > > >
> > > > What happens if you run xlintims from the command line?
> > > >
> > > > 	./xlintims < stime.in
> > >
> > > I've gone through the entire library-build process again an everything
> > > seems to be working as it should except when it comes to TIMING the
> > > Linear Equations Routines.
> >
> > > Running the command "xlintims < stime.in" gives no output.
> >
> > What is the return code of that command?  Try "echo $?" after running it.
>
> > > The Eigensystem Routines are working fine though.
>
> The return code is 128

Well, then, "make" behaves as expected -- if the command returns a
non-zero return code, it's an error as far as "make" is concerned.  Is
returning 128 the expected behavior for "xlintims"?  If so, the Makefile
is buggy -- it should ignore the return code.  If not, then you have to
debug "xlintims" -- figure out *why* it returns 128.

FWIW, here's something of interest (from
<http://scv.bu.edu/SCV/FAQ/batchcode.txt>, heavily snipped):

	When a program finishes executing it returns an exit code to the
	system. The batch system reports this exit code. There are three
	general ways for the exit code of a program to be set.

	1) The program can explicitly call exit() (or return from main(),
	   which eventually calls exit()). In this case the exit code is
	   the argument to exit() and its meaning depends on the program.
	   The call to exit() may actually occur in a library routine that
	   your program uses. The only known example of this is the FORTRAN
	   io library. The FORTRAN io routines set an exit code in the range
	   100 - 185 when an error occurs. The specific meaning of these codes
	   can be found in the appendix to the Fortran 77 Programmer's Guide
	   (available online as an insight book).
	2) The program executes the last instruction in main(), (not
	   calling exit() or return).  In this case the system sets the
	   exit code to 0.
	3) The program can terminate due to the receipt of a signal. In
	   this case the system sets the exit code to 128 + <signal number>.
	   [snip]

Here case 1 probably applies, since there's no signal 0.  However,
<http://www.ac3.edu.au/SGI_Developer/books/F77_PG/sgi_html/apa.html#id63629>,
which is one place that lists the error codes, doesn't have an entry for
128.  You're going to have to debug this yourself...

BTW, one other interesting thing I found, when Googling for "LAPACK
xlintimes 128 stime.in", is a .ps file titled "LAPACK Working Note 41
Installation Guide for LAPACK" (second and fourth matches).  The bits of
interest are quoted below:

	Small data sets are indicated by lower case names, such as
	stime.in, and large data sets are indicated by upper case names,
	such as STIME.in.
	...
	The small data sets for the REAL version are stime.in, sband.in,
	and stime2.in, respectively, and the large data sets are STIME.in,
	SBAND.in, and STIME2.in.

This will *not* work properly on Windows, and won't on Cygwin either
unless you use a managed mount.
HTH,
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"Happiness lies in being privileged to work hard for long hours in doing
whatever you think is worth doing."  -- Dr. Jubal Harshaw

--
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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]