On 07/10/10 02:32 PM, Sergey Bochkanov wrote:
Hello, David!

Thanks for your reply, it was very useful.

You wrote 10 июля 2010 г., 1:47:31:

1)  It  does  not work on Solaris 10 on SPARC - see below. I suspect
there  are  some GNU-specific linker options, which will fail if the
Sun linker is used on Solaris 10.

Looks like it is actually the case.


Ideally you would have a test to see if gcc is using the Sun or GNU linkers. We have actually just checked what's the first linker in the path, but it is far from optimal. If its possible to use compiler options, rather than linker options, then that's less hassle. Most packages do not call the linker directly, but a few do. (Or course, calling via the -Wl,-foobar) option passes the option foobar directly to the linker.

However  ALGLIB,  is  not respecting the SAGE64 variable, so despite
SAGE64  being set to "yes", only a 32-bit binary was made. (This was
on  a  Sun  Ultra  27,  with  a  Xeon  processor running OpenSolaris
06/2009.)

OK,  will  fix  it.  But  I've  though that you just add corresponding
options to CFLAGS automatically.

No. In fact, setting some quite reasonable CFLAGS and CXXFLAGS will break the Sage build - Cython does not like them. It should all be handled from spkg-install via the SAGE64 environment variable. We have also started using the variable CFLAG64 (see in GPLK for an example), so the compiler flag for 64-bit does not have to be -m64, but can be whatever the user wants. This is helpful, as some compilers on operating systems like HP-UX and AIX do not use -m64. That said, there are currently no ports to AIX or HP-UX, though there's been a bit of work on it. I've done a bit on porting to HP-UX, but my main aim it to get an OpenSolaris build, and a 64-bit SPARC build. (At the minute, Sage does not build 64-bit on SPARC, but it should not be too much effort to get that to work. It is one of my fairly short term aims).

Note also, Sage usually puts shared libraries in $SAGE_LOCAL/lib and
does not create directories like "alblib-bin" off of $SAGE_LOCAL.

OK,  will  fix  it  too.  Now I see that separate directory is in fact
unnecessary.

An odd few programs do create subdirectories, but they do it off of $SAGE_LOCAL/lib or $SAGE_LOCAL/include.

I  was impressed you had put the spkg-check file. As you can see, it
does  pass  all  tests.  On my Sun Ultra 27, it takes 8.2 seconds to
install, and 2 minutes and 1 second to both install and run the test
suite.

Good.

Is  it  OK  for  SAGE to have spkg which takes 2 minutes to test? Just
don't  know  what  are  the  timing  requirements.  You  have a lot of
packages, and testing ALL of them will take a lot of time.

Sure in spkg-check. That is not an issue. But not in spkg-install.

I personally think some of the self-tests should be run from spkg-install, if they are very quick. Some take only a couple of seconds. But the current 'rule' is they are not run. An exception is 'mpir' since that tends to find a lot of compiler bugs.

I  think  it  would  be  better if the test suite gave some feedback
after each test, rather than just at the end.

Actually,  it  prints results line by line. I think that the reason is
lack  of  flush()  calls; it worked on Window and Linux, but different
systems  (and  even  different  distros)  may  have  different  output
buffering strategies. I'll to fix it.

Yes. quite possibly. William will give you access to a SPARC I am sure, which will aid testing.

Dave

--
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to